From d2d627359a036e404553587f808c743974f5a3cf Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Sun, 23 Feb 2020 20:48:07 +0100 Subject: [PATCH 1/9] script preseve libar see https://github.com/kalwalt/jsartoolkit5/issues/44 --- package.json | 1 + tools/makem.js | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7ea9824b..54f72962 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ }, "scripts": { "build-local": "node tools/makem.js; echo Built at `date`", + "build-local-no-libar": "node tools/makem.js --no-libar; echo Built at `date`", "watch": "./node_modules/.bin/watch 'npm run build' ./js/", "create-doc": "grunt jsdoc", "test": "http-server -p 8085", diff --git a/tools/makem.js b/tools/makem.js index d8c72f34..cbb1811e 100644 --- a/tools/makem.js +++ b/tools/makem.js @@ -14,6 +14,17 @@ var const platform = os.platform(); +var NO_LIBAR = false; + +var arguments = process.argv; + +for (var j = 2; j < arguments.length; j++) { + if (arguments[j] == '--no-libar') { + NO_LIBAR = true; + console.log('Building jsartoolkit5 with --no-libar option, libar will be preserved.'); + }; +} + var HAVE_NFT = 1; var EMSCRIPTEN_ROOT = process.env.EMSCRIPTEN; @@ -196,8 +207,12 @@ function clean_builds() { try { var files = fs.readdirSync(OUTPUT_PATH); - if (files.length > 0) - for (var i = 0; i < files.length; i++) { + var filesLength = files.length; + if (filesLength > 0) + if (NO_LIBAR == true){ + filesLength -= 1; + } + for (var i = 0; i < filesLength; i++) { var filePath = OUTPUT_PATH + '/' + files[i]; if (fs.statSync(filePath).isFile()) fs.unlinkSync(filePath); @@ -284,5 +299,8 @@ addJob(compile_combine); addJob(compile_wasm); addJob(compile_combine_min); // addJob(compile_all); +if (NO_LIBAR == true){ + jobs.splice(1,1); +} runJob(); From 7e2d5afc20c1881f2490324a6b0bc84ad15590e8 Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Sun, 23 Feb 2020 21:20:06 +0100 Subject: [PATCH 2/9] cleaning the script --- tools/makem.js | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/tools/makem.js b/tools/makem.js index cbb1811e..ac17b6be 100644 --- a/tools/makem.js +++ b/tools/makem.js @@ -8,8 +8,8 @@ var exec = require('child_process').exec, path = require('path'), - fs = require('fs'), - os = require('os'), + fs = require('fs'), + os = require('os'), child; const platform = os.platform(); @@ -85,7 +85,7 @@ function matchAll(patterns, prefix="") { return r; } - ar_sources = matchAll([ + ar_sources = matchAll([ 'AR/arLabelingSub/*.c', 'AR/*.c', 'ARICP/*.c', @@ -177,10 +177,8 @@ FLAGS += ' --bind '; /* DEBUG FLAGS */ var DEBUG_FLAGS = ' -g '; -// DEBUG_FLAGS += ' -s ASSERTIONS=2 ' DEBUG_FLAGS += ' -s ASSERTIONS=1 ' DEBUG_FLAGS += ' --profiling ' -// DEBUG_FLAGS += ' -s EMTERPRETIFY_ADVISE=1 ' DEBUG_FLAGS += ' -s ALLOW_MEMORY_GROWTH=1'; DEBUG_FLAGS += ' -s DEMANGLE_SUPPORT=1 '; @@ -248,11 +246,6 @@ var compile_wasm = format(EMCC + ' ' + INCLUDES + ' ' + FLAGS + WASM_FLAGS + DEFINES + PRE_FLAGS + ' -o {OUTPUT_PATH}{BUILD_FILE} ', OUTPUT_PATH, OUTPUT_PATH, BUILD_WASM_FILE); -var compile_all = format(EMCC + ' ' + INCLUDES + ' ' - + ar_sources.join(' ') - + FLAGS + ' ' + DEFINES + ' -o {OUTPUT_PATH}{BUILD_FILE} ', - OUTPUT_PATH, BUILD_DEBUG_FILE); - /* * Run commands */ @@ -293,14 +286,12 @@ function addJob(job) { addJob(clean_builds); addJob(compile_arlib); -//addJob(compile_kpm); -// compile_kpm addJob(compile_combine); addJob(compile_wasm); addJob(compile_combine_min); -// addJob(compile_all); + if (NO_LIBAR == true){ - jobs.splice(1,1); + jobs.splice(1,1); } runJob(); From e1131e7214fea69cca69c3b8576c5c038fec8c7b Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Sun, 23 Feb 2020 21:32:44 +0100 Subject: [PATCH 3/9] improved docs and infos --- README.md | 13 +++++++------ package.json | 8 +++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 07b68468..4dcd8c27 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Emscripten port of [ARToolKit](https://github.com/artoolkitx/artoolkit5) to JavaScript. -## MArkers Types +## Markers Types JSARToolKit5 support these types of markers: - Square pictorial markers @@ -62,10 +62,11 @@ See examples/simple_image_wasm.html for details. 3. `npm install` 4. From inside jsartoolkit5 directory run `docker run -dit --name emscripten -v $(pwd):/src trzeci/emscripten-slim:latest bash` to download and start the container, in preparation for the build 5. `docker exec emscripten npm run build-local` to build JS version of artoolkit5 -6. `docker stop emscripten` to stop the container after the build, if needed -7. `docker rm emscripten` to remove the container -8. `docker rmi trzeci/emscripten-slim:latest` to remove the Docker image, if you don't need it anymore -9. The build artifacts will appear in `/build`. There's a build with debug symbols in `artoolkit.debug.js` file and the optimized build with bundled JS API in `artoolkit.min.js`; also, a WebAssembly build artoolkit_wasm.js and artoolkit_wasm.wasm +6. `docker exec emscripten npm run build-local-no-libar` to build JS version of artoolkit5 without rebuilding libar.bc +7. `docker stop emscripten` to stop the container after the build, if needed +8. `docker rm emscripten` to remove the container +9. `docker rmi trzeci/emscripten-slim:latest` to remove the Docker image, if you don't need it anymore +10. The build artifacts will appear in `/build`. There's a build with debug symbols in `artoolkit.debug.js` file and the optimized build with bundled JS API in `artoolkit.min.js`; also, a WebAssembly build artoolkit_wasm.js and artoolkit_wasm.wasm ### ⚠️ Not recommended ⚠️ : Build local with manual emscripten setup @@ -89,7 +90,7 @@ jsartoolkit5 aim is to create a Javascript version of artoolkit5. First, you nee 3. Run `npm install` 4. Run `npm run build-local` -During development, you can run ```npm run watch```, it will rebuild the library everytime you change ```./js/``` directory. +During development, you can run ```npm run watch```, it will rebuild the library everytime you change ```./js/``` directory. You can also run the script with the option ```npm run build-local-no-libar``` if you have already build libar.bc and you don't want to rebuild. 4. The built ASM.js files are in `/build`. There's a build with debug symbols in `artoolkit.debug.js` and the optimized build with bundled JS API in `artoolkit.min.js`. diff --git a/package.json b/package.json index 54f72962..bbe5ab9f 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,17 @@ { "name": "jsartoolkit", - "version": "0.0.0", + "version": "5.5.139", "main": "js/index", "typings": "js/index", "description": "Emscripten port of ARToolKit to JavaScript", "keywords": [ "ARToolKit", "AR", - "Augmented Reality" + "Augmented Reality", + "WebAR", + "JavaScript" ], - "author": "ARToolKit (https://github.com/artoolkit)", + "author": "ARToolKit (https://github.com/artoolkitx/artoolkit5)", "repository": "git://https://github.com/artoolkitx/jsartoolkit5.git", "homepage": "https://github.com/artoolkitx/jsartoolkit5", "contributors": [ From ff091f84f0634835e8b2d7813f30c5c99da078de Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Mon, 30 Mar 2020 12:25:09 +0200 Subject: [PATCH 4/9] tests in Project Structure --- README.md | 57 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 4dcd8c27..d8057250 100644 --- a/README.md +++ b/README.md @@ -5,17 +5,19 @@ Emscripten port of [ARToolKit](https://github.com/artoolkitx/artoolkit5) to Java ## Markers Types JSARToolKit5 support these types of markers: + - Square pictorial markers - Square barcode markers - Multi square markers set - NFT (natural feature tracking) markers ---- +-------------------------------------------------------------------------------- + **NOTE:** When writing JavaScript and making changes be aware that the emscripten uglifier does not support the ES6 syntax. ---- +-------------------------------------------------------------------------------- ## Project Structure @@ -24,31 +26,35 @@ When writing JavaScript and making changes be aware that the emscripten uglifier - `emscripten/` (source code for ARToolKit.js) - `examples/` (demos and examples using ARToolKit.js) - `js/` (compiled versions of ARToolKit.js with Three.js helper api) +- `tests/` (tests for compiled versions of ARToolKit.js) - `tools/` (build scripts for building ARToolKit.js) ## WebAssembly -JSARToolKit5 supports WebAssembly. The libary builds two WebAssembly artifacts during the build process. These are ```build/artoolkit_wasm.js``` and ```build/artoolkit_wasm.wasm```. To use those, include the artoolkit_wasm.js into your html page and define ```var artoolkit_wasm_url = '<>/artoolkit_wasm.wasm';``` before loading the artoolkit_wasm.js file, like this: +JSARToolKit5 supports WebAssembly. The libary builds two WebAssembly artifacts during the build process. These are `build/artoolkit_wasm.js` and `build/artoolkit_wasm.wasm`. To use those, include the artoolkit_wasm.js into your html page and define `var artoolkit_wasm_url = '<>/artoolkit_wasm.wasm';` before loading the artoolkit_wasm.js file, like this: -```js +```javascript ``` + As loading the WebAssembly artifact is done asynchronously, there is a callback that is called when everything is ready. -```js +```javascript window.addEventListener('artoolkit-loaded', () => { //do artoolkit stuff here }); ``` + See examples/simple_image_wasm.html for details. ## Clone the repository 1. Clone this repository 2. Clone ARToolKit5 project to get the latest source files. From within jsartoolkit5 directory do `git submodule update --init`. If you already cloned ARToolKit5 to a different directory you can: + - create a link in the `jsartoolkit5/emscripten/` directory that points to ARToolKit5 (`jsartoolkit5/emscripten/artoolkit5`) (Linux and macOS only) - or, set the `ARTOOLKIT5_ROOT` environment variable to point to your ARToolKit5 clone - or, change the `tools/makem.js` file to point to your artoolkit5 clone (line 20) @@ -70,33 +76,35 @@ See examples/simple_image_wasm.html for details. ### ⚠️ Not recommended ⚠️ : Build local with manual emscripten setup -To prevent issues with Emscripten setup and to not have to maintain several build environments (macOS, Windows, Linux) we only maintain the **Build using Docker**. Following are the instructions of the last know build on Linux which we verified are working. **Use at own risk.** -** Not working on macOS!** +To prevent issues with Emscripten setup and to not have to maintain several build environments (macOS, Windows, Linux) we only maintain the **Build using Docker**. Following are the instructions of the last know build on Linux which we verified are working. **Use at own risk.** **Not working on macOS!** 1. Install build tools - 1. Install node.js (https://nodejs.org/en/) - 2. Install python2 (https://www.python.org/downloads/) - 3. Install emscripten (https://emscripten.org/docs/getting_started/downloads.html#download-and-install) - We used emscripten version **1.39.5-fastcomp** ~~1.38.44-fastcomp~~ -jsartoolkit5 aim is to create a Javascript version of artoolkit5. First, you need the artoolkit5 repository on your machine: -2. Clone ARToolKit5 project to get the latest source files. From within jsartoolkit5 directory do `git submodule update --init`. If you already cloned ARToolKit5 to a different directory you can: + 1. Install node.js () + 2. Install python2 () + 3. Install emscripten () We used emscripten version **1.39.5-fastcomp** ~~1.38.44-fastcomp~~ + +jsartoolkit5 aim is to create a Javascript version of artoolkit5\. First, you need the artoolkit5 repository on your machine: + +1. Clone ARToolKit5 project to get the latest source files. From within jsartoolkit5 directory do `git submodule update --init`. If you already cloned ARToolKit5 to a different directory you can: + - create a link in the `jsartoolkit5/emscripten/` directory that points to ARToolKit5 (`jsartoolkit5/emscripten/artoolkit5`) - or, set the `ARTOOLKIT5_ROOT` environment variable to point to your ARToolKit5 clone - or, change the `tools/makem.js` file to point to your artoolkit5 clone (line 20) -3. Building +2. Building + 1. Make sure `EMSCRIPTEN` env variable is set (e.g. `EMSCRIPTEN=/usr/lib/emsdk_portable/emscripten/master/ node tools/makem.js` - 3. Run `npm install` - 4. Run `npm run build-local` + 2. Run `npm install` + 3. Run `npm run build-local` -During development, you can run ```npm run watch```, it will rebuild the library everytime you change ```./js/``` directory. You can also run the script with the option ```npm run build-local-no-libar``` if you have already build libar.bc and you don't want to rebuild. +During development, you can run `npm run watch`, it will rebuild the library everytime you change `./js/` directory. You can also run the script with the option `npm run build-local-no-libar` if you have already build libar.bc and you don't want to rebuild. -4. The built ASM.js files are in `/build`. There's a build with debug symbols in `artoolkit.debug.js` and the optimized build with bundled JS API in `artoolkit.min.js`. +1. The built ASM.js files are in `/build`. There's a build with debug symbols in `artoolkit.debug.js` and the optimized build with bundled JS API in `artoolkit.min.js`. ## ARToolKit JS API -```js +```javascript @@ -104,7 +112,7 @@ During development, you can run ```npm run watch```, it will rebuild the library ## ARToolKit JS debug build -```js +```javascript @@ -115,7 +123,7 @@ During development, you can run ```npm run watch```, it will rebuild the library ## ARToolKit Three.js helper API -```js +```javascript @@ -150,7 +158,7 @@ The basic operation goes like this: ### Basic example with an image source and a pattern marker ( hiro ) -```js +```javascript From 255f9277dd2342758484bf6029e329f7c516fcdd Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Mon, 30 Mar 2020 23:18:51 +0200 Subject: [PATCH 7/9] fix for other links --- examples/index.html | 4 ++-- examples/nft_improved_worker/main_threejs_wasm_worker.html | 2 +- examples/nft_improved_worker/main_threejs_worker.html | 2 +- examples/nft_improved_worker/threejs_worker_gltf.html | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/index.html b/examples/index.html index 0bd84662..beff372e 100644 --- a/examples/index.html +++ b/examples/index.html @@ -40,7 +40,7 @@

Three.js examples

Pattern marker tracking

Uses device camera. -

Use Hiro pattern and Kanji pattern +

Use Hiro pattern and Kanji pattern

@@ -51,7 +51,7 @@

Three.js examples

Use 3x3 marker id 5, 3x3 marker id 20, - Hiro pattern and Kanji pattern + Hiro pattern and Kanji pattern

diff --git a/examples/nft_improved_worker/main_threejs_wasm_worker.html b/examples/nft_improved_worker/main_threejs_wasm_worker.html index fa1fc820..ef5a18fa 100644 --- a/examples/nft_improved_worker/main_threejs_wasm_worker.html +++ b/examples/nft_improved_worker/main_threejs_wasm_worker.html @@ -52,7 +52,7 @@
🖼 Marker Image diff --git a/examples/nft_improved_worker/main_threejs_worker.html b/examples/nft_improved_worker/main_threejs_worker.html index eb025688..e32cf5ca 100644 --- a/examples/nft_improved_worker/main_threejs_worker.html +++ b/examples/nft_improved_worker/main_threejs_worker.html @@ -52,7 +52,7 @@ 🖼 Marker Image diff --git a/examples/nft_improved_worker/threejs_worker_gltf.html b/examples/nft_improved_worker/threejs_worker_gltf.html index 67ec4abc..b7298be0 100644 --- a/examples/nft_improved_worker/threejs_worker_gltf.html +++ b/examples/nft_improved_worker/threejs_worker_gltf.html @@ -44,7 +44,7 @@ From f291c8aa291d3040d1c5714eea1c71544f65f432 Mon Sep 17 00:00:00 2001 From: Walter Perdan Date: Tue, 7 Apr 2020 18:07:21 +0200 Subject: [PATCH 8/9] add -s ALLOW_MEMORY_GROWTH=1 --- build/artoolkit.debug.js | 674 +++++++++++++++++++------------------- build/artoolkit.min.js | 28 +- build/artoolkit_wasm.js | 2 +- build/artoolkit_wasm.wasm | Bin 547341 -> 547343 bytes tools/makem.js | 1 + 5 files changed, 353 insertions(+), 352 deletions(-) diff --git a/build/artoolkit.debug.js b/build/artoolkit.debug.js index c893dae8..b74e07d3 100644 --- a/build/artoolkit.debug.js +++ b/build/artoolkit.debug.js @@ -1579,7 +1579,7 @@ function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code, a0, a1, /* global initializers */ __ATINIT__.push({ func: function() { __GLOBAL__I_000101() } }, { func: function() { __GLOBAL__sub_I_ARToolKitJS_cpp() } }, { func: function() { ___emscripten_environ_constructor() } }, { func: function() { __GLOBAL__sub_I_bind_cpp() } }, { func: function() { __GLOBAL__sub_I_iostream_cpp() } }); -memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAByXQAAeV0AAIVdAACPXQAAnV0AAAAAAAAAAAAAAAAAAP//////////AAAAAAEAAAABAAAAAQAAAAAAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAABAAEBAQACBP//BQMBAAL/Bgf/AwECAgMCAwIDAwD/BAYHBf8BBAUEBAUFBAUHBgYGBwcHBv8CBAYHBQP/AAEBAQEBAQABAQEAAAEBAQEBAAEBAAEBAQABAQEBAAEBAAEBAQEAAQEBAAEBAAEBAQEBAAABAQEAAQEBAQEBAAD//wP/BQb//wkK/wz//w//ERL/FP//Fxj//xv/HR7//wEC/wT//wcI//8L/w0O/xD//xP/FRb//xka/xz//x8BAAAAAgAAAAQAAAAIAAAAEAAAAAUAAAAKAAAAFAAAAA0AAAAaAAAAEQAAAAcAAAAOAAAAHAAAAB0AAAAfAAAAGwAAABMAAAADAAAABgAAAAwAAAAYAAAAFQAAAA8AAAAeAAAAGQAAABcAAAALAAAAFgAAAAkAAAASAAAAAAAAAAEAAAACAAAABAAAAAgAAAADAAAABgAAAAwAAAALAAAABQAAAAoAAAAHAAAADgAAAA8AAAANAAAACQAAAAAAAAD/////AAAAAAEAAAASAAAAAgAAAAUAAAATAAAACwAAAAMAAAAdAAAABgAAABsAAAAUAAAACAAAAAwAAAAXAAAABAAAAAoAAAAeAAAAEQAAAAcAAAAWAAAAHAAAABoAAAAVAAAAGQAAAAkAAAAQAAAADQAAAA4AAAAYAAAADwAAAP////8AAAAAAQAAAAQAAAACAAAACAAAAAUAAAAKAAAAAwAAAA4AAAAJAAAABwAAAAYAAAANAAAACwAAAAwAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAwAAAAYAAAAMAAAAGAAAADAAAABgAAAAQwAAAAUAAAAKAAAAFAAAACgAAABQAAAAIwAAAEYAAAAPAAAAHgAAADwAAAB4AAAAcwAAAGUAAABJAAAAEQAAACIAAABEAAAACwAAABYAAAAsAAAAWAAAADMAAABmAAAATwAAAB0AAAA6AAAAdAAAAGsAAABVAAAAKQAAAFIAAAAnAAAATgAAAB8AAAA+AAAAfAAAAHsAAAB1AAAAaQAAAFEAAAAhAAAAQgAAAAcAAAAOAAAAHAAAADgAAABwAAAAYwAAAEUAAAAJAAAAEgAAACQAAABIAAAAEwAAACYAAABMAAAAGwAAADYAAABsAAAAWwAAADUAAABqAAAAVwAAAC0AAABaAAAANwAAAG4AAABfAAAAPQAAAHoAAAB3AAAAbQAAAFkAAAAxAAAAYgAAAEcAAAANAAAAGgAAADQAAABoAAAAUwAAACUAAABKAAAAFwAAAC4AAABcAAAAOwAAAHYAAABvAAAAXQAAADkAAAByAAAAZwAAAE0AAAAZAAAAMgAAAGQAAABLAAAAFQAAACoAAABUAAAAKwAAAFYAAAAvAAAAXgAAAD8AAAB+AAAAfwAAAH0AAAB5AAAAcQAAAGEAAABBAAAAAAAAAP////8AAAAAAQAAAAcAAAACAAAADgAAAAgAAAA4AAAAAwAAAD8AAAAPAAAAHwAAAAkAAABaAAAAOQAAABUAAAAEAAAAHAAAAEAAAABDAAAAEAAAAHAAAAAgAAAAYQAAAAoAAABsAAAAWwAAAEYAAAA6AAAAJgAAABYAAAAvAAAABQAAADYAAAAdAAAAEwAAAEEAAABfAAAARAAAAC0AAAARAAAAKwAAAHEAAABzAAAAIQAAAE0AAABiAAAAdQAAAAsAAABXAAAAbQAAACMAAABcAAAASgAAAEcAAABPAAAAOwAAAGgAAAAnAAAAZAAAABcAAABSAAAAMAAAAHcAAAAGAAAAfgAAADcAAAANAAAAHgAAAD4AAAAUAAAAWQAAAEIAAAAbAAAAYAAAAG8AAABFAAAAawAAAC4AAAAlAAAAEgAAADUAAAAsAAAAXgAAAHIAAAAqAAAAdAAAAEwAAAAiAAAAVgAAAE4AAABJAAAAYwAAAGcAAAB2AAAAUQAAAAwAAAB9AAAAWAAAAD0AAABuAAAAGgAAACQAAABqAAAAXQAAADQAAABLAAAAKQAAAEgAAABVAAAAUAAAAGYAAAA8AAAAfAAAAGkAAAAZAAAAKAAAADMAAABlAAAAVAAAABgAAAB7AAAAUwAAADIAAAAxAAAAegAAAHgAAAB5AAAABAAAAIgAAAAFAAAAkAAAAAYAAACYAAAACQAAALAAAAAfZAAAJWQAACpkAAAyZAAAAAAAALK+uT4S3KC+kL45PhLcoL6Qvjm+AAAAgLK+ub4S3KA+kL45vhLcoD6Qvjk+0nIYvwAAAADScpi+OgYEv9JymD46BgS/0nIYPwAAAIDScpg+OgYEP9JymL46BgQ/AAAAgFa4Pb9mTSQ/Vri9vmZNJD9WuL0+AAAAAFa4PT9mTSS/Vri9PmZNJL9WuL2+DOlYPwAAAIAM6dg+mdk7Pwzp2L6Z2Ts/DOlYvwAAAAAM6di+mdk7vwzp2D6Z2Tu/AAAAAPxTbj/xZU6/DVTuPvFlTr8NVO6+AAAAgPxTbr/xZU4/DVTuvvFlTj8NVO4+AACAvwAAAAAAAAC/0LNdvwAAAD/Qs12/AACAPwAAAIAAAAA/0LNdPwAAAL/Qs10/ADcAAAA3AAAANwAAADcAAL2zAADTswAA87MAABi0AAAytAAAUbQAAGa0AACDtAAArbQAAO20AAAMtQAAI7UAADm1AABNtQAAirUAALq1AADWtQAA+bUAADC2AABntgAAfrYAAJ62AADItgAAFbcAADC3AABbtwAAd7cAAJy3AADCtwAA57cAAPq3AAAPuAAAIrgAADW4AABauAAAb7gAAIO4AACkuAAAurgAAOm4AAARuQAAMrkAAFO5AACCuQAAk7kAAK+5AADtuQAAFLoAADu6AABPugAAfboAAKW6AADBugAA5roAAAi7AAAyuwAAXbsAAHu7AACpuwAA0bsAAPi7AAAjvAAAULwAAIC8AACqvAAA17wAAPq8AAAYvQAANr0AAGy9AACWvQAAtb0AANi9AAD/vQAAFL4AACi+AABdvgAAbb4AAKu+AADtvgAAF78AAEO/AABqvwAAhr8AALG/AADMvwAA4L8AAPe/AAAEwAAALMAAAGHAAACdwAAAy8AAAOzAAAATwQAALMEAAFTBAAB3wQAAj8EAALPBAADYwQAA3sEAABfCAABRwgAAcMIAAH/CAACcwgAAusIAANfCAADwwgAACcMAAEvDAACFwwAAu8MAAO/DAAADxAAAGsQAAEDEAABnxAAAqcQAAOXEAAAWxQAAOsUAAGjFAACDxQAAu8UAAObFAAAAAAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAAcAAAAOAAAAFQAAABwAAAAjAAAAKgAAADEAAAA4AAAAOQAAADIAAAArAAAAJAAAAB0AAAAWAAAADwAAABcAAAAeAAAAJQAAACwAAAAzAAAAOgAAADsAAAA0AAAALQAAACYAAAAfAAAAJwAAAC4AAAA1AAAAPAAAAD0AAAA2AAAALwAAADcAAAA+AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAAwAAAAKQAAACIAAAAbAAAAFAAAAA0AAAAGAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAMgAAACsAAAAkAAAAHQAAABYAAAAeAAAAJQAAACwAAAAzAAAANAAAAC0AAAAmAAAALgAAADUAAAA2AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAACkAAAAiAAAAGwAAABQAAAANAAAAFQAAABwAAAAjAAAAKgAAACsAAAAkAAAAHQAAACUAAAAsAAAALQAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAMAAAAEwAAABoAAAAhAAAAIgAAABsAAAAUAAAAHAAAACMAAAAkAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAZAAAAEgAAAAsAAAATAAAAGgAAABsAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAACgAAABEAAAASAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAAAkAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAgQEdWg4ChiUQAxQREgQLCBQF2AMXBtoBGQflABwIbwAeCTYAIQoaACMLDQAJDAYACg0DAAwNAQCPD39aJBAlPyYR8iwnEnwgKBO5FyoUghErFe8MLRahCS4XLwcwGFwFMRkGBDMaAwM0G0ACNhyxATgdRAE5HvUAOx+3ADwgigA+IWgAPyJOACAjOwAhCSwApSXhWkAmTEhBJw06QyjxLkQpHyZFKjMfRiuoGUgsGBVJLXcRSi50Dksv+wtNMPgJTjFhCE8yBgcwM80FMjTeBDI1DwQzNmMDNDfUAjU4XAI2OfgBNzqkATg7YAE5PCUBOj32ADs+ywA9P6sAPSCPAMFBEltQQgRNUUMsQVJE2DdTRegvVEY8KVZHeSNXSN8eV0mpGkhKThdISyQUSkycEUpNaw9LTlENTU+2C00wQArQUTJYWFIcTVlTjkNaVN07W1XuNFxWri5dV5opVkcWJdhZcFVfWqlMYFvZRGFcIj5jXSQ4Y160Ml1WFy7fYKhWZWFGT2Zi5UdnY89BaGQ9PGNdXjdpZjFSamcPTGtoOUZnY15B6WonVmxr51BtZ4VLbm2XVW9rT1DubxBacG0iVfBv61lxcR1aAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAQMVYn1NCSwBASTKjIqgRxVghe/xzYmjFWL9FCzB+GJ9T/HNBbVRin1OzQUEtEhdCS2JoVGJ+WEJLITu6KMMUAEDFWJ9TQksAQEkyoyKoEUkyv0WzQSE7STKCJzcb4A2jIgswQS26KKMiNxu/Eo4JqBF+GBIXwxSoEeANjgnfBAAAAAAAAPA/72FIsVAx9j/Kb02Rruf0P6oRbO9i0PI/AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAA3EMAAP1sAAAERAAAcXkAAIAzAAAAAAAABEQAAFx8AAA4NgAAAAAAAAREAAALhwAAUEEAAAAAAAAERAAAc5cAAFBBAAAAAAAABEQAAOeXAABQQQAAAAAAAHBEAADNrgAAAAAAAAEAAADwMwAAAAAAANxDAAAMrwAABQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAB2BwEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAA47wAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAABI8wAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3EMAAC3HAAAERAAAjccAAFA2AAAAAAAABEQAADrHAABgNgAAAAAAANxDAABbxwAABEQAAGjHAABANgAAAAAAAAREAADXxwAAODYAAAAAAAAERAAA58cAAHg2AAAAAAAABEQAAPjHAABQNgAAAAAAAAREAAAayAAAmDYAAAAAAAAERAAAXMgAAFA2AAAAAAAAVEQAAITIAABURAAAhsgAAFREAACIyAAAVEQAAIrIAABURAAAjMgAAFREAACOyAAAVEQAAJDIAABURAAAksgAAFREAACUyAAAVEQAADvnAABURAAAlsgAAFREAACYyAAAVEQAAJrIAAAERAAAnMgAAEA2AAAAAAAABEQAAKDJAABQNwAAAAAAANxDAADPyQAABEQAAHfKAABQNwAAAAAAAAREAAC6ygAAUDcAAAAAAAAERAAAB8sAAFA3AAAAAAAABEQAAE3LAABQNwAAAAAAAAREAAB9ywAAUDcAAAAAAAAERAAAu8sAAFA3AAAAAAAABEQAAOzLAABQNwAAAAAAAAREAAA3zAAAUDcAAAAAAAAERAAAcMwAAFA3AAAAAAAABEQAAKvMAABQNwAAAAAAAAREAADnzAAAUDcAAAAAAAAERAAAH80AAFA3AAAAAAAABEQAAE3NAABQNwAAAAAAAAREAACAzQAAUDcAAAAAAAAERAAAPM4AAFA3AAAAAAAABEQAAGnOAABQNwAAAAAAAAREAACazgAAUDcAAAAAAAAERAAA2M4AAFA3AAAAAAAABEQAAFDPAABQNwAAAAAAAAREAAAVzwAAUDcAAAAAAAAERAAAl88AAFA3AAAAAAAABEQAAODPAABQNwAAAAAAAAREAAA70AAAUDcAAAAAAAAERAAAZtAAAFA3AAAAAAAABEQAAKDQAABQNwAAAAAAAAREAADU0AAAUDcAAAAAAAAERAAAJNEAAFA3AAAAAAAABEQAAFPRAABQNwAAAAAAAAREAACM0QAAUDcAAAAAAAAERAAAxdEAAFA3AAAAAAAABEQAAOrTAABQNwAAAAAAAAREAAA41AAAUDcAAAAAAAAERAAAc9QAAFA3AAAAAAAABEQAAJ/UAABQNwAAAAAAAAREAADp1AAAUDcAAAAAAAAERAAAHtUAAFA3AAAAAAAABEQAAFHVAABQNwAAAAAAAAREAACI1QAAUDcAAAAAAAAERAAAvdUAAFA3AAAAAAAABEQAAFPWAABQNwAAAAAAAAREAACF1gAAUDcAAAAAAAAERAAAt9YAAFA3AAAAAAAABEQAAA/XAABQNwAAAAAAAAREAABX1wAAUDcAAAAAAAAERAAAj9cAAFA3AAAAAAAABEQAAN3XAABQNwAAAAAAAAREAAAc2AAAUDcAAAAAAAAERAAAX9gAAFA3AAAAAAAABEQAAJDYAABQNwAAAAAAAAREAADK2QAAUDcAAAAAAAAERAAACtoAAFA3AAAAAAAABEQAAD3aAABQNwAAAAAAAAREAAB32gAAUDcAAAAAAAAERAAAsNoAAFA3AAAAAAAABEQAAO3aAABQNwAAAAAAAAREAABj2wAAUDcAAAAAAAAERAAAj9sAAFA3AAAAAAAABEQAAMXbAABQNwAAAAAAAAREAAAZ3AAAUDcAAAAAAAAERAAAUdwAAFA3AAAAAAAABEQAAJTcAABQNwAAAAAAAAREAADF3AAAUDcAAAAAAAAERAAA9dwAAFA3AAAAAAAABEQAADDdAABQNwAAAAAAAAREAABy3QAAUDcAAAAAAAAERAAAYd4AAFA3AAAAAAAA3EMAAAniAADcQwAAKOIAANxDAABH4gAA3EMAAGbiAADcQwAAheIAANxDAACk4gAA3EMAAMPiAADcQwAA4uIAANxDAAAB4wAA3EMAACDjAADcQwAAP+MAANxDAABe4wAA3EMAAH3jAABwRAAAkOMAAAAAAAABAAAA8DMAAAAAAABwRAAAz+MAAAAAAAABAAAA8DMAAAAAAAAERAAAIOQAACA8AAAAAAAA3EMAAA7kAAAERAAASuQAACA8AAAAAAAA3EMAAHTkAADcQwAApeQAAHBEAADW5AAAAAAAAAEAAAAQPAAAA/T//3BEAAAF5QAAAAAAAAEAAAAoPAAAA/T//3BEAAA05QAAAAAAAAEAAAAQPAAAA/T//3BEAABj5QAAAAAAAAEAAAAoPAAAA/T//wREAACS5QAAQDwAAAAAAAAERAAAq+UAADg8AAAAAAAABEQAAOrlAABAPAAAAAAAAAREAAAC5gAAODwAAAAAAAAERAAAGuYAAPg8AAAAAAAABEQAAC7mAABIQQAAAAAAAAREAABE5gAA+DwAAAAAAABwRAAAXeYAAAAAAAACAAAA+DwAAAIAAAA4PQAAAAAAAHBEAACh5gAAAAAAAAEAAABQPQAAAAAAANxDAAC35gAAcEQAANDmAAAAAAAAAgAAAPg8AAACAAAAeD0AAAAAAABwRAAAFOcAAAAAAAABAAAAUD0AAAAAAABwRAAAPecAAAAAAAACAAAA+DwAAAIAAACwPQAAAAAAAHBEAACB5wAAAAAAAAEAAADIPQAAAAAAANxDAACX5wAAcEQAALDnAAAAAAAAAgAAAPg8AAACAAAA8D0AAAAAAABwRAAA9OcAAAAAAAABAAAAyD0AAAAAAABwRAAASukAAAAAAAADAAAA+DwAAAIAAAAwPgAAAgAAADg+AAAACAAA3EMAALHpAADcQwAAj+kAAHBEAADE6QAAAAAAAAMAAAD4PAAAAgAAADA+AAACAAAAaD4AAAAIAADcQwAACeoAAHBEAAAr6gAAAAAAAAIAAAD4PAAAAgAAAJA+AAAACAAA3EMAAHDqAABwRAAAheoAAAAAAAACAAAA+DwAAAIAAACQPgAAAAgAAHBEAADK6gAAAAAAAAIAAAD4PAAAAgAAANg+AAACAAAA3EMAAObqAABwRAAA++oAAAAAAAACAAAA+DwAAAIAAADYPgAAAgAAAHBEAAAX6wAAAAAAAAIAAAD4PAAAAgAAANg+AAACAAAAcEQAADPrAAAAAAAAAgAAAPg8AAACAAAA2D4AAAIAAABwRAAAXusAAAAAAAACAAAA+DwAAAIAAABgPwAAAAAAANxDAACk6wAAcEQAAMjrAAAAAAAAAgAAAPg8AAACAAAAiD8AAAAAAADcQwAADuwAAHBEAAAt7AAAAAAAAAIAAAD4PAAAAgAAALA/AAAAAAAA3EMAAHPsAABwRAAAjOwAAAAAAAACAAAA+DwAAAIAAADYPwAAAAAAANxDAADS7AAAcEQAAOvsAAAAAAAAAgAAAPg8AAACAAAAAEAAAAIAAADcQwAAAO0AAHBEAACX7QAAAAAAAAIAAAD4PAAAAgAAAABAAAACAAAABEQAABjtAAA4QAAAAAAAAHBEAAA77QAAAAAAAAIAAAD4PAAAAgAAAFhAAAACAAAA3EMAAF7tAAAERAAAde0AADhAAAAAAAAAcEQAAKztAAAAAAAAAgAAAPg8AAACAAAAWEAAAAIAAABwRAAAzu0AAAAAAAACAAAA+DwAAAIAAABYQAAAAgAAAHBEAADw7QAAAAAAAAIAAAD4PAAAAgAAAFhAAAACAAAABEQAABPuAAD4PAAAAAAAAHBEAAAp7gAAAAAAAAIAAAD4PAAAAgAAAABBAAACAAAA3EMAADvuAABwRAAAUO4AAAAAAAACAAAA+DwAAAIAAAAAQQAAAgAAAAREAABt7gAA+DwAAAAAAAAERAAAgu4AAPg8AAAAAAAA3EMAAJfuAABwRAAAsO4AAAAAAAABAAAASEEAAAAAAAABAAAAAAAAAIgzAAABAAAAAgAAAAAAAACAMwAAAwAAAAQAAAAAAAAAmDMAAAUAAAAGAAAAAQAAALlSjD6OWuc+uVKMPgAAAACoMwAABwAAAAgAAAAJAAAAAQAAAAoAAAAAAAAAuDMAAAcAAAALAAAADAAAAAIAAAANAAAAAAAAAMgzAAAHAAAADgAAAA8AAAADAAAAEAAAAP/////+/////f///8g2AAAANwAAIDcAAMg2AAAANwAAADcAACg3AAAANwAAyDYAAAA3AAAoNwAAADcAAMg2AAAANwAAADcAANgzAAAANwAAADcAAAA3AAAANwAAADcAANgzAAAANwAAADcAAAEAAAAAAAAAAgAAAEAGAACAPgAAAAAAAIgTAABAFgAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAiEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DMAAIg0AAAYNQAAGDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGwAAIB8AACAlAABfcIkA/wkvDwAAAABANgAAEQAAABIAAAATAAAAFAAAAAQAAAABAAAAAQAAAAEAAAAAAAAAaDYAABEAAAAVAAAAEwAAABQAAAAEAAAAAgAAAAIAAAACAAAAAAAAAHg2AAAWAAAAFwAAAAQAAAAAAAAAiDYAABYAAAAYAAAABAAAAAAAAAC4NgAAEQAAABkAAAATAAAAFAAAAAUAAAAAAAAAMDcAABEAAAAaAAAAEwAAABQAAAAEAAAAAwAAAAMAAAADAAAAAAAAAEA3AAAEAAAABQAAAAYAAAAHAAAAAQAAAAIAAAADAAAAGwAAABwAAAAAAAAAUDcAAAQAAAAFAAAABgAAAAcAAAABAAAAAgAAAAMAAAAbAAAAHQAAAAAAAABYNwAABAAAAAUAAAAGAAAABwAAAAQAAAACAAAABQAAABsAAAAeAAAAAAAAAGg3AAAEAAAABQAAAAYAAAAHAAAABgAAAAIAAAADAAAAGwAAAB8AAAAAAAAAeDcAAAgAAAAFAAAABgAAAAcAAAAHAAAACAAAAAMAAAAbAAAAIAAAAAAAAACINwAACQAAAAUAAAAGAAAABwAAAAkAAAAKAAAAAwAAABsAAAAhAAAAAAAAAJg3AAAEAAAABQAAAAYAAAAHAAAACwAAAAIAAAAMAAAAGwAAACIAAAAAAAAAqDcAAAQAAAAFAAAABgAAAAcAAAANAAAAAgAAAAMAAAAbAAAAIwAAAAAAAAC4NwAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAABsAAAAkAAAAAAAAAMg3AAAEAAAABQAAAAYAAAAHAAAAEAAAAAIAAAADAAAAGwAAACUAAAAAAAAA2DcAAAQAAAAFAAAABgAAAAcAAAARAAAAAgAAAAMAAAAbAAAAJgAAAAAAAADoNwAABAAAAAUAAAAGAAAABwAAABIAAAACAAAAAwAAABsAAAAnAAAAAAAAAPg3AAAEAAAABQAAAAYAAAAHAAAAEwAAAAIAAAADAAAAGwAAACgAAAAAAAAACDgAAAQAAAAFAAAABgAAAAcAAAAUAAAAAgAAAAMAAAAbAAAAKQAAAAAAAAAYOAAABAAAAAUAAAAGAAAABwAAABUAAAACAAAAAwAAABsAAAAqAAAAAAAAACg4AAAEAAAABQAAAAYAAAAHAAAAFgAAAAIAAAADAAAAGwAAACsAAAAAAAAAODgAAAQAAAAFAAAABgAAAAcAAAAXAAAAAgAAAAMAAAAbAAAALAAAAAAAAABIOAAABAAAAAUAAAAGAAAABwAAABgAAAACAAAAAwAAABsAAAAtAAAAAAAAAFg4AAAEAAAABQAAAAYAAAAHAAAAGQAAAAIAAAADAAAAGwAAAC4AAAAAAAAAaDgAAAQAAAAFAAAABgAAAAcAAAAaAAAAAgAAAAMAAAAbAAAALwAAAAAAAAB4OAAABAAAAAUAAAAGAAAABwAAABsAAAACAAAAAwAAABsAAAAwAAAAAAAAAIg4AAAEAAAABQAAAAYAAAAHAAAAHAAAAAIAAAADAAAAGwAAADEAAAAAAAAAmDgAAAQAAAAFAAAABgAAAAcAAAAdAAAAAgAAAAMAAAAbAAAAMgAAAAAAAACoOAAABAAAAAUAAAAGAAAABwAAAB4AAAACAAAAAwAAABsAAAAzAAAAAAAAALg4AAAEAAAABQAAAAYAAAAHAAAAHwAAAAIAAAADAAAAGwAAADQAAAAAAAAAyDgAAAQAAAAFAAAABgAAAAcAAAAgAAAAAgAAAAMAAAAbAAAANQAAAAAAAADYOAAABAAAAAUAAAAGAAAABwAAACEAAAACAAAAAwAAABsAAAA2AAAAAAAAAOg4AAAEAAAABQAAAAYAAAAHAAAAIgAAAAIAAAADAAAAGwAAADcAAAAAAAAA+DgAAAQAAAAFAAAABgAAAAcAAAAjAAAAAgAAACQAAAAbAAAAOAAAAAAAAAAIOQAABAAAAAUAAAAGAAAABwAAACUAAAACAAAAAwAAABsAAAA5AAAAAAAAABg5AAAEAAAABQAAAAYAAAAHAAAAJgAAAAIAAAADAAAAGwAAADoAAAAAAAAAKDkAAAQAAAAFAAAABgAAAAcAAAAnAAAAAgAAACgAAAAbAAAAOwAAAAAAAAA4OQAABAAAAAUAAAAGAAAABwAAACkAAAACAAAAAwAAABsAAAA8AAAAAAAAAEg5AAAEAAAABQAAAAYAAAAHAAAAKgAAAAIAAAADAAAAGwAAAD0AAAAAAAAAWDkAAAQAAAAFAAAABgAAAAcAAAArAAAAAgAAAAMAAAAbAAAAPgAAAAAAAABoOQAABAAAAAUAAAAGAAAABwAAACwAAAACAAAALQAAABsAAAA/AAAAAAAAAHg5AAAEAAAABQAAAAYAAAAHAAAALgAAAAIAAAADAAAAGwAAAEAAAAAAAAAAiDkAAAQAAAAFAAAABgAAAAcAAAAvAAAAAgAAAAMAAAAbAAAAQQAAAAAAAACYOQAABAAAAAUAAAAGAAAABwAAADAAAAACAAAAAwAAABsAAABCAAAAAAAAAKg5AAAEAAAABQAAAAYAAAAHAAAAMQAAAAIAAAADAAAAGwAAAEMAAAAAAAAAuDkAAAQAAAAFAAAABgAAAAcAAAAyAAAAAgAAAAMAAAAbAAAARAAAAAAAAADIOQAABAAAAAUAAAAGAAAABwAAADMAAAACAAAAAwAAABsAAABFAAAAAAAAANg5AAAEAAAABQAAAAYAAAAHAAAANAAAAAIAAAADAAAAGwAAAEYAAAAAAAAA6DkAAA4AAAAPAAAAEAAAABEAAAA1AAAANgAAAAMAAAAbAAAARwAAAAAAAAD4OQAABAAAAAUAAAAGAAAABwAAADcAAAACAAAAAwAAABsAAABIAAAAAAAAAAg6AAAEAAAABQAAAAYAAAAHAAAAOAAAAAIAAAA5AAAAGwAAAEkAAAAAAAAAGDoAAAQAAAAFAAAABgAAAAcAAAA6AAAAAgAAAAMAAAAbAAAASgAAAAAAAAAoOgAABAAAAAUAAAAGAAAABwAAADsAAAACAAAAAwAAABsAAABLAAAAAAAAADg6AAAEAAAABQAAAAYAAAAHAAAAPAAAAAIAAAADAAAAGwAAAEwAAAAAAAAASDoAAAQAAAAFAAAABgAAAAcAAAA9AAAAAgAAAAMAAAAbAAAATQAAAAAAAABYOgAABAAAAAUAAAAGAAAABwAAAD4AAAACAAAAAwAAABsAAABOAAAAAAAAAGg6AAAEAAAABQAAAAYAAAAHAAAAPwAAAAIAAABAAAAAGwAAAE8AAAAAAAAAeDoAAAQAAAAFAAAABgAAAAcAAABBAAAAAgAAAEIAAAAbAAAAUAAAAAAAAACIOgAAEgAAAAUAAAAGAAAABwAAAEMAAABEAAAAAwAAABsAAABRAAAAAAAAAJg6AAATAAAAFAAAAAYAAAAHAAAARQAAAEYAAAADAAAAGwAAAFIAAAAAAAAAqDoAAAQAAAAFAAAABgAAAAcAAABHAAAAAgAAAAMAAAAbAAAAUwAAAAAAAAC4OgAABAAAAAUAAAAGAAAABwAAAEgAAAACAAAAAwAAABsAAABUAAAAAAAAAMg6AAAVAAAAFgAAABcAAAAHAAAASQAAAEoAAAADAAAAGwAAAFUAAAAAAAAA2DoAAAQAAAAFAAAABgAAAAcAAABLAAAAAgAAAAMAAAAbAAAAVgAAAAAAAADoOgAABAAAAAUAAAAGAAAABwAAAEwAAAACAAAAAwAAABsAAABXAAAAAAAAAPg6AAAYAAAABQAAABkAAAAHAAAATQAAAE4AAAADAAAAGwAAAFgAAAAAAAAACDsAAAQAAAAFAAAABgAAAAcAAABPAAAAAgAAAAMAAAAbAAAAWQAAAAAAAAAYOwAABAAAAAUAAAAGAAAABwAAAFAAAAACAAAAAwAAABsAAABaAAAAAAAAACg7AAAEAAAABQAAAAYAAAAHAAAAUQAAAAIAAAADAAAAGwAAAFsAAAAAAAAAODsAAAQAAAAFAAAABgAAAAcAAABSAAAAAgAAAAMAAAAbAAAAXAAAAAAAAABIOwAAGgAAAAUAAAAbAAAABwAAAFMAAABUAAAAAwAAABsAAABdAAAAAAAAAFg7AAAEAAAABQAAAAYAAAAHAAAAVQAAAAIAAAADAAAAGwAAAF4AAAAAAAAAaDsAAAQAAAAFAAAABgAAAAcAAABWAAAAAgAAAAMAAAAbAAAAXwAAAAAAAAAgPAAAYAAAAGEAAAAAAAAAODwAAGIAAABjAAAAVwAAAAYAAAAEAAAABAAAAAUAAAAGAAAABwAAAAcAAAAIAAAAHAAAAAgAAAAdAAAAAAAAAEA8AABkAAAAZQAAAFgAAAAJAAAABQAAAAUAAAAJAAAACgAAAAoAAAALAAAADAAAAB4AAAALAAAAHwAAAAgAAAAAAAAASDwAAGYAAABnAAAA+P////j///9IPAAAaAAAAGkAAADcUAAA8FAAAAgAAAAAAAAAYDwAAGoAAABrAAAA+P////j///9gPAAAbAAAAG0AAAAMUQAAIFEAAAQAAAAAAAAAeDwAAG4AAABvAAAA/P////z///94PAAAcAAAAHEAAAA8UQAAUFEAAAQAAAAAAAAAkDwAAHIAAABzAAAA/P////z///+QPAAAdAAAAHUAAABsUQAAgFEAAAAAAACoPAAAZAAAAHYAAABZAAAACQAAAAUAAAAFAAAADQAAAAoAAAAKAAAACwAAAAwAAAAeAAAADAAAACAAAAAAAAAAuDwAAGIAAAB3AAAAWgAAAAYAAAAEAAAABAAAAA4AAAAGAAAABwAAAAcAAAAIAAAAHAAAAA0AAAAhAAAAAAAAAMg8AABkAAAAeAAAAFsAAAAJAAAABQAAAAUAAAAJAAAACgAAAAoAAAAPAAAAEAAAACIAAAALAAAAHwAAAAAAAADYPAAAYgAAAHkAAABcAAAABgAAAAQAAAAEAAAABQAAAAYAAAAHAAAAEQAAABIAAAAjAAAACAAAAB0AAAAAAAAA6DwAAHoAAAB7AAAAfAAAAAEAAAAGAAAADgAAAAAAAAAIPQAAfQAAAH4AAAB8AAAAAgAAAAcAAAAPAAAAAAAAABg9AAB/AAAAgAAAAHwAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAAAAABYPQAAgQAAAIIAAAB8AAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAAAAAAkD0AAIMAAACEAAAAfAAAAAMAAAAEAAAAFwAAAAUAAAAYAAAAAQAAAAIAAAAGAAAAAAAAANA9AACFAAAAhgAAAHwAAAAHAAAACAAAABkAAAAJAAAAGgAAAAMAAAAEAAAACgAAAAAAAAAIPgAAhwAAAIgAAAB8AAAAEwAAABsAAAAcAAAAHQAAAB4AAAAfAAAAAQAAAPj///8IPgAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAAAAAAABAPgAAiQAAAIoAAAB8AAAAGwAAACAAAAAhAAAAIgAAACMAAAAkAAAAAgAAAPj///9APgAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAAAAAACUAAABtAAAALwAAACUAAABkAAAALwAAACUAAAB5AAAAAAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABhAAAAIAAAACUAAABiAAAAIAAAACUAAABkAAAAIAAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABZAAAAAAAAAEEAAABNAAAAAAAAAFAAAABNAAAAAAAAAEoAAABhAAAAbgAAAHUAAABhAAAAcgAAAHkAAAAAAAAARgAAAGUAAABiAAAAcgAAAHUAAABhAAAAcgAAAHkAAAAAAAAATQAAAGEAAAByAAAAYwAAAGgAAAAAAAAAQQAAAHAAAAByAAAAaQAAAGwAAAAAAAAATQAAAGEAAAB5AAAAAAAAAEoAAAB1AAAAbgAAAGUAAAAAAAAASgAAAHUAAABsAAAAeQAAAAAAAABBAAAAdQAAAGcAAAB1AAAAcwAAAHQAAAAAAAAAUwAAAGUAAABwAAAAdAAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAE8AAABjAAAAdAAAAG8AAABiAAAAZQAAAHIAAAAAAAAATgAAAG8AAAB2AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAARAAAAGUAAABjAAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAASgAAAGEAAABuAAAAAAAAAEYAAABlAAAAYgAAAAAAAABNAAAAYQAAAHIAAAAAAAAAQQAAAHAAAAByAAAAAAAAAEoAAAB1AAAAbgAAAAAAAABKAAAAdQAAAGwAAAAAAAAAQQAAAHUAAABnAAAAAAAAAFMAAABlAAAAcAAAAAAAAABPAAAAYwAAAHQAAAAAAAAATgAAAG8AAAB2AAAAAAAAAEQAAABlAAAAYwAAAAAAAABTAAAAdQAAAG4AAABkAAAAYQAAAHkAAAAAAAAATQAAAG8AAABuAAAAZAAAAGEAAAB5AAAAAAAAAFQAAAB1AAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVwAAAGUAAABkAAAAbgAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFQAAABoAAAAdQAAAHIAAABzAAAAZAAAAGEAAAB5AAAAAAAAAEYAAAByAAAAaQAAAGQAAABhAAAAeQAAAAAAAABTAAAAYQAAAHQAAAB1AAAAcgAAAGQAAABhAAAAeQAAAAAAAABTAAAAdQAAAG4AAAAAAAAATQAAAG8AAABuAAAAAAAAAFQAAAB1AAAAZQAAAAAAAABXAAAAZQAAAGQAAAAAAAAAVAAAAGgAAAB1AAAAAAAAAEYAAAByAAAAaQAAAAAAAABTAAAAYQAAAHQAAAAAAAAAAAAAAHA+AACLAAAAjAAAAHwAAAABAAAAAAAAAJg+AACNAAAAjgAAAHwAAAACAAAAAAAAALg+AACPAAAAkAAAAHwAAAAjAAAAJAAAAF0AAABeAAAAXwAAAGAAAAAlAAAAYQAAAGIAAAAAAAAA4D4AAJEAAACSAAAAfAAAACYAAAAnAAAAYwAAAGQAAABlAAAAZgAAACgAAABnAAAAaAAAAAAAAAAAPwAAkwAAAJQAAAB8AAAAKQAAACoAAABpAAAAagAAAGsAAABsAAAAKwAAAG0AAABuAAAAAAAAACA/AACVAAAAlgAAAHwAAAAsAAAALQAAAG8AAABwAAAAcQAAAHIAAAAuAAAAcwAAAHQAAAAAAAAAQD8AAJcAAACYAAAAfAAAAAMAAAAEAAAAAAAAAGg/AACZAAAAmgAAAHwAAAAFAAAABgAAAAAAAACQPwAAmwAAAJwAAAB8AAAAAQAAACUAAAAAAAAAuD8AAJ0AAACeAAAAfAAAAAIAAAAmAAAAAAAAAOA/AACfAAAAoAAAAHwAAAAQAAAABgAAAHUAAAAAAAAACEAAAKEAAACiAAAAfAAAABEAAAAHAAAAdgAAAAAAAABgQAAAowAAAKQAAAB8AAAAAwAAAAQAAAALAAAALwAAADAAAAAMAAAAMQAAAAAAAAAoQAAAowAAAKUAAAB8AAAAAwAAAAQAAAALAAAALwAAADAAAAAMAAAAMQAAAAAAAACQQAAApgAAAKcAAAB8AAAABQAAAAYAAAANAAAAMgAAADMAAAAOAAAANAAAAAAAAADQQAAAqAAAAKkAAAB8AAAAAAAAAOBAAACqAAAAqwAAAHwAAAAkAAAAEgAAACUAAAATAAAAJgAAAAMAAAAUAAAADwAAAAAAAAAoQQAArAAAAK0AAAB8AAAANQAAADYAAAB3AAAAeAAAAHkAAAAAAAAAOEEAAK4AAACvAAAAfAAAADcAAAA4AAAAegAAAHsAAAB8AAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAdAAAAHIAAAB1AAAAZQAAAAAAAAAAAAAA+DwAAKMAAACwAAAAfAAAAAAAAAAIQQAAowAAALEAAAB8AAAAFQAAAAQAAAAFAAAABgAAACcAAAAWAAAAKAAAABcAAAApAAAABwAAABgAAAAQAAAAAAAAAHBAAACjAAAAsgAAAHwAAAAHAAAACAAAABEAAAA5AAAAOgAAABIAAAA7AAAAAAAAALBAAACjAAAAswAAAHwAAAAJAAAACgAAABMAAAA8AAAAPQAAABQAAAA+AAAAAAAAADhAAACjAAAAtAAAAHwAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAADg+AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAAGg+AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAARXJyb3I6IGxhYmVsaW5nIHdvcmsgb3ZlcmZsb3cuCgBVbmtub3duIG9yIHVuc3VwcG9ydGVkIGxhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHJlcXVlc3RlZC4gU2V0IHRvIG1hbnVhbC4KAExhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHNldCB0byAlcy4KAE1BTlVBTABBVVRPX01FRElBTgBBVVRPX09UU1UAQVVUT19BREFQVElWRQBBVVRPX0JSQUNLRVRJTkcARXJyb3I6IFVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdCAoJWQpIHJlcXVlc3RlZC4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBtYXJrZXIgY291bnRzIC1bJTNkOiAlM2RdIFslM2Q6ICUzZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5jcHAAUHlyYW1pZCBpcyBub3QgYWxsb2NhdGVkAE9jdGF2ZSBvdXQgb2YgcmFuZ2UAU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgbUltYWdlcy5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAExhcGxhY2lhbiBweXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBweXJhbWlkLT5udW1PY3RhdmVzKCkgPiAwYCBmYWlsZWQgaW4gAFB5cmFtaWQgZG9lcyBub3QgY29udGFpbiBhbnkgbGV2ZWxzAEFzc2VydGlvbiBgZHluYW1pY19jYXN0PGNvbnN0IEJpbm9taWFsUHlyYW1pZDMyZio+KHB5cmFtaWQpYCBmYWlsZWQgaW4gAE9ubHkgYmlub21pYWwgcHlyYW1pZCBpcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBkLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAT25seSBGMzIgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABPbmx5IHNpbmdsZSBjaGFubmVsIGltYWdlcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBpbTEuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIHdpZHRoAEFzc2VydGlvbiBgZC5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAASW1hZ2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBoZWlnaHQAQXNzZXJ0aW9uIGBpbTEud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltMS5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGByb3cgPCBtSGVpZ2h0YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuaAByb3cgb3V0IG9mIGJvdW5kcwBONnZpc2lvbjI1R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZEUARG9HIFB5cmFtaWQATm9uLW1heCBzdXBwcmVzc2lvbgBTdWJwaXhlbABwcnVuZUZlYXR1cmVzAEZpbmQgT3JpZW50YXRpb25zAEFzc2VydGlvbiBgbUJ1Y2tldHMuc2l6ZSgpID09IG1OdW1CdWNrZXRzWGAgZmFpbGVkIGluIABCdWNrZXRzIGFyZSBub3QgYWxsb2NhdGVkAEFzc2VydGlvbiBgbUJ1Y2tldHNbMF0uc2l6ZSgpID09IG1OdW1CdWNrZXRzWWAgZmFpbGVkIGluIABBc3NlcnRpb24gYG1GZWF0dXJlUG9pbnRzLnNpemUoKSA8PSBtTWF4TnVtRmVhdHVyZVBvaW50c2AgZmFpbGVkIGluIABUb28gbWFueSBmZWF0dXJlIHBvaW50cwBBc3NlcnRpb24gYGJ1Y2tldFswXS5maXJzdCA+PSBidWNrZXRbbl0uZmlyc3RgIGZhaWxlZCBpbiAAbnRoX2VsZW1lbnQgZmFpbGVkAEFzc2VydGlvbiBga3Auc2NhbGUgPCBtTGFwbGFjaWFuUHlyYW1pZC5udW1TY2FsZVBlck9jdGF2ZSgpYCBmYWlsZWQgaW4gAEZlYXR1cmUgcG9pbnQgc2NhbGUgaXMgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYGtwLnNjb3JlID09IGxhcDEuZ2V0PGZsb2F0Pih5KVt4XWAgZmFpbGVkIGluIABTY29yZSBpcyBub3QgY29uc2lzdGVudCB3aXRoIHRoZSBEb0cgaW1hZ2UAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KCkgPT0gbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2ludGVycG9sYXRlLmgAZmxvb3IoKSBhbmQgY2FzdCBub3QgdGhlIHNhbWUAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeSkgPT0gKGludCl5YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeXAgPj0gMCAmJiB5cCA8IGhlaWdodGAgZmFpbGVkIGluIAB5cCBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeXBfcGx1c18xID49IDAgJiYgeXBfcGx1c18xIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeHAgPj0gMCAmJiB4cCA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cF9wbHVzXzEgPj0gMCAmJiB4cF9wbHVzXzEgPCB3aWR0aGAgZmFpbGVkIGluIAB4cF9wbHVzXzEgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHcwID49IDAgJiYgdzAgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAE91dCBvZiByYW5nZQBBc3NlcnRpb24gYHcxID49IDAgJiYgdzEgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgdzIgPj0gMCAmJiB3MiA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MyA+PSAwICYmIHczIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh3MCt3MSt3Mit3MykgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGltLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgaW0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeF9kaXZfMi0wLjVmID49IDBgIGZhaWxlZCBpbiAAeF9kaXZfMiBvdXQgb2YgYm91bmRzIG91dCBvZiBib3VuZHMgZm9yIGludGVycG9sYXRpb24AQXNzZXJ0aW9uIGB5X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB5X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHhfZGl2XzIrMC41ZiA8IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHlfZGl2XzIrMC41ZiA8IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABIZWlnaHQgaXMgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTEuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDwgbUltYWdlcy5zaXplKClgIGZhaWxlZCBpbiAASW5kZXggaXMgb3V0IG9mIHJhbmdlAE42dmlzaW9uMThCaW5vbWlhbFB5cmFtaWQzMmZFAEFzc2VydGlvbiBgd2lkdGggPj0gNWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuY3BwAEltYWdlIGlzIHRvbyBzbWFsbABBc3NlcnRpb24gYGhlaWdodCA+PSA1YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW1hZ2UudHlwZSgpID09IElNQUdFX1VJTlQ4YCBmYWlsZWQgaW4gAEltYWdlIG11c3QgYmUgZ3JheXNjYWxlAEFzc2VydGlvbiBgaW1hZ2UuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEltYWdlIG11c3QgaGF2ZSAxIGNoYW5uZWwAQXNzZXJ0aW9uIGBtUHlyYW1pZC5zaXplKCkgPT0gbU51bU9jdGF2ZXMqbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABQeXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQgeWV0AEFzc2VydGlvbiBgaW1hZ2Uud2lkdGgoKSA9PSBtUHlyYW1pZFswXS53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlIG9mIHdyb25nIHNpemUgZm9yIHB5cmFtaWQAQXNzZXJ0aW9uIGBpbWFnZS5oZWlnaHQoKSA9PSBtUHlyYW1pZFswXS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGRzdC50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAERlc3RpbmF0aW9uIGltYWdlIHNob3VsZCBiZSBhIGZsb2F0AFVua25vd24gaW1hZ2UgdHlwZQBVbnN1cHBvcnRlZCBpbWFnZSB0eXBlAE42dmlzaW9uOUV4Y2VwdGlvbkUAQXNzZXJ0aW9uIGBpbS53aWR0aCgpID09IGltLnN0ZXAoKS9zaXplb2YoZmxvYXQpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5oAEhpc3RvZ3JhbSBwb2ludGVyIGlzIE5VTEwAQXNzZXJ0aW9uIGAoZmJpbiswLjVmKSA+IDAgJiYgKGZiaW4tMC41ZikgPCBudW1fYmluc2AgZmFpbGVkIGluIABEZWNpbWFsIGJpbiBwb3NpdGlvbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtYWduaXR1ZGUgPj0gMGAgZmFpbGVkIGluIABNYWduaXR1ZGUgY2Fubm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbnVtX2JpbnMgPj0gMGAgZmFpbGVkIGluIABOdW1iZXIgYmlucyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzEgPj0gMGAgZmFpbGVkIGluIAB3MSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzIgPj0gMGAgZmFpbGVkIGluIAB3MiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgYjEgPj0gMCAmJiBiMSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAGIxIGJpbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiMiA+PSAwICYmIGIyIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjIgYmluIGluZGV4IG91dCBvZiByYW5nZQBJRCBhbHJlYWR5IGV4aXN0cwBCdWlsZCBQeXJhbWlkAEV4dHJhY3QgRmVhdHVyZXMAQXNzZXJ0aW9uIGBhc3NpZ25tZW50LnNpemUoKSA9PSBudW1faW5kaWNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvYmluYXJ5X2hpZXJhcmNoaWNhbF9jbHVzdGVyaW5nLmgAQXNzaWdubWVudCBzaXplIHdyb25nAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSAhPSAtMWAgZmFpbGVkIGluIABBc3NpZ25tZW50IGlzIGludmFsaWQAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldIDwgbnVtX2luZGljZXNgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBpbmRpY2VzW2Fzc2lnbm1lbnRbaV1dIDwgbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaXQtPnNlY29uZC5zaXplKCkgIT0gMGAgZmFpbGVkIGluIABDbHVzdGVyIG11c3QgaGF2ZSBhdGxlYXNldCAxIGZlYXR1cmUAQXNzZXJ0aW9uIGBtSyA9PSBtQ2VudGVycy5zaXplKClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL3Zpc3VhbF9kYXRhYmFzZS5oAEFzc2VydGlvbiBgZGV0ZWN0b3JgIGZhaWxlZCBpbiAARGV0ZWN0b3IgaXMgTlVMTABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBpcyBlbXB0eQBBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLndpZHRoKCkgPT0gZGV0ZWN0b3ItPndpZHRoKClgIGZhaWxlZCBpbiAAUHlyYW1pZCBhbmQgZGV0ZWN0b3Igc2l6ZSBtaXNtYXRjaABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLmhlaWdodCgpID09IGRldGVjdG9yLT5oZWlnaHQoKWAgZmFpbGVkIGluIABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONnZpc2lvbjhLZXlmcmFtZUlMaTk2RUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVMzX0VFTlNfOWFsbG9jYXRvcklTM19FRUVFAFslc10gWyVzXSBbJXNdIDogRm91bmQgJWQgZmVhdHVyZXMgaW4gcXVlcnkAYm9vbCB2aXNpb246OlZpc3VhbERhdGFiYXNlPHZpc2lvbjo6RlJFQUtFeHRyYWN0b3IsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCB2aXNpb246OkJpbmFyeUZlYXR1cmVNYXRjaGVyPDk2PiA+OjpxdWVyeShjb25zdCB2aXNpb246OkdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWQgKikgW0ZFQVRVUkVfRVhUUkFDVE9SID0gdmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgU1RPUkUgPSB2aXNpb246OkJpbmFyeUZlYXR1cmVTdG9yZSwgTUFUQ0hFUiA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+XQBGaW5kIE1hdGNoZXMgKDEpAEhvdWdoIFZvdGluZyAoMSkARmluZCBIb3VnaCBNYXRjaGVzICgxKQBFc3RpbWF0ZSBIb21vZ3JhcGh5ICgxKQBGaW5kIElubGllcnMgKDEpAEZpbmQgTWF0Y2hlcyAoMikASG91Z2ggVm90aW5nICgyKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDIpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDIpAEZpbmQgSW5saWVycyAoMikAQXNzZXJ0aW9uIGAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9mZWF0dXJlX21hdGNoZXItaW5saW5lLmgARmFpbGVkIHRvIGNvbXB1dGUgbWF0cml4IGludmVyc2UAQXNzZXJ0aW9uIGBiZXN0X2luZGV4ICE9IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KClgIGZhaWxlZCBpbiAAU29tZXRoaW5nIHN0cmFuZ2UAQXNzZXJ0aW9uIGBtTWF0Y2hlcy5zaXplKCkgPD0gZmVhdHVyZXMxLT5zaXplKClgIGZhaWxlZCBpbiAATnVtYmVyIG9mIG1hdGNoZXMgc2hvdWxkIGJlIGxvd2VyAEFzc2VydGlvbiBgaHlwLnNpemUoKSA+PSA5Km1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmgAeCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB4IDwgbU1heFhgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5ID49IG1NaW5ZYCBmYWlsZWQgaW4gAHkgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgeSA8IG1NYXhZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYW5nbGUgPiAtUElgIGZhaWxlZCBpbiAAYW5nbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYW5nbGUgPD0gUElgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBzY2FsZSA+PSBtTWluU2NhbGVgIGZhaWxlZCBpbiAAc2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgc2NhbGUgPCBtTWF4U2NhbGVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbmRleCA+PSAwYCBmYWlsZWQgaW4gAGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPj0gMGAgZmFpbGVkIGluIABiaW5YIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPCBtTnVtWEJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5ZID49IDBgIGZhaWxlZCBpbiAAYmluWSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5ZIDwgbU51bVlCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYmluQW5nbGUgPj0gMGAgZmFpbGVkIGluIABiaW5BbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5BbmdsZSA8IG1OdW1BbmdsZUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5TY2FsZSA+PSAwYCBmYWlsZWQgaW4gAGJpblNjYWxlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblNjYWxlIDwgbU51bVNjYWxlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDw9IChiaW5YICsgYmluWSptTnVtWEJpbnMgKyBiaW5BbmdsZSptTnVtWEJpbnMqbU51bVlCaW5zICsgYmluU2NhbGUqbU51bVhCaW5zKm1OdW1ZQmlucyptTnVtQW5nbGVCaW5zKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNpemUgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9ob3VnaF9zaW1pbGFyaXR5X3ZvdGluZy5jcHAAc2l6ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlV2lkdGggPiAwYCBmYWlsZWQgaW4gAHdpZHRoIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VIZWlnaHQgPiAwYCBmYWlsZWQgaW4gAGhlaWdodCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbiA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZyZWFrLmgAUHlyYW1pZCBpcyBOVUxMAEFzc2VydGlvbiBgc3RvcmUuc2l6ZSgpID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAARmVhdHVyZSBzdG9yZSBoYXMgbm90IGJlZW4gYWxsb2NhdGVkAEFzc2VydGlvbiBgbnVtX3BvaW50cyA9PSBwb2ludHMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSBzYW1lIHNpemUAQXNzZXJ0aW9uIGBvY3RhdmUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuaABPY3RhdmUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG9jdGF2ZSA8IG1OdW1PY3RhdmVzYCBmYWlsZWQgaW4gAE9jdGF2ZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygb2N0YXZlcwBBc3NlcnRpb24gYHNjYWxlID49IDBgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHNjYWxlIDwgbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygc2NhbGUgcGVyIG9jdGF2ZQAlbS0lZC0lWS0lSC0lTS0lUwBBc3NlcnRpb24gYHdpZHRoID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay90aW1lcnMuY3BwACBsaW5lIAA6IABDbG9jayBoYXMgbm90IGJlZW4gc3RhcnRlZABBc3NlcnRpb24gYG1TdG9wVGltZSA+PSAwYCBmYWlsZWQgaW4gAENsb2NrIGhhcyBub3QgYmVlbiBzdG9wcGVkAFslc10gWyVzXSBbJXNdIDogJXM6ICVmIG1zACBJTkZPICAAdmlzaW9uOjpTY29wZWRUaW1lcjo6flNjb3BlZFRpbWVyKCkAc2V0dXAAdGVhcmRvd24Ac2V0dXBBUjIAX2FkZE1hcmtlcgBfYWRkTXVsdGlNYXJrZXIAX2FkZE5GVE1hcmtlcgBnZXRNdWx0aU1hcmtlck51bQBnZXRNdWx0aU1hcmtlckNvdW50AF9sb2FkQ2FtZXJhAHNldE1hcmtlckluZm9EaXIAc2V0TWFya2VySW5mb1ZlcnRleABnZXRUcmFuc01hdFNxdWFyZQBnZXRUcmFuc01hdFNxdWFyZUNvbnQAZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZQBnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0AGRldGVjdE1hcmtlcgBnZXRNYXJrZXJOdW0AZGV0ZWN0TkZUTWFya2VyAGdldE11bHRpRWFjaE1hcmtlcgBnZXRNYXJrZXIAZ2V0TkZUTWFya2VyAHNldERlYnVnTW9kZQBnZXREZWJ1Z01vZGUAZ2V0UHJvY2Vzc2luZ0ltYWdlAHNldExvZ0xldmVsAGdldExvZ0xldmVsAHNldFByb2plY3Rpb25OZWFyUGxhbmUAZ2V0UHJvamVjdGlvbk5lYXJQbGFuZQBzZXRQcm9qZWN0aW9uRmFyUGxhbmUAZ2V0UHJvamVjdGlvbkZhclBsYW5lAHNldFRocmVzaG9sZE1vZGUAZ2V0VGhyZXNob2xkTW9kZQBzZXRUaHJlc2hvbGQAZ2V0VGhyZXNob2xkAHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAGdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAHNldFBhdHRSYXRpbwBnZXRQYXR0UmF0aW8Ac2V0TWF0cml4Q29kZVR5cGUAZ2V0TWF0cml4Q29kZVR5cGUAc2V0TGFiZWxpbmdNb2RlAGdldExhYmVsaW5nTW9kZQBzZXRJbWFnZVByb2NNb2RlAGdldEltYWdlUHJvY01vZGUARVJST1JfQVJDT05UUk9MTEVSX05PVF9GT1VORABFUlJPUl9NVUxUSU1BUktFUl9OT1RfRk9VTkQARVJST1JfTUFSS0VSX0lOREVYX09VVF9PRl9CT1VORFMAQVJfREVCVUdfRElTQUJMRQBBUl9ERUJVR19FTkFCTEUAQVJfREVGQVVMVF9ERUJVR19NT0RFAEFSX0xBQkVMSU5HX1dISVRFX1JFR0lPTgBBUl9MQUJFTElOR19CTEFDS19SRUdJT04AQVJfREVGQVVMVF9MQUJFTElOR19NT0RFAEFSX0RFRkFVTFRfTEFCRUxJTkdfVEhSRVNIAEFSX0lNQUdFX1BST0NfRlJBTUVfSU1BR0UAQVJfSU1BR0VfUFJPQ19GSUVMRF9JTUFHRQBBUl9ERUZBVUxUX0lNQUdFX1BST0NfTU9ERQBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUgBBUl9URU1QTEFURV9NQVRDSElOR19NT05PAEFSX01BVFJJWF9DT0RFX0RFVEVDVElPTgBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWABBUl9ERUZBVUxUX1BBVFRFUk5fREVURUNUSU9OX01PREUAQVJfVVNFX1RSQUNLSU5HX0hJU1RPUlkAQVJfTk9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWV9WMgBBUl9ERUZBVUxUX01BUktFUl9FWFRSQUNUSU9OX01PREUAQVJfTUFYX0xPT1BfQ09VTlQAQVJfTE9PUF9CUkVBS19USFJFU0gAQVJfTE9HX0xFVkVMX0RFQlVHAEFSX0xPR19MRVZFTF9JTkZPAEFSX0xPR19MRVZFTF9XQVJOAEFSX0xPR19MRVZFTF9FUlJPUgBBUl9MT0dfTEVWRUxfUkVMX0lORk8AQVJfTUFUUklYX0NPREVfM3gzAEFSX01BVFJJWF9DT0RFXzN4M19IQU1NSU5HNjMAQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1AEFSX01BVFJJWF9DT0RFXzR4NABBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMwBBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzVfNQBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19NRURJQU4AQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19PVFNVAEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fQURBUFRJVkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX05PTkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BBVFRFUk5fRVhUUkFDVElPTgBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfR0VORVJJQwBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQ09OVFJBU1QAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfTk9UX0ZPVU5EAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9CQVJDT0RFX0VEQ19GQUlMAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05GSURFTkNFAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SX01VTFRJAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9IRVVSSVNUSUNfVFJPVUJMRVNPTUVfTUFUUklYX0NPREVTAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUASW1hZ2UgcHJvYy4gbW9kZSBzZXQgdG8gJWQuCgBMYWJlbGluZyBtb2RlIHNldCB0byAlZAoAdmlpZgBQYXR0ZXJuIHJhdGlvIHNpemUgc2V0IHRvICVmLgoAUGF0dGVybiBkZXRlY3Rpb24gbW9kZSBzZXQgdG8gJWQuCgBUaHJlc2hvbGQgc2V0IHRvICVkCgB2aWlpAFRocmVzaG9sZCBtb2RlIHNldCB0byAlZAoAZGlpAHZpaWQAaWkAdmlpAG9uLgBvZmYuAERlYnVnIG1vZGUgc2V0IHRvICVzCgBUcmFja2luZyBsb3N0LiAlZAoAVHJhY2tlZCBwYWdlICVkIChtYXggJWQpLgoAeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJmb3VuZCJdID0gMTsgbWFya2VySW5mb1sicG9zZSJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzJdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzNdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzRdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzVdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzZdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzddID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzhdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzldID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzEwXSA9ICRhW2krK107IG1hcmtlckluZm9bInBvc2UiXVsxMV0gPSAkYVtpKytdOyB9AHsgdmFyICRhID0gYXJndW1lbnRzOyB2YXIgaSA9IDA7IGlmICghYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0gPSAoeyBpZDogMCwgZXJyb3I6IC0xLCBmb3VuZDogMCwgcG9zZTogWzAsMCwwLDAsIDAsMCwwLDAsIDAsMCwwLDBdIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImlkIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvciJdID0gLTE7IG1hcmtlckluZm9bImZvdW5kIl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gMDsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9IDA7IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMTI7IGlmICghYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0gPSAoeyBwb3M6IFswLDBdLCBsaW5lOiBbWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXV0sIHZlcnRleDogW1swLDBdLCBbMCwwXSwgWzAsMF0sIFswLDBdXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsibWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJhcmVhIl0gPSAkMDsgbWFya2VySW5mb1siaWQiXSA9ICQxOyBtYXJrZXJJbmZvWyJpZFBhdHQiXSA9ICQyOyBtYXJrZXJJbmZvWyJpZE1hdHJpeCJdID0gJDM7IG1hcmtlckluZm9bImRpciJdID0gJDQ7IG1hcmtlckluZm9bImRpclBhdHQiXSA9ICQ1OyBtYXJrZXJJbmZvWyJkaXJNYXRyaXgiXSA9ICQ2OyBtYXJrZXJJbmZvWyJjZiJdID0gJDc7IG1hcmtlckluZm9bImNmUGF0dCJdID0gJDg7IG1hcmtlckluZm9bImNmTWF0cml4Il0gPSAkOTsgbWFya2VySW5mb1sicG9zIl1bMF0gPSAkMTA7IG1hcmtlckluZm9bInBvcyJdWzFdID0gJDExOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3JDb3JyZWN0ZWQiXSA9ICRhW2krK107IH0AeyBpZiAoIWFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdID0gKHt9KTsgfSB2YXIgbXVsdGlFYWNoTWFya2VyID0gYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl07IG11bHRpRWFjaE1hcmtlclsndmlzaWJsZSddID0gJDA7IG11bHRpRWFjaE1hcmtlclsncGF0dElkJ10gPSAkMTsgbXVsdGlFYWNoTWFya2VyWydwYXR0VHlwZSddID0gJDI7IG11bHRpRWFjaE1hcmtlclsnd2lkdGgnXSA9ICQzOyB9AGlpaQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGxvYWRDYW1lcmEoKTogRXJyb3IgbG9hZGluZyBwYXJhbWV0ZXIgZmlsZSAlcyBmb3IgY2FtZXJhLgoAaWlpaQBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIE5GVCBtYXJrZXIuCgBSZWFkaW5nICVzLmZzZXQzCgBmc2V0MwBFcnJvciByZWFkaW5nIEtQTSBkYXRhIGZyb20gJXMuZnNldDMKACAgQXNzaWduZWQgcGFnZSBuby4gJWQuCgBFcnJvcjoga3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0CgBFcnJvcjoga3BtTWVyZ2VSZWZEYXRhU2V0CgAgIERvbmUuCgBSZWFkaW5nICVzLmZzZXQKAGZzZXQARXJyb3IgcmVhZGluZyBkYXRhIGZyb20gJXMuZnNldAoARXJyb3I6IGtwbVNldFJlZkRhdGFTZXQKAExvYWRpbmcgb2YgTkZUIGRhdGEgY29tcGxldGUuCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG11bHRpbWFya2VyLgoAY29uZmlnIGRhdGEgbG9hZCBlcnJvciAhIQoAQVJUb29sS2l0SlMoKTogVW5hYmxlIHRvIHNldCB1cCBBUiBtYXJrZXIuCgBsb2FkTWFya2VyKCk6IEVycm9yIGxvYWRpbmcgcGF0dGVybiBmaWxlICVzLgoARXJyb3I6IGFyMkNyZWF0ZUhhbmRsZS4KAGlpaWlpAHNldHVwKCk6IEVycm9yOiBhclBhdHRDcmVhdGVIYW5kbGUuCgBBbGxvY2F0ZWQgdmlkZW9GcmFtZVNpemUgJWQKAHsgaWYgKCFhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0pIHsgYXJ0b29sa2l0WyJmcmFtZU1hbGxvYyJdID0gKHt9KTsgfSB2YXIgZnJhbWVNYWxsb2MgPSBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl07IGZyYW1lTWFsbG9jWyJmcmFtZXBvaW50ZXIiXSA9ICQxOyBmcmFtZU1hbGxvY1siZnJhbWVzaXplIl0gPSAkMjsgZnJhbWVNYWxsb2NbImNhbWVyYSJdID0gJDM7IGZyYW1lTWFsbG9jWyJ0cmFuc2Zvcm0iXSA9ICQ0OyBmcmFtZU1hbGxvY1sidmlkZW9MdW1hUG9pbnRlciJdID0gJDU7IH0AKioqIENhbWVyYSBQYXJhbWV0ZXIgcmVzaXplZCBmcm9tICVkLCAlZC4gKioqCgBzZXRDYW1lcmEoKTogRXJyb3I6IGFyUGFyYW1MVENyZWF0ZS4KAHNldENhbWVyYSgpOiBFcnJvcjogYXJDcmVhdGVIYW5kbGUuCgBzZXRDYW1lcmEoKTogRXJyb3IgY3JlYXRpbmcgM0QgaGFuZGxlAE91dCBvZiBtZW1vcnkhIQoARXJyb3I6IG1hbGxvYwoAIyMjIEZlYXR1cmUgY2FuZGlkYXRlcyBmb3IgdHJhY2tpbmcgYXJlIG92ZXJmbG93LgoAQm9ndXMgbWVzc2FnZSBjb2RlICVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAEludmFsaWQgY3JvcCByZXF1ZXN0AERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UARENUIHNjYWxlZCBibG9jayBzaXplICVkeCVkIG5vdCBzdXBwb3J0ZWQAQ29tcG9uZW50IGluZGV4ICVkOiBtaXNtYXRjaGluZyBzYW1wbGluZyByYXRpbyAlZDolZCwgJWQ6JWQsICVjAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQXJpdGhtZXRpYyB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAEJhY2tpbmcgc3RvcmUgbm90IHN1cHBvcnRlZABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeABJbnN1ZmZpY2llbnQgbWVtb3J5IChjYXNlICVkKQBDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogJXMgYmVmb3JlIFNPRgBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0YgbWFya2VycwBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IG1pc3NpbmcgU09TIG1hcmtlcgBVbnN1cHBvcnRlZCBKUEVHIHByb2Nlc3M6IFNPRiB0eXBlIDB4JTAyeABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0kgbWFya2VycwBGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAFJlYWQgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFNlZWsgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFdyaXRlIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZSAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBmZXcgc2NhbmxpbmVzAFVuc3VwcG9ydGVkIG1hcmtlciB0eXBlIDB4JTAyeABWaXJ0dWFsIGFycmF5IGNvbnRyb2xsZXIgbWVzc2VkIHVwAEltYWdlIHRvbyB3aWRlIGZvciB0aGlzIGltcGxlbWVudGF0aW9uAFJlYWQgZnJvbSBYTVMgZmFpbGVkAFdyaXRlIHRvIFhNUyBmYWlsZWQAQ29weXJpZ2h0IChDKSAyMDE4LCBUaG9tYXMgRy4gTGFuZSwgR3VpZG8gVm9sbGJlZGluZwA5YyAgMTQtSmFuLTIwMTgAQ2F1dGlvbjogcXVhbnRpemF0aW9uIHRhYmxlcyBhcmUgdG9vIGNvYXJzZSBmb3IgYmFzZWxpbmUgSlBFRwBBZG9iZSBBUFAxNCBtYXJrZXI6IHZlcnNpb24gJWQsIGZsYWdzIDB4JTA0eCAweCUwNHgsIHRyYW5zZm9ybSAlZABVbmtub3duIEFQUDAgbWFya2VyIChub3QgSkZJRiksIGxlbmd0aCAldQBVbmtub3duIEFQUDE0IG1hcmtlciAobm90IEFkb2JlKSwgbGVuZ3RoICV1AERlZmluZSBBcml0aG1ldGljIFRhYmxlIDB4JTAyeDogMHglMDJ4AERlZmluZSBIdWZmbWFuIFRhYmxlIDB4JTAyeABEZWZpbmUgUXVhbnRpemF0aW9uIFRhYmxlICVkICBwcmVjaXNpb24gJWQARGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgJXUARnJlZWQgRU1TIGhhbmRsZSAldQBPYnRhaW5lZCBFTVMgaGFuZGxlICV1AEVuZCBPZiBJbWFnZQAgICAgICAgICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QASkZJRiBBUFAwIG1hcmtlcjogdmVyc2lvbiAlZC4lMDJkLCBkZW5zaXR5ICVkeCVkICAlZABXYXJuaW5nOiB0aHVtYm5haWwgaW1hZ2Ugc2l6ZSBkb2VzIG5vdCBtYXRjaCBkYXRhIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHR5cGUgMHglMDJ4LCBsZW5ndGggJXUAICAgIHdpdGggJWQgeCAlZCB0aHVtYm5haWwgaW1hZ2UATWlzY2VsbGFuZW91cyBtYXJrZXIgMHglMDJ4LCBsZW5ndGggJXUAVW5leHBlY3RlZCBtYXJrZXIgMHglMDJ4ACAgICAgICAgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dQBRdWFudGl6aW5nIHRvICVkID0gJWQqJWQqJWQgY29sb3JzAFF1YW50aXppbmcgdG8gJWQgY29sb3JzAFNlbGVjdGVkICVkIGNvbG9ycyBmb3IgcXVhbnRpemF0aW9uAEF0IG1hcmtlciAweCUwMngsIHJlY292ZXJ5IGFjdGlvbiAlZABSU1QlZABTbW9vdGhpbmcgbm90IHN1cHBvcnRlZCB3aXRoIG5vbnN0YW5kYXJkIHNhbXBsaW5nIHJhdGlvcwBTdGFydCBPZiBGcmFtZSAweCUwMng6IHdpZHRoPSV1LCBoZWlnaHQ9JXUsIGNvbXBvbmVudHM9JWQAICAgIENvbXBvbmVudCAlZDogJWRoeCVkdiBxPSVkAFN0YXJ0IG9mIEltYWdlAFN0YXJ0IE9mIFNjYW46ICVkIGNvbXBvbmVudHMAICAgIENvbXBvbmVudCAlZDogZGM9JWQgYWM9JWQAICBTcz0lZCwgU2U9JWQsIEFoPSVkLCBBbD0lZABDbG9zZWQgdGVtcG9yYXJ5IGZpbGUgJXMAT3BlbmVkIHRlbXBvcmFyeSBmaWxlICVzAEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogSlBFRy1jb21wcmVzc2VkIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogcGFsZXR0ZSB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IFJHQiB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBVbnJlY29nbml6ZWQgY29tcG9uZW50IElEcyAlZCAlZCAlZCwgYXNzdW1pbmcgWUNiQ3IARnJlZWQgWE1TIGhhbmRsZSAldQBPYnRhaW5lZCBYTVMgaGFuZGxlICV1AFVua25vd24gQWRvYmUgY29sb3IgdHJhbnNmb3JtIGNvZGUgJWQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBhcml0aG1ldGljIGNvZGUASW5jb25zaXN0ZW50IHByb2dyZXNzaW9uIHNlcXVlbmNlIGZvciBjb21wb25lbnQgJWQgY29lZmZpY2llbnQgJWQAQ29ycnVwdCBKUEVHIGRhdGE6ICV1IGV4dHJhbmVvdXMgYnl0ZXMgYmVmb3JlIG1hcmtlciAweCUwMngAQ29ycnVwdCBKUEVHIGRhdGE6IHByZW1hdHVyZSBlbmQgb2YgZGF0YSBzZWdtZW50AENvcnJ1cHQgSlBFRyBkYXRhOiBiYWQgSHVmZm1hbiBjb2RlAFdhcm5pbmc6IHVua25vd24gSkZJRiByZXZpc2lvbiBudW1iZXIgJWQuJTAyZABQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZmlsZQBDb3JydXB0IEpQRUcgZGF0YTogZm91bmQgbWFya2VyIDB4JTAyeCBpbnN0ZWFkIG9mIFJTVCVkAEludmFsaWQgU09TIHBhcmFtZXRlcnMgZm9yIHNlcXVlbnRpYWwgSlBFRwBBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gbWFueSBzY2FubGluZXMAU09TAExTRQBKUEVHTUVNACVsZCVjACVzCgAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAcndhAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQBfWgBfX19aAF9ibG9ja19pbnZva2UAaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gAGxvbmcgbG9uZwBfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABsb25nIGRvdWJsZQBfX2Zsb2F0MTI4AC4uLgBkZWNpbWFsNjQAZGVjaW1hbDEyOABkZWNpbWFsMzIAZGVjaW1hbDE2AGNoYXIzMl90AGNoYXIxNl90AGF1dG8AZGVjbHR5cGUoYXV0bykAc3RkOjpudWxscHRyX3QAW2FiaToAXQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEFiaVRhZ0F0dHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTROb2RlRQBhbGxvY2F0b3IAYmFzaWNfc3RyaW5nAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0Ac3RkOjphbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAIGltYWdpbmFyeQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFBvc3RmaXhRdWFsaWZpZWRUeXBlRQAgY29tcGxleAApACAAKAAmACYmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzUmVmZXJlbmNlVHlwZUUAb2JqY19vYmplY3QAKgBpZDwAPgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvaW50ZXJUeXBlRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQA8ACwgAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyVGVtcGxhdGVBcmdzRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAHdjaGFyX3QAYjBFAGIxRQB1AHVsAHVsbABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUludGVnZXJDYXN0RXhwckUAJUxhTABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZsb2F0TGl0ZXJhbEltcGxJZUVFACVhAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElkRUUAJWFmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElmRUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOEJvb2xFeHByRQAtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwVGVtcGxhdGVBcmd1bWVudFBhY2tFAGdzACY9AD0AYWxpZ25vZiAoACwAfgAuKgAvAC89AF4AXj0APT0APj0APD0APDwAPDw9AC09ACo9AC0tACE9ACEAfHwAfAB8PQAtPioAKwArPQArKwAtPgAlACU9AD4+AD4+PQBzaXplb2YgKAB0eXBlaWQgKAB0aHJvdwB0aHJvdyAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJJbml0TGlzdEV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzTm9kZUFycmF5Tm9kZUUAc2l6ZW9mLi4uICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNFbmNsb3NpbmdFeHByRQBzaXplb2YuLi4oAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIyUGFyYW1ldGVyUGFja0V4cGFuc2lvbkUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTlTaXplb2ZQYXJhbVBhY2tFeHByRQBzdGF0aWNfY2FzdAA+KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Q2FzdEV4cHJFAHJlaW50ZXJwcmV0X2Nhc3QAKSA/ICgAKSA6ICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVDb25kaXRpb25hbEV4cHJFAG5vZXhjZXB0ICgAbncAbmEAcGkAOjpvcGVyYXRvciAAbmV3AFtdAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTdOZXdFeHByRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvc3RmaXhFeHByRQAgLi4uIAAgPSAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVCcmFjZWRSYW5nZUV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQnJhY2VkRXhwckUAX0dMT0JBTF9fTgAoYW5vbnltb3VzIG5hbWVzcGFjZSkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOE5hbWVUeXBlRQApWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOEFycmF5U3Vic2NyaXB0RXhwckUALgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME1lbWJlckV4cHJFAHNyTgBzcgA6OgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFAGRuAG9uAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IvAG9wZXJhdG9yLz0Ab3BlcmF0b3JeAG9wZXJhdG9yXj0Ab3BlcmF0b3I9PQBvcGVyYXRvcj49AG9wZXJhdG9yPgBvcGVyYXRvcltdAG9wZXJhdG9yPD0Ab3BlcmF0b3I8PABvcGVyYXRvcjw8PQBvcGVyYXRvcjwAb3BlcmF0b3ItAG9wZXJhdG9yLT0Ab3BlcmF0b3IqPQBvcGVyYXRvci0tAG9wZXJhdG9yIG5ld1tdAG9wZXJhdG9yIT0Ab3BlcmF0b3IhAG9wZXJhdG9yIG5ldwBvcGVyYXRvcnx8AG9wZXJhdG9yfABvcGVyYXRvcnw9AG9wZXJhdG9yLT4qAG9wZXJhdG9yKwBvcGVyYXRvcis9AG9wZXJhdG9yKysAb3BlcmF0b3ItPgBvcGVyYXRvcj8Ab3BlcmF0b3IlAG9wZXJhdG9yJT0Ab3BlcmF0b3I+PgBvcGVyYXRvcj4+PQBvcGVyYXRvcjw9PgBvcGVyYXRvciIiIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMkNvbnZlcnNpb25PcGVyYXRvclR5cGVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThEdG9yTmFtZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQBkeW5hbWljX2Nhc3QAZGVsZXRlAFtdIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMERlbGV0ZUV4cHJFAGN2ACkoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0Q29udmVyc2lvbkV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThDYWxsRXhwckUAY29uc3RfY2FzdABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFByZWZpeEV4cHJFACkgACAoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQmluYXJ5RXhwckUAYWEAYW4AYU4AYVMAY20AZHMAZHYAZFYAZW8AZU8AZXEAZ2UAZ3QAbGUAbHMAbFMAbHQAbWkAbUkAbWwAbUwAbmUAb28Ab3IAb1IAcGwAcEwAcm0Ack0AcnMAclMALi4uIAAgLi4uAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThGb2xkRXhwckUAZnAAZkwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNGdW5jdGlvblBhcmFtRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyNEZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZUUAVHMAc3RydWN0AFR1AHVuaW9uAFRlAGVudW0ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJFbGFib3JhdGVkVHlwZVNwZWZUeXBlRQBTdEwAU3QAc3RkOjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZTdGRRdWFsaWZpZWROYW1lRQBEQwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAVXQAVWwAdkUAJ2xhbWJkYQAnKABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNsb3N1cmVUeXBlTmFtZUUAJ3VubmFtZWQAJwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNVVubmFtZWRUeXBlTmFtZUUAc3RyaW5nIGxpdGVyYWwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOUxvY2FsTmFtZUUAc3RkAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyQ3RvckR0b3JOYW1lRQBiYXNpY19pc3RyZWFtAGJhc2ljX29zdHJlYW0AYmFzaWNfaW9zdHJlYW0Ac3RkOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjphbGxvY2F0b3I8Y2hhcj4gPgBzdGQ6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4Ac3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjdFeHBhbmRlZFNwZWNpYWxTdWJzdGl0dXRpb25FAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTmVzdGVkTmFtZUUAOjoqAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5UG9pbnRlclRvTWVtYmVyVHlwZUUAWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5QXJyYXlUeXBlRQBEdgAgdmVjdG9yWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFZlY3RvclR5cGVFAHBpeGVsIHZlY3RvclsATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVQaXhlbFZlY3RvclR5cGVFAGRlY2x0eXBlKAB1bnNpZ25lZCBsb25nIGxvbmcAb2JqY3Byb3RvACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0AE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTdWZW5kb3JFeHRRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNPYmpDUHJvdG9OYW1lRQBEbwBub2V4Y2VwdABETwBEdwBEeABSRQBPRQAgJgAgJiYATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJGdW5jdGlvblR5cGVFAHRocm93KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMER5bmFtaWNFeGNlcHRpb25TcGVjRQBub2V4Y2VwdCgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExU3BlY2lhbE5hbWVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlEb3RTdWZmaXhFAFVhOWVuYWJsZV9pZkkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGdW5jdGlvbkVuY29kaW5nRQAgW2VuYWJsZV9pZjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJFbmFibGVJZkF0dHJFAHRocmVhZC1sb2NhbCB3cmFwcGVyIHJvdXRpbmUgZm9yIAByZWZlcmVuY2UgdGVtcG9yYXJ5IGZvciAAZ3VhcmQgdmFyaWFibGUgZm9yIABub24tdmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAdGhyZWFkLWxvY2FsIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgZm9yIABjb25zdHJ1Y3Rpb24gdnRhYmxlIGZvciAALWluLQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMUN0b3JWdGFibGVTcGVjaWFsTmFtZUUAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAdHlwZWluZm8gbmFtZSBmb3IgAHR5cGVpbmZvIGZvciAAVlRUIGZvciAAdnRhYmxlIGZvciAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF"; +memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAByXQAAeV0AAIVdAACPXQAAnV0AAAAAAAAAAAAAAAAAAP//////////AAAAAAEAAAABAAAAAQAAAAAAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAABAAEBAQACBP//BQMBAAL/Bgf/AwECAgMCAwIDAwD/BAYHBf8BBAUEBAUFBAUHBgYGBwcHBv8CBAYHBQP/AAEBAQEBAQABAQEAAAEBAQEBAAEBAAEBAQABAQEBAAEBAAEBAQEAAQEBAAEBAAEBAQEBAAABAQEAAQEBAQEBAAD//wP/BQb//wkK/wz//w//ERL/FP//Fxj//xv/HR7//wEC/wT//wcI//8L/w0O/xD//xP/FRb//xka/xz//x8BAAAAAgAAAAQAAAAIAAAAEAAAAAUAAAAKAAAAFAAAAA0AAAAaAAAAEQAAAAcAAAAOAAAAHAAAAB0AAAAfAAAAGwAAABMAAAADAAAABgAAAAwAAAAYAAAAFQAAAA8AAAAeAAAAGQAAABcAAAALAAAAFgAAAAkAAAASAAAAAAAAAAEAAAACAAAABAAAAAgAAAADAAAABgAAAAwAAAALAAAABQAAAAoAAAAHAAAADgAAAA8AAAANAAAACQAAAAAAAAD/////AAAAAAEAAAASAAAAAgAAAAUAAAATAAAACwAAAAMAAAAdAAAABgAAABsAAAAUAAAACAAAAAwAAAAXAAAABAAAAAoAAAAeAAAAEQAAAAcAAAAWAAAAHAAAABoAAAAVAAAAGQAAAAkAAAAQAAAADQAAAA4AAAAYAAAADwAAAP////8AAAAAAQAAAAQAAAACAAAACAAAAAUAAAAKAAAAAwAAAA4AAAAJAAAABwAAAAYAAAANAAAACwAAAAwAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAwAAAAYAAAAMAAAAGAAAADAAAABgAAAAQwAAAAUAAAAKAAAAFAAAACgAAABQAAAAIwAAAEYAAAAPAAAAHgAAADwAAAB4AAAAcwAAAGUAAABJAAAAEQAAACIAAABEAAAACwAAABYAAAAsAAAAWAAAADMAAABmAAAATwAAAB0AAAA6AAAAdAAAAGsAAABVAAAAKQAAAFIAAAAnAAAATgAAAB8AAAA+AAAAfAAAAHsAAAB1AAAAaQAAAFEAAAAhAAAAQgAAAAcAAAAOAAAAHAAAADgAAABwAAAAYwAAAEUAAAAJAAAAEgAAACQAAABIAAAAEwAAACYAAABMAAAAGwAAADYAAABsAAAAWwAAADUAAABqAAAAVwAAAC0AAABaAAAANwAAAG4AAABfAAAAPQAAAHoAAAB3AAAAbQAAAFkAAAAxAAAAYgAAAEcAAAANAAAAGgAAADQAAABoAAAAUwAAACUAAABKAAAAFwAAAC4AAABcAAAAOwAAAHYAAABvAAAAXQAAADkAAAByAAAAZwAAAE0AAAAZAAAAMgAAAGQAAABLAAAAFQAAACoAAABUAAAAKwAAAFYAAAAvAAAAXgAAAD8AAAB+AAAAfwAAAH0AAAB5AAAAcQAAAGEAAABBAAAAAAAAAP////8AAAAAAQAAAAcAAAACAAAADgAAAAgAAAA4AAAAAwAAAD8AAAAPAAAAHwAAAAkAAABaAAAAOQAAABUAAAAEAAAAHAAAAEAAAABDAAAAEAAAAHAAAAAgAAAAYQAAAAoAAABsAAAAWwAAAEYAAAA6AAAAJgAAABYAAAAvAAAABQAAADYAAAAdAAAAEwAAAEEAAABfAAAARAAAAC0AAAARAAAAKwAAAHEAAABzAAAAIQAAAE0AAABiAAAAdQAAAAsAAABXAAAAbQAAACMAAABcAAAASgAAAEcAAABPAAAAOwAAAGgAAAAnAAAAZAAAABcAAABSAAAAMAAAAHcAAAAGAAAAfgAAADcAAAANAAAAHgAAAD4AAAAUAAAAWQAAAEIAAAAbAAAAYAAAAG8AAABFAAAAawAAAC4AAAAlAAAAEgAAADUAAAAsAAAAXgAAAHIAAAAqAAAAdAAAAEwAAAAiAAAAVgAAAE4AAABJAAAAYwAAAGcAAAB2AAAAUQAAAAwAAAB9AAAAWAAAAD0AAABuAAAAGgAAACQAAABqAAAAXQAAADQAAABLAAAAKQAAAEgAAABVAAAAUAAAAGYAAAA8AAAAfAAAAGkAAAAZAAAAKAAAADMAAABlAAAAVAAAABgAAAB7AAAAUwAAADIAAAAxAAAAegAAAHgAAAB5AAAABAAAAIgAAAAFAAAAkAAAAAYAAACYAAAACQAAALAAAAAfZAAAJWQAACpkAAAyZAAAAAAAALK+uT4S3KC+kL45PhLcoL6Qvjm+AAAAgLK+ub4S3KA+kL45vhLcoD6Qvjk+0nIYvwAAAADScpi+OgYEv9JymD46BgS/0nIYPwAAAIDScpg+OgYEP9JymL46BgQ/AAAAgFa4Pb9mTSQ/Vri9vmZNJD9WuL0+AAAAAFa4PT9mTSS/Vri9PmZNJL9WuL2+DOlYPwAAAIAM6dg+mdk7Pwzp2L6Z2Ts/DOlYvwAAAAAM6di+mdk7vwzp2D6Z2Tu/AAAAAPxTbj/xZU6/DVTuPvFlTr8NVO6+AAAAgPxTbr/xZU4/DVTuvvFlTj8NVO4+AACAvwAAAAAAAAC/0LNdvwAAAD/Qs12/AACAPwAAAIAAAAA/0LNdPwAAAL/Qs10/ADcAAAA3AAAANwAAADcAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAADAAAAApAAAAIgAAABsAAAAUAAAADQAAAAYAAAAHAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAOAAAADkAAAAyAAAAKwAAACQAAAAdAAAAFgAAAA8AAAAXAAAAHgAAACUAAAAsAAAAMwAAADoAAAA7AAAANAAAAC0AAAAmAAAAHwAAACcAAAAuAAAANQAAADwAAAA9AAAANgAAAC8AAAA3AAAAPgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAA4AAAAVAAAAHAAAACMAAAAqAAAAMQAAADIAAAArAAAAJAAAAB0AAAAWAAAAHgAAACUAAAAsAAAAMwAAADQAAAAtAAAAJgAAAC4AAAA1AAAANgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAApAAAAIgAAABsAAAAUAAAADQAAABUAAAAcAAAAIwAAACoAAAArAAAAJAAAAB0AAAAlAAAALAAAAC0AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAADAAAABMAAAAaAAAAIQAAACIAAAAbAAAAFAAAABwAAAAjAAAAJAAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAGQAAABIAAAALAAAAEwAAABoAAAAbAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAoAAAARAAAAEgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAJAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAIEBHVoOAoYlEAMUERIECwgUBdgDFwbaARkH5QAcCG8AHgk2ACEKGgAjCw0ACQwGAAoNAwAMDQEAjw9/WiQQJT8mEfIsJxJ8ICgTuRcqFIIRKxXvDC0WoQkuFy8HMBhcBTEZBgQzGgMDNBtAAjYcsQE4HUQBOR71ADsftwA8IIoAPiFoAD8iTgAgIzsAIQksAKUl4VpAJkxIQScNOkMo8S5EKR8mRSozH0YrqBlILBgVSS13EUoudA5LL/sLTTD4CU4xYQhPMgYHMDPNBTI03gQyNQ8EMzZjAzQ31AI1OFwCNjn4ATc6pAE4O2ABOTwlATo99gA7PssAPT+rAD0gjwDBQRJbUEIETVFDLEFSRNg3U0XoL1RGPClWR3kjV0jfHldJqRpISk4XSEskFEpMnBFKTWsPS05RDU1PtgtNMEAK0FEyWFhSHE1ZU45DWlTdO1tV7jRcVq4uXVeaKVZHFiXYWXBVX1qpTGBb2URhXCI+Y10kOGNetDJdVhcu32CoVmVhRk9mYuVHZ2PPQWhkPTxjXV43aWYxUmpnD0xraDlGZ2NeQelqJ1Zsa+dQbWeFS25tl1Vva09Q7m8QWnBtIlXwb+tZcXEdWgAAAAAAAAAAvbMAANOzAADzswAAGLQAADK0AABRtAAAZrQAAIO0AACttAAA7bQAAAy1AAAjtQAAObUAAE21AACKtQAAurUAANa1AAD5tQAAMLYAAGe2AAB+tgAAnrYAAMi2AAAVtwAAMLcAAFu3AAB3twAAnLcAAMK3AADntwAA+rcAAA+4AAAiuAAANbgAAFq4AABvuAAAg7gAAKS4AAC6uAAA6bgAABG5AAAyuQAAU7kAAIK5AACTuQAAr7kAAO25AAAUugAAO7oAAE+6AAB9ugAApboAAMG6AADmugAACLsAADK7AABduwAAe7sAAKm7AADRuwAA+LsAACO8AABQvAAAgLwAAKq8AADXvAAA+rwAABi9AAA2vQAAbL0AAJa9AAC1vQAA2L0AAP+9AAAUvgAAKL4AAF2+AABtvgAAq74AAO2+AAAXvwAAQ78AAGq/AACGvwAAsb8AAMy/AADgvwAA978AAATAAAAswAAAYcAAAJ3AAADLwAAA7MAAABPBAAAswQAAVMEAAHfBAACPwQAAs8EAANjBAADewQAAF8IAAFHCAABwwgAAf8IAAJzCAAC6wgAA18IAAPDCAAAJwwAAS8MAAIXDAAC7wwAA78MAAAPEAAAaxAAAQMQAAGfEAACpxAAA5cQAABbFAAA6xQAAaMUAAIPFAAC7xQAA5sUAAAAAAAAAAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVVAEDFWJ9TQksAQEkyoyKoEcVYIXv8c2JoxVi/RQswfhifU/xzQW1UYp9Ts0FBLRIXQktiaFRiflhCSyE7uijDFABAxVifU0JLAEBJMqMiqBFJMr9Fs0EhO0kygic3G+ANoyILMEEtuiijIjcbvxKOCagRfhgSF8MUqBHgDY4J3wQAAAAAAADwP+9hSLFQMfY/ym9Nka7n9D+qEWzvYtDyPwAAAAAAAPA/O7+nwGkk6T+7IMd7elHhP12rct5VqNE/3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAA3EMAAP1sAAAERAAAcXkAAIAzAAAAAAAABEQAAFx8AAA4NgAAAAAAAAREAAALhwAAUEEAAAAAAAAERAAAc5cAAFBBAAAAAAAABEQAAOeXAABQQQAAAAAAAHBEAADNrgAAAAAAAAEAAADwMwAAAAAAANxDAAAMrwAABQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAB2BwEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAA47wAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAABI8wAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3EMAAC3HAAAERAAAjccAAFA2AAAAAAAABEQAADrHAABgNgAAAAAAANxDAABbxwAABEQAAGjHAABANgAAAAAAAAREAADXxwAAODYAAAAAAAAERAAA58cAAHg2AAAAAAAABEQAAPjHAABQNgAAAAAAAAREAAAayAAAmDYAAAAAAAAERAAAXMgAAFA2AAAAAAAAVEQAAITIAABURAAAhsgAAFREAACIyAAAVEQAAIrIAABURAAAjMgAAFREAACOyAAAVEQAAJDIAABURAAAksgAAFREAACUyAAAVEQAADvnAABURAAAlsgAAFREAACYyAAAVEQAAJrIAAAERAAAnMgAAEA2AAAAAAAABEQAAKDJAABQNwAAAAAAANxDAADPyQAABEQAAHfKAABQNwAAAAAAAAREAAC6ygAAUDcAAAAAAAAERAAAB8sAAFA3AAAAAAAABEQAAE3LAABQNwAAAAAAAAREAAB9ywAAUDcAAAAAAAAERAAAu8sAAFA3AAAAAAAABEQAAOzLAABQNwAAAAAAAAREAAA3zAAAUDcAAAAAAAAERAAAcMwAAFA3AAAAAAAABEQAAKvMAABQNwAAAAAAAAREAADnzAAAUDcAAAAAAAAERAAAH80AAFA3AAAAAAAABEQAAE3NAABQNwAAAAAAAAREAACAzQAAUDcAAAAAAAAERAAAPM4AAFA3AAAAAAAABEQAAGnOAABQNwAAAAAAAAREAACazgAAUDcAAAAAAAAERAAA2M4AAFA3AAAAAAAABEQAAFDPAABQNwAAAAAAAAREAAAVzwAAUDcAAAAAAAAERAAAl88AAFA3AAAAAAAABEQAAODPAABQNwAAAAAAAAREAAA70AAAUDcAAAAAAAAERAAAZtAAAFA3AAAAAAAABEQAAKDQAABQNwAAAAAAAAREAADU0AAAUDcAAAAAAAAERAAAJNEAAFA3AAAAAAAABEQAAFPRAABQNwAAAAAAAAREAACM0QAAUDcAAAAAAAAERAAAxdEAAFA3AAAAAAAABEQAAOrTAABQNwAAAAAAAAREAAA41AAAUDcAAAAAAAAERAAAc9QAAFA3AAAAAAAABEQAAJ/UAABQNwAAAAAAAAREAADp1AAAUDcAAAAAAAAERAAAHtUAAFA3AAAAAAAABEQAAFHVAABQNwAAAAAAAAREAACI1QAAUDcAAAAAAAAERAAAvdUAAFA3AAAAAAAABEQAAFPWAABQNwAAAAAAAAREAACF1gAAUDcAAAAAAAAERAAAt9YAAFA3AAAAAAAABEQAAA/XAABQNwAAAAAAAAREAABX1wAAUDcAAAAAAAAERAAAj9cAAFA3AAAAAAAABEQAAN3XAABQNwAAAAAAAAREAAAc2AAAUDcAAAAAAAAERAAAX9gAAFA3AAAAAAAABEQAAJDYAABQNwAAAAAAAAREAADK2QAAUDcAAAAAAAAERAAACtoAAFA3AAAAAAAABEQAAD3aAABQNwAAAAAAAAREAAB32gAAUDcAAAAAAAAERAAAsNoAAFA3AAAAAAAABEQAAO3aAABQNwAAAAAAAAREAABj2wAAUDcAAAAAAAAERAAAj9sAAFA3AAAAAAAABEQAAMXbAABQNwAAAAAAAAREAAAZ3AAAUDcAAAAAAAAERAAAUdwAAFA3AAAAAAAABEQAAJTcAABQNwAAAAAAAAREAADF3AAAUDcAAAAAAAAERAAA9dwAAFA3AAAAAAAABEQAADDdAABQNwAAAAAAAAREAABy3QAAUDcAAAAAAAAERAAAYd4AAFA3AAAAAAAA3EMAAAniAADcQwAAKOIAANxDAABH4gAA3EMAAGbiAADcQwAAheIAANxDAACk4gAA3EMAAMPiAADcQwAA4uIAANxDAAAB4wAA3EMAACDjAADcQwAAP+MAANxDAABe4wAA3EMAAH3jAABwRAAAkOMAAAAAAAABAAAA8DMAAAAAAABwRAAAz+MAAAAAAAABAAAA8DMAAAAAAAAERAAAIOQAACA8AAAAAAAA3EMAAA7kAAAERAAASuQAACA8AAAAAAAA3EMAAHTkAADcQwAApeQAAHBEAADW5AAAAAAAAAEAAAAQPAAAA/T//3BEAAAF5QAAAAAAAAEAAAAoPAAAA/T//3BEAAA05QAAAAAAAAEAAAAQPAAAA/T//3BEAABj5QAAAAAAAAEAAAAoPAAAA/T//wREAACS5QAAQDwAAAAAAAAERAAAq+UAADg8AAAAAAAABEQAAOrlAABAPAAAAAAAAAREAAAC5gAAODwAAAAAAAAERAAAGuYAAPg8AAAAAAAABEQAAC7mAABIQQAAAAAAAAREAABE5gAA+DwAAAAAAABwRAAAXeYAAAAAAAACAAAA+DwAAAIAAAA4PQAAAAAAAHBEAACh5gAAAAAAAAEAAABQPQAAAAAAANxDAAC35gAAcEQAANDmAAAAAAAAAgAAAPg8AAACAAAAeD0AAAAAAABwRAAAFOcAAAAAAAABAAAAUD0AAAAAAABwRAAAPecAAAAAAAACAAAA+DwAAAIAAACwPQAAAAAAAHBEAACB5wAAAAAAAAEAAADIPQAAAAAAANxDAACX5wAAcEQAALDnAAAAAAAAAgAAAPg8AAACAAAA8D0AAAAAAABwRAAA9OcAAAAAAAABAAAAyD0AAAAAAABwRAAASukAAAAAAAADAAAA+DwAAAIAAAAwPgAAAgAAADg+AAAACAAA3EMAALHpAADcQwAAj+kAAHBEAADE6QAAAAAAAAMAAAD4PAAAAgAAADA+AAACAAAAaD4AAAAIAADcQwAACeoAAHBEAAAr6gAAAAAAAAIAAAD4PAAAAgAAAJA+AAAACAAA3EMAAHDqAABwRAAAheoAAAAAAAACAAAA+DwAAAIAAACQPgAAAAgAAHBEAADK6gAAAAAAAAIAAAD4PAAAAgAAANg+AAACAAAA3EMAAObqAABwRAAA++oAAAAAAAACAAAA+DwAAAIAAADYPgAAAgAAAHBEAAAX6wAAAAAAAAIAAAD4PAAAAgAAANg+AAACAAAAcEQAADPrAAAAAAAAAgAAAPg8AAACAAAA2D4AAAIAAABwRAAAXusAAAAAAAACAAAA+DwAAAIAAABgPwAAAAAAANxDAACk6wAAcEQAAMjrAAAAAAAAAgAAAPg8AAACAAAAiD8AAAAAAADcQwAADuwAAHBEAAAt7AAAAAAAAAIAAAD4PAAAAgAAALA/AAAAAAAA3EMAAHPsAABwRAAAjOwAAAAAAAACAAAA+DwAAAIAAADYPwAAAAAAANxDAADS7AAAcEQAAOvsAAAAAAAAAgAAAPg8AAACAAAAAEAAAAIAAADcQwAAAO0AAHBEAACX7QAAAAAAAAIAAAD4PAAAAgAAAABAAAACAAAABEQAABjtAAA4QAAAAAAAAHBEAAA77QAAAAAAAAIAAAD4PAAAAgAAAFhAAAACAAAA3EMAAF7tAAAERAAAde0AADhAAAAAAAAAcEQAAKztAAAAAAAAAgAAAPg8AAACAAAAWEAAAAIAAABwRAAAzu0AAAAAAAACAAAA+DwAAAIAAABYQAAAAgAAAHBEAADw7QAAAAAAAAIAAAD4PAAAAgAAAFhAAAACAAAABEQAABPuAAD4PAAAAAAAAHBEAAAp7gAAAAAAAAIAAAD4PAAAAgAAAABBAAACAAAA3EMAADvuAABwRAAAUO4AAAAAAAACAAAA+DwAAAIAAAAAQQAAAgAAAAREAABt7gAA+DwAAAAAAAAERAAAgu4AAPg8AAAAAAAA3EMAAJfuAABwRAAAsO4AAAAAAAABAAAASEEAAAAAAAABAAAAAAAAAIgzAAABAAAAAgAAAAAAAACAMwAAAwAAAAQAAAAAAAAAmDMAAAUAAAAGAAAAAQAAALlSjD6OWuc+uVKMPgAAAACoMwAABwAAAAgAAAAJAAAAAQAAAAoAAAAAAAAAuDMAAAcAAAALAAAADAAAAAIAAAANAAAAAAAAAMgzAAAHAAAADgAAAA8AAAADAAAAEAAAAP/////+/////f///8g2AAAANwAAIDcAAMg2AAAANwAAADcAACg3AAAANwAAyDYAAAA3AAAoNwAAADcAAMg2AAAANwAAADcAANgzAAAANwAAADcAAAA3AAAANwAAADcAANgzAAAANwAAADcAAEAGAACAPgAAAAAAAIgTAAABAAAAAAAAAAIAAABAFgAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAiEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DMAAIg0AAAYNQAAGDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGwAAIB8AACAlAABfcIkA/wkvDwAAAABANgAAEQAAABIAAAATAAAAFAAAAAQAAAABAAAAAQAAAAEAAAAAAAAAaDYAABEAAAAVAAAAEwAAABQAAAAEAAAAAgAAAAIAAAACAAAAAAAAAHg2AAAWAAAAFwAAAAQAAAAAAAAAiDYAABYAAAAYAAAABAAAAAAAAAC4NgAAEQAAABkAAAATAAAAFAAAAAUAAAAAAAAAMDcAABEAAAAaAAAAEwAAABQAAAAEAAAAAwAAAAMAAAADAAAAAAAAAEA3AAAEAAAABQAAAAYAAAAHAAAAAQAAAAIAAAADAAAAGwAAABwAAAAAAAAAUDcAAAQAAAAFAAAABgAAAAcAAAABAAAAAgAAAAMAAAAbAAAAHQAAAAAAAABYNwAABAAAAAUAAAAGAAAABwAAAAQAAAACAAAABQAAABsAAAAeAAAAAAAAAGg3AAAEAAAABQAAAAYAAAAHAAAABgAAAAIAAAADAAAAGwAAAB8AAAAAAAAAeDcAAAgAAAAFAAAABgAAAAcAAAAHAAAACAAAAAMAAAAbAAAAIAAAAAAAAACINwAACQAAAAUAAAAGAAAABwAAAAkAAAAKAAAAAwAAABsAAAAhAAAAAAAAAJg3AAAEAAAABQAAAAYAAAAHAAAACwAAAAIAAAAMAAAAGwAAACIAAAAAAAAAqDcAAAQAAAAFAAAABgAAAAcAAAANAAAAAgAAAAMAAAAbAAAAIwAAAAAAAAC4NwAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAABsAAAAkAAAAAAAAAMg3AAAEAAAABQAAAAYAAAAHAAAAEAAAAAIAAAADAAAAGwAAACUAAAAAAAAA2DcAAAQAAAAFAAAABgAAAAcAAAARAAAAAgAAAAMAAAAbAAAAJgAAAAAAAADoNwAABAAAAAUAAAAGAAAABwAAABIAAAACAAAAAwAAABsAAAAnAAAAAAAAAPg3AAAEAAAABQAAAAYAAAAHAAAAEwAAAAIAAAADAAAAGwAAACgAAAAAAAAACDgAAAQAAAAFAAAABgAAAAcAAAAUAAAAAgAAAAMAAAAbAAAAKQAAAAAAAAAYOAAABAAAAAUAAAAGAAAABwAAABUAAAACAAAAAwAAABsAAAAqAAAAAAAAACg4AAAEAAAABQAAAAYAAAAHAAAAFgAAAAIAAAADAAAAGwAAACsAAAAAAAAAODgAAAQAAAAFAAAABgAAAAcAAAAXAAAAAgAAAAMAAAAbAAAALAAAAAAAAABIOAAABAAAAAUAAAAGAAAABwAAABgAAAACAAAAAwAAABsAAAAtAAAAAAAAAFg4AAAEAAAABQAAAAYAAAAHAAAAGQAAAAIAAAADAAAAGwAAAC4AAAAAAAAAaDgAAAQAAAAFAAAABgAAAAcAAAAaAAAAAgAAAAMAAAAbAAAALwAAAAAAAAB4OAAABAAAAAUAAAAGAAAABwAAABsAAAACAAAAAwAAABsAAAAwAAAAAAAAAIg4AAAEAAAABQAAAAYAAAAHAAAAHAAAAAIAAAADAAAAGwAAADEAAAAAAAAAmDgAAAQAAAAFAAAABgAAAAcAAAAdAAAAAgAAAAMAAAAbAAAAMgAAAAAAAACoOAAABAAAAAUAAAAGAAAABwAAAB4AAAACAAAAAwAAABsAAAAzAAAAAAAAALg4AAAEAAAABQAAAAYAAAAHAAAAHwAAAAIAAAADAAAAGwAAADQAAAAAAAAAyDgAAAQAAAAFAAAABgAAAAcAAAAgAAAAAgAAAAMAAAAbAAAANQAAAAAAAADYOAAABAAAAAUAAAAGAAAABwAAACEAAAACAAAAAwAAABsAAAA2AAAAAAAAAOg4AAAEAAAABQAAAAYAAAAHAAAAIgAAAAIAAAADAAAAGwAAADcAAAAAAAAA+DgAAAQAAAAFAAAABgAAAAcAAAAjAAAAAgAAACQAAAAbAAAAOAAAAAAAAAAIOQAABAAAAAUAAAAGAAAABwAAACUAAAACAAAAAwAAABsAAAA5AAAAAAAAABg5AAAEAAAABQAAAAYAAAAHAAAAJgAAAAIAAAADAAAAGwAAADoAAAAAAAAAKDkAAAQAAAAFAAAABgAAAAcAAAAnAAAAAgAAACgAAAAbAAAAOwAAAAAAAAA4OQAABAAAAAUAAAAGAAAABwAAACkAAAACAAAAAwAAABsAAAA8AAAAAAAAAEg5AAAEAAAABQAAAAYAAAAHAAAAKgAAAAIAAAADAAAAGwAAAD0AAAAAAAAAWDkAAAQAAAAFAAAABgAAAAcAAAArAAAAAgAAAAMAAAAbAAAAPgAAAAAAAABoOQAABAAAAAUAAAAGAAAABwAAACwAAAACAAAALQAAABsAAAA/AAAAAAAAAHg5AAAEAAAABQAAAAYAAAAHAAAALgAAAAIAAAADAAAAGwAAAEAAAAAAAAAAiDkAAAQAAAAFAAAABgAAAAcAAAAvAAAAAgAAAAMAAAAbAAAAQQAAAAAAAACYOQAABAAAAAUAAAAGAAAABwAAADAAAAACAAAAAwAAABsAAABCAAAAAAAAAKg5AAAEAAAABQAAAAYAAAAHAAAAMQAAAAIAAAADAAAAGwAAAEMAAAAAAAAAuDkAAAQAAAAFAAAABgAAAAcAAAAyAAAAAgAAAAMAAAAbAAAARAAAAAAAAADIOQAABAAAAAUAAAAGAAAABwAAADMAAAACAAAAAwAAABsAAABFAAAAAAAAANg5AAAEAAAABQAAAAYAAAAHAAAANAAAAAIAAAADAAAAGwAAAEYAAAAAAAAA6DkAAA4AAAAPAAAAEAAAABEAAAA1AAAANgAAAAMAAAAbAAAARwAAAAAAAAD4OQAABAAAAAUAAAAGAAAABwAAADcAAAACAAAAAwAAABsAAABIAAAAAAAAAAg6AAAEAAAABQAAAAYAAAAHAAAAOAAAAAIAAAA5AAAAGwAAAEkAAAAAAAAAGDoAAAQAAAAFAAAABgAAAAcAAAA6AAAAAgAAAAMAAAAbAAAASgAAAAAAAAAoOgAABAAAAAUAAAAGAAAABwAAADsAAAACAAAAAwAAABsAAABLAAAAAAAAADg6AAAEAAAABQAAAAYAAAAHAAAAPAAAAAIAAAADAAAAGwAAAEwAAAAAAAAASDoAAAQAAAAFAAAABgAAAAcAAAA9AAAAAgAAAAMAAAAbAAAATQAAAAAAAABYOgAABAAAAAUAAAAGAAAABwAAAD4AAAACAAAAAwAAABsAAABOAAAAAAAAAGg6AAAEAAAABQAAAAYAAAAHAAAAPwAAAAIAAABAAAAAGwAAAE8AAAAAAAAAeDoAAAQAAAAFAAAABgAAAAcAAABBAAAAAgAAAEIAAAAbAAAAUAAAAAAAAACIOgAAEgAAAAUAAAAGAAAABwAAAEMAAABEAAAAAwAAABsAAABRAAAAAAAAAJg6AAATAAAAFAAAAAYAAAAHAAAARQAAAEYAAAADAAAAGwAAAFIAAAAAAAAAqDoAAAQAAAAFAAAABgAAAAcAAABHAAAAAgAAAAMAAAAbAAAAUwAAAAAAAAC4OgAABAAAAAUAAAAGAAAABwAAAEgAAAACAAAAAwAAABsAAABUAAAAAAAAAMg6AAAVAAAAFgAAABcAAAAHAAAASQAAAEoAAAADAAAAGwAAAFUAAAAAAAAA2DoAAAQAAAAFAAAABgAAAAcAAABLAAAAAgAAAAMAAAAbAAAAVgAAAAAAAADoOgAABAAAAAUAAAAGAAAABwAAAEwAAAACAAAAAwAAABsAAABXAAAAAAAAAPg6AAAYAAAABQAAABkAAAAHAAAATQAAAE4AAAADAAAAGwAAAFgAAAAAAAAACDsAAAQAAAAFAAAABgAAAAcAAABPAAAAAgAAAAMAAAAbAAAAWQAAAAAAAAAYOwAABAAAAAUAAAAGAAAABwAAAFAAAAACAAAAAwAAABsAAABaAAAAAAAAACg7AAAEAAAABQAAAAYAAAAHAAAAUQAAAAIAAAADAAAAGwAAAFsAAAAAAAAAODsAAAQAAAAFAAAABgAAAAcAAABSAAAAAgAAAAMAAAAbAAAAXAAAAAAAAABIOwAAGgAAAAUAAAAbAAAABwAAAFMAAABUAAAAAwAAABsAAABdAAAAAAAAAFg7AAAEAAAABQAAAAYAAAAHAAAAVQAAAAIAAAADAAAAGwAAAF4AAAAAAAAAaDsAAAQAAAAFAAAABgAAAAcAAABWAAAAAgAAAAMAAAAbAAAAXwAAAAAAAAAgPAAAYAAAAGEAAAAAAAAAODwAAGIAAABjAAAAVwAAAAYAAAAEAAAABAAAAAUAAAAGAAAABwAAAAcAAAAIAAAAHAAAAAgAAAAdAAAAAAAAAEA8AABkAAAAZQAAAFgAAAAJAAAABQAAAAUAAAAJAAAACgAAAAoAAAALAAAADAAAAB4AAAALAAAAHwAAAAgAAAAAAAAASDwAAGYAAABnAAAA+P////j///9IPAAAaAAAAGkAAADcUAAA8FAAAAgAAAAAAAAAYDwAAGoAAABrAAAA+P////j///9gPAAAbAAAAG0AAAAMUQAAIFEAAAQAAAAAAAAAeDwAAG4AAABvAAAA/P////z///94PAAAcAAAAHEAAAA8UQAAUFEAAAQAAAAAAAAAkDwAAHIAAABzAAAA/P////z///+QPAAAdAAAAHUAAABsUQAAgFEAAAAAAACoPAAAZAAAAHYAAABZAAAACQAAAAUAAAAFAAAADQAAAAoAAAAKAAAACwAAAAwAAAAeAAAADAAAACAAAAAAAAAAuDwAAGIAAAB3AAAAWgAAAAYAAAAEAAAABAAAAA4AAAAGAAAABwAAAAcAAAAIAAAAHAAAAA0AAAAhAAAAAAAAAMg8AABkAAAAeAAAAFsAAAAJAAAABQAAAAUAAAAJAAAACgAAAAoAAAAPAAAAEAAAACIAAAALAAAAHwAAAAAAAADYPAAAYgAAAHkAAABcAAAABgAAAAQAAAAEAAAABQAAAAYAAAAHAAAAEQAAABIAAAAjAAAACAAAAB0AAAAAAAAA6DwAAHoAAAB7AAAAfAAAAAEAAAAGAAAADgAAAAAAAAAIPQAAfQAAAH4AAAB8AAAAAgAAAAcAAAAPAAAAAAAAABg9AAB/AAAAgAAAAHwAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAAAAABYPQAAgQAAAIIAAAB8AAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAAAAAAkD0AAIMAAACEAAAAfAAAAAMAAAAEAAAAFwAAAAUAAAAYAAAAAQAAAAIAAAAGAAAAAAAAANA9AACFAAAAhgAAAHwAAAAHAAAACAAAABkAAAAJAAAAGgAAAAMAAAAEAAAACgAAAAAAAAAIPgAAhwAAAIgAAAB8AAAAEwAAABsAAAAcAAAAHQAAAB4AAAAfAAAAAQAAAPj///8IPgAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAAAAAAABAPgAAiQAAAIoAAAB8AAAAGwAAACAAAAAhAAAAIgAAACMAAAAkAAAAAgAAAPj///9APgAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAAAAAACUAAABtAAAALwAAACUAAABkAAAALwAAACUAAAB5AAAAAAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABhAAAAIAAAACUAAABiAAAAIAAAACUAAABkAAAAIAAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABZAAAAAAAAAEEAAABNAAAAAAAAAFAAAABNAAAAAAAAAEoAAABhAAAAbgAAAHUAAABhAAAAcgAAAHkAAAAAAAAARgAAAGUAAABiAAAAcgAAAHUAAABhAAAAcgAAAHkAAAAAAAAATQAAAGEAAAByAAAAYwAAAGgAAAAAAAAAQQAAAHAAAAByAAAAaQAAAGwAAAAAAAAATQAAAGEAAAB5AAAAAAAAAEoAAAB1AAAAbgAAAGUAAAAAAAAASgAAAHUAAABsAAAAeQAAAAAAAABBAAAAdQAAAGcAAAB1AAAAcwAAAHQAAAAAAAAAUwAAAGUAAABwAAAAdAAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAE8AAABjAAAAdAAAAG8AAABiAAAAZQAAAHIAAAAAAAAATgAAAG8AAAB2AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAARAAAAGUAAABjAAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAASgAAAGEAAABuAAAAAAAAAEYAAABlAAAAYgAAAAAAAABNAAAAYQAAAHIAAAAAAAAAQQAAAHAAAAByAAAAAAAAAEoAAAB1AAAAbgAAAAAAAABKAAAAdQAAAGwAAAAAAAAAQQAAAHUAAABnAAAAAAAAAFMAAABlAAAAcAAAAAAAAABPAAAAYwAAAHQAAAAAAAAATgAAAG8AAAB2AAAAAAAAAEQAAABlAAAAYwAAAAAAAABTAAAAdQAAAG4AAABkAAAAYQAAAHkAAAAAAAAATQAAAG8AAABuAAAAZAAAAGEAAAB5AAAAAAAAAFQAAAB1AAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVwAAAGUAAABkAAAAbgAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFQAAABoAAAAdQAAAHIAAABzAAAAZAAAAGEAAAB5AAAAAAAAAEYAAAByAAAAaQAAAGQAAABhAAAAeQAAAAAAAABTAAAAYQAAAHQAAAB1AAAAcgAAAGQAAABhAAAAeQAAAAAAAABTAAAAdQAAAG4AAAAAAAAATQAAAG8AAABuAAAAAAAAAFQAAAB1AAAAZQAAAAAAAABXAAAAZQAAAGQAAAAAAAAAVAAAAGgAAAB1AAAAAAAAAEYAAAByAAAAaQAAAAAAAABTAAAAYQAAAHQAAAAAAAAAAAAAAHA+AACLAAAAjAAAAHwAAAABAAAAAAAAAJg+AACNAAAAjgAAAHwAAAACAAAAAAAAALg+AACPAAAAkAAAAHwAAAAjAAAAJAAAAF0AAABeAAAAXwAAAGAAAAAlAAAAYQAAAGIAAAAAAAAA4D4AAJEAAACSAAAAfAAAACYAAAAnAAAAYwAAAGQAAABlAAAAZgAAACgAAABnAAAAaAAAAAAAAAAAPwAAkwAAAJQAAAB8AAAAKQAAACoAAABpAAAAagAAAGsAAABsAAAAKwAAAG0AAABuAAAAAAAAACA/AACVAAAAlgAAAHwAAAAsAAAALQAAAG8AAABwAAAAcQAAAHIAAAAuAAAAcwAAAHQAAAAAAAAAQD8AAJcAAACYAAAAfAAAAAMAAAAEAAAAAAAAAGg/AACZAAAAmgAAAHwAAAAFAAAABgAAAAAAAACQPwAAmwAAAJwAAAB8AAAAAQAAACUAAAAAAAAAuD8AAJ0AAACeAAAAfAAAAAIAAAAmAAAAAAAAAOA/AACfAAAAoAAAAHwAAAAQAAAABgAAAHUAAAAAAAAACEAAAKEAAACiAAAAfAAAABEAAAAHAAAAdgAAAAAAAABgQAAAowAAAKQAAAB8AAAAAwAAAAQAAAALAAAALwAAADAAAAAMAAAAMQAAAAAAAAAoQAAAowAAAKUAAAB8AAAAAwAAAAQAAAALAAAALwAAADAAAAAMAAAAMQAAAAAAAACQQAAApgAAAKcAAAB8AAAABQAAAAYAAAANAAAAMgAAADMAAAAOAAAANAAAAAAAAADQQAAAqAAAAKkAAAB8AAAAAAAAAOBAAACqAAAAqwAAAHwAAAAkAAAAEgAAACUAAAATAAAAJgAAAAMAAAAUAAAADwAAAAAAAAAoQQAArAAAAK0AAAB8AAAANQAAADYAAAB3AAAAeAAAAHkAAAAAAAAAOEEAAK4AAACvAAAAfAAAADcAAAA4AAAAegAAAHsAAAB8AAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAdAAAAHIAAAB1AAAAZQAAAAAAAAAAAAAA+DwAAKMAAACwAAAAfAAAAAAAAAAIQQAAowAAALEAAAB8AAAAFQAAAAQAAAAFAAAABgAAACcAAAAWAAAAKAAAABcAAAApAAAABwAAABgAAAAQAAAAAAAAAHBAAACjAAAAsgAAAHwAAAAHAAAACAAAABEAAAA5AAAAOgAAABIAAAA7AAAAAAAAALBAAACjAAAAswAAAHwAAAAJAAAACgAAABMAAAA8AAAAPQAAABQAAAA+AAAAAAAAADhAAACjAAAAtAAAAHwAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAADg+AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAAGg+AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAARXJyb3I6IGxhYmVsaW5nIHdvcmsgb3ZlcmZsb3cuCgBVbmtub3duIG9yIHVuc3VwcG9ydGVkIGxhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHJlcXVlc3RlZC4gU2V0IHRvIG1hbnVhbC4KAExhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHNldCB0byAlcy4KAE1BTlVBTABBVVRPX01FRElBTgBBVVRPX09UU1UAQVVUT19BREFQVElWRQBBVVRPX0JSQUNLRVRJTkcARXJyb3I6IFVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdCAoJWQpIHJlcXVlc3RlZC4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBtYXJrZXIgY291bnRzIC1bJTNkOiAlM2RdIFslM2Q6ICUzZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5jcHAAUHlyYW1pZCBpcyBub3QgYWxsb2NhdGVkAE9jdGF2ZSBvdXQgb2YgcmFuZ2UAU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgbUltYWdlcy5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAExhcGxhY2lhbiBweXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBweXJhbWlkLT5udW1PY3RhdmVzKCkgPiAwYCBmYWlsZWQgaW4gAFB5cmFtaWQgZG9lcyBub3QgY29udGFpbiBhbnkgbGV2ZWxzAEFzc2VydGlvbiBgZHluYW1pY19jYXN0PGNvbnN0IEJpbm9taWFsUHlyYW1pZDMyZio+KHB5cmFtaWQpYCBmYWlsZWQgaW4gAE9ubHkgYmlub21pYWwgcHlyYW1pZCBpcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBkLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAT25seSBGMzIgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABPbmx5IHNpbmdsZSBjaGFubmVsIGltYWdlcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBpbTEuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIHdpZHRoAEFzc2VydGlvbiBgZC5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAASW1hZ2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBoZWlnaHQAQXNzZXJ0aW9uIGBpbTEud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltMS5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGByb3cgPCBtSGVpZ2h0YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuaAByb3cgb3V0IG9mIGJvdW5kcwBONnZpc2lvbjI1R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZEUARG9HIFB5cmFtaWQATm9uLW1heCBzdXBwcmVzc2lvbgBTdWJwaXhlbABwcnVuZUZlYXR1cmVzAEZpbmQgT3JpZW50YXRpb25zAEFzc2VydGlvbiBgbUJ1Y2tldHMuc2l6ZSgpID09IG1OdW1CdWNrZXRzWGAgZmFpbGVkIGluIABCdWNrZXRzIGFyZSBub3QgYWxsb2NhdGVkAEFzc2VydGlvbiBgbUJ1Y2tldHNbMF0uc2l6ZSgpID09IG1OdW1CdWNrZXRzWWAgZmFpbGVkIGluIABBc3NlcnRpb24gYG1GZWF0dXJlUG9pbnRzLnNpemUoKSA8PSBtTWF4TnVtRmVhdHVyZVBvaW50c2AgZmFpbGVkIGluIABUb28gbWFueSBmZWF0dXJlIHBvaW50cwBBc3NlcnRpb24gYGJ1Y2tldFswXS5maXJzdCA+PSBidWNrZXRbbl0uZmlyc3RgIGZhaWxlZCBpbiAAbnRoX2VsZW1lbnQgZmFpbGVkAEFzc2VydGlvbiBga3Auc2NhbGUgPCBtTGFwbGFjaWFuUHlyYW1pZC5udW1TY2FsZVBlck9jdGF2ZSgpYCBmYWlsZWQgaW4gAEZlYXR1cmUgcG9pbnQgc2NhbGUgaXMgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYGtwLnNjb3JlID09IGxhcDEuZ2V0PGZsb2F0Pih5KVt4XWAgZmFpbGVkIGluIABTY29yZSBpcyBub3QgY29uc2lzdGVudCB3aXRoIHRoZSBEb0cgaW1hZ2UAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KCkgPT0gbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2ludGVycG9sYXRlLmgAZmxvb3IoKSBhbmQgY2FzdCBub3QgdGhlIHNhbWUAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeSkgPT0gKGludCl5YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeXAgPj0gMCAmJiB5cCA8IGhlaWdodGAgZmFpbGVkIGluIAB5cCBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeXBfcGx1c18xID49IDAgJiYgeXBfcGx1c18xIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeHAgPj0gMCAmJiB4cCA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cF9wbHVzXzEgPj0gMCAmJiB4cF9wbHVzXzEgPCB3aWR0aGAgZmFpbGVkIGluIAB4cF9wbHVzXzEgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHcwID49IDAgJiYgdzAgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAE91dCBvZiByYW5nZQBBc3NlcnRpb24gYHcxID49IDAgJiYgdzEgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgdzIgPj0gMCAmJiB3MiA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MyA+PSAwICYmIHczIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh3MCt3MSt3Mit3MykgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGltLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgaW0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeF9kaXZfMi0wLjVmID49IDBgIGZhaWxlZCBpbiAAeF9kaXZfMiBvdXQgb2YgYm91bmRzIG91dCBvZiBib3VuZHMgZm9yIGludGVycG9sYXRpb24AQXNzZXJ0aW9uIGB5X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB5X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHhfZGl2XzIrMC41ZiA8IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHlfZGl2XzIrMC41ZiA8IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABIZWlnaHQgaXMgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTEuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDwgbUltYWdlcy5zaXplKClgIGZhaWxlZCBpbiAASW5kZXggaXMgb3V0IG9mIHJhbmdlAE42dmlzaW9uMThCaW5vbWlhbFB5cmFtaWQzMmZFAEFzc2VydGlvbiBgd2lkdGggPj0gNWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuY3BwAEltYWdlIGlzIHRvbyBzbWFsbABBc3NlcnRpb24gYGhlaWdodCA+PSA1YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW1hZ2UudHlwZSgpID09IElNQUdFX1VJTlQ4YCBmYWlsZWQgaW4gAEltYWdlIG11c3QgYmUgZ3JheXNjYWxlAEFzc2VydGlvbiBgaW1hZ2UuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEltYWdlIG11c3QgaGF2ZSAxIGNoYW5uZWwAQXNzZXJ0aW9uIGBtUHlyYW1pZC5zaXplKCkgPT0gbU51bU9jdGF2ZXMqbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABQeXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQgeWV0AEFzc2VydGlvbiBgaW1hZ2Uud2lkdGgoKSA9PSBtUHlyYW1pZFswXS53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlIG9mIHdyb25nIHNpemUgZm9yIHB5cmFtaWQAQXNzZXJ0aW9uIGBpbWFnZS5oZWlnaHQoKSA9PSBtUHlyYW1pZFswXS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGRzdC50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAERlc3RpbmF0aW9uIGltYWdlIHNob3VsZCBiZSBhIGZsb2F0AFVua25vd24gaW1hZ2UgdHlwZQBVbnN1cHBvcnRlZCBpbWFnZSB0eXBlAE42dmlzaW9uOUV4Y2VwdGlvbkUAQXNzZXJ0aW9uIGBpbS53aWR0aCgpID09IGltLnN0ZXAoKS9zaXplb2YoZmxvYXQpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5oAEhpc3RvZ3JhbSBwb2ludGVyIGlzIE5VTEwAQXNzZXJ0aW9uIGAoZmJpbiswLjVmKSA+IDAgJiYgKGZiaW4tMC41ZikgPCBudW1fYmluc2AgZmFpbGVkIGluIABEZWNpbWFsIGJpbiBwb3NpdGlvbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtYWduaXR1ZGUgPj0gMGAgZmFpbGVkIGluIABNYWduaXR1ZGUgY2Fubm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbnVtX2JpbnMgPj0gMGAgZmFpbGVkIGluIABOdW1iZXIgYmlucyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzEgPj0gMGAgZmFpbGVkIGluIAB3MSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzIgPj0gMGAgZmFpbGVkIGluIAB3MiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgYjEgPj0gMCAmJiBiMSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAGIxIGJpbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiMiA+PSAwICYmIGIyIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjIgYmluIGluZGV4IG91dCBvZiByYW5nZQBJRCBhbHJlYWR5IGV4aXN0cwBCdWlsZCBQeXJhbWlkAEV4dHJhY3QgRmVhdHVyZXMAQXNzZXJ0aW9uIGBhc3NpZ25tZW50LnNpemUoKSA9PSBudW1faW5kaWNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvYmluYXJ5X2hpZXJhcmNoaWNhbF9jbHVzdGVyaW5nLmgAQXNzaWdubWVudCBzaXplIHdyb25nAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSAhPSAtMWAgZmFpbGVkIGluIABBc3NpZ25tZW50IGlzIGludmFsaWQAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldIDwgbnVtX2luZGljZXNgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBpbmRpY2VzW2Fzc2lnbm1lbnRbaV1dIDwgbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaXQtPnNlY29uZC5zaXplKCkgIT0gMGAgZmFpbGVkIGluIABDbHVzdGVyIG11c3QgaGF2ZSBhdGxlYXNldCAxIGZlYXR1cmUAQXNzZXJ0aW9uIGBtSyA9PSBtQ2VudGVycy5zaXplKClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL3Zpc3VhbF9kYXRhYmFzZS5oAEFzc2VydGlvbiBgZGV0ZWN0b3JgIGZhaWxlZCBpbiAARGV0ZWN0b3IgaXMgTlVMTABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBpcyBlbXB0eQBBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLndpZHRoKCkgPT0gZGV0ZWN0b3ItPndpZHRoKClgIGZhaWxlZCBpbiAAUHlyYW1pZCBhbmQgZGV0ZWN0b3Igc2l6ZSBtaXNtYXRjaABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLmhlaWdodCgpID09IGRldGVjdG9yLT5oZWlnaHQoKWAgZmFpbGVkIGluIABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONnZpc2lvbjhLZXlmcmFtZUlMaTk2RUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVMzX0VFTlNfOWFsbG9jYXRvcklTM19FRUVFAFslc10gWyVzXSBbJXNdIDogRm91bmQgJWQgZmVhdHVyZXMgaW4gcXVlcnkAYm9vbCB2aXNpb246OlZpc3VhbERhdGFiYXNlPHZpc2lvbjo6RlJFQUtFeHRyYWN0b3IsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCB2aXNpb246OkJpbmFyeUZlYXR1cmVNYXRjaGVyPDk2PiA+OjpxdWVyeShjb25zdCB2aXNpb246OkdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWQgKikgW0ZFQVRVUkVfRVhUUkFDVE9SID0gdmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgU1RPUkUgPSB2aXNpb246OkJpbmFyeUZlYXR1cmVTdG9yZSwgTUFUQ0hFUiA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+XQBGaW5kIE1hdGNoZXMgKDEpAEhvdWdoIFZvdGluZyAoMSkARmluZCBIb3VnaCBNYXRjaGVzICgxKQBFc3RpbWF0ZSBIb21vZ3JhcGh5ICgxKQBGaW5kIElubGllcnMgKDEpAEZpbmQgTWF0Y2hlcyAoMikASG91Z2ggVm90aW5nICgyKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDIpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDIpAEZpbmQgSW5saWVycyAoMikAQXNzZXJ0aW9uIGAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9mZWF0dXJlX21hdGNoZXItaW5saW5lLmgARmFpbGVkIHRvIGNvbXB1dGUgbWF0cml4IGludmVyc2UAQXNzZXJ0aW9uIGBiZXN0X2luZGV4ICE9IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KClgIGZhaWxlZCBpbiAAU29tZXRoaW5nIHN0cmFuZ2UAQXNzZXJ0aW9uIGBtTWF0Y2hlcy5zaXplKCkgPD0gZmVhdHVyZXMxLT5zaXplKClgIGZhaWxlZCBpbiAATnVtYmVyIG9mIG1hdGNoZXMgc2hvdWxkIGJlIGxvd2VyAEFzc2VydGlvbiBgaHlwLnNpemUoKSA+PSA5Km1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmgAeCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB4IDwgbU1heFhgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5ID49IG1NaW5ZYCBmYWlsZWQgaW4gAHkgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgeSA8IG1NYXhZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYW5nbGUgPiAtUElgIGZhaWxlZCBpbiAAYW5nbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYW5nbGUgPD0gUElgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBzY2FsZSA+PSBtTWluU2NhbGVgIGZhaWxlZCBpbiAAc2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgc2NhbGUgPCBtTWF4U2NhbGVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbmRleCA+PSAwYCBmYWlsZWQgaW4gAGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPj0gMGAgZmFpbGVkIGluIABiaW5YIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPCBtTnVtWEJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5ZID49IDBgIGZhaWxlZCBpbiAAYmluWSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5ZIDwgbU51bVlCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYmluQW5nbGUgPj0gMGAgZmFpbGVkIGluIABiaW5BbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5BbmdsZSA8IG1OdW1BbmdsZUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5TY2FsZSA+PSAwYCBmYWlsZWQgaW4gAGJpblNjYWxlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblNjYWxlIDwgbU51bVNjYWxlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDw9IChiaW5YICsgYmluWSptTnVtWEJpbnMgKyBiaW5BbmdsZSptTnVtWEJpbnMqbU51bVlCaW5zICsgYmluU2NhbGUqbU51bVhCaW5zKm1OdW1ZQmlucyptTnVtQW5nbGVCaW5zKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNpemUgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9ob3VnaF9zaW1pbGFyaXR5X3ZvdGluZy5jcHAAc2l6ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlV2lkdGggPiAwYCBmYWlsZWQgaW4gAHdpZHRoIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VIZWlnaHQgPiAwYCBmYWlsZWQgaW4gAGhlaWdodCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbiA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZyZWFrLmgAUHlyYW1pZCBpcyBOVUxMAEFzc2VydGlvbiBgc3RvcmUuc2l6ZSgpID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAARmVhdHVyZSBzdG9yZSBoYXMgbm90IGJlZW4gYWxsb2NhdGVkAEFzc2VydGlvbiBgbnVtX3BvaW50cyA9PSBwb2ludHMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSBzYW1lIHNpemUAQXNzZXJ0aW9uIGBvY3RhdmUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuaABPY3RhdmUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG9jdGF2ZSA8IG1OdW1PY3RhdmVzYCBmYWlsZWQgaW4gAE9jdGF2ZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygb2N0YXZlcwBBc3NlcnRpb24gYHNjYWxlID49IDBgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHNjYWxlIDwgbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygc2NhbGUgcGVyIG9jdGF2ZQAlbS0lZC0lWS0lSC0lTS0lUwBBc3NlcnRpb24gYHdpZHRoID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay90aW1lcnMuY3BwACBsaW5lIAA6IABDbG9jayBoYXMgbm90IGJlZW4gc3RhcnRlZABBc3NlcnRpb24gYG1TdG9wVGltZSA+PSAwYCBmYWlsZWQgaW4gAENsb2NrIGhhcyBub3QgYmVlbiBzdG9wcGVkAFslc10gWyVzXSBbJXNdIDogJXM6ICVmIG1zACBJTkZPICAAdmlzaW9uOjpTY29wZWRUaW1lcjo6flNjb3BlZFRpbWVyKCkAc2V0dXAAdGVhcmRvd24Ac2V0dXBBUjIAX2FkZE1hcmtlcgBfYWRkTXVsdGlNYXJrZXIAX2FkZE5GVE1hcmtlcgBnZXRNdWx0aU1hcmtlck51bQBnZXRNdWx0aU1hcmtlckNvdW50AF9sb2FkQ2FtZXJhAHNldE1hcmtlckluZm9EaXIAc2V0TWFya2VySW5mb1ZlcnRleABnZXRUcmFuc01hdFNxdWFyZQBnZXRUcmFuc01hdFNxdWFyZUNvbnQAZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZQBnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0AGRldGVjdE1hcmtlcgBnZXRNYXJrZXJOdW0AZGV0ZWN0TkZUTWFya2VyAGdldE11bHRpRWFjaE1hcmtlcgBnZXRNYXJrZXIAZ2V0TkZUTWFya2VyAHNldERlYnVnTW9kZQBnZXREZWJ1Z01vZGUAZ2V0UHJvY2Vzc2luZ0ltYWdlAHNldExvZ0xldmVsAGdldExvZ0xldmVsAHNldFByb2plY3Rpb25OZWFyUGxhbmUAZ2V0UHJvamVjdGlvbk5lYXJQbGFuZQBzZXRQcm9qZWN0aW9uRmFyUGxhbmUAZ2V0UHJvamVjdGlvbkZhclBsYW5lAHNldFRocmVzaG9sZE1vZGUAZ2V0VGhyZXNob2xkTW9kZQBzZXRUaHJlc2hvbGQAZ2V0VGhyZXNob2xkAHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAGdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAHNldFBhdHRSYXRpbwBnZXRQYXR0UmF0aW8Ac2V0TWF0cml4Q29kZVR5cGUAZ2V0TWF0cml4Q29kZVR5cGUAc2V0TGFiZWxpbmdNb2RlAGdldExhYmVsaW5nTW9kZQBzZXRJbWFnZVByb2NNb2RlAGdldEltYWdlUHJvY01vZGUARVJST1JfQVJDT05UUk9MTEVSX05PVF9GT1VORABFUlJPUl9NVUxUSU1BUktFUl9OT1RfRk9VTkQARVJST1JfTUFSS0VSX0lOREVYX09VVF9PRl9CT1VORFMAQVJfREVCVUdfRElTQUJMRQBBUl9ERUJVR19FTkFCTEUAQVJfREVGQVVMVF9ERUJVR19NT0RFAEFSX0xBQkVMSU5HX1dISVRFX1JFR0lPTgBBUl9MQUJFTElOR19CTEFDS19SRUdJT04AQVJfREVGQVVMVF9MQUJFTElOR19NT0RFAEFSX0RFRkFVTFRfTEFCRUxJTkdfVEhSRVNIAEFSX0lNQUdFX1BST0NfRlJBTUVfSU1BR0UAQVJfSU1BR0VfUFJPQ19GSUVMRF9JTUFHRQBBUl9ERUZBVUxUX0lNQUdFX1BST0NfTU9ERQBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUgBBUl9URU1QTEFURV9NQVRDSElOR19NT05PAEFSX01BVFJJWF9DT0RFX0RFVEVDVElPTgBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWABBUl9ERUZBVUxUX1BBVFRFUk5fREVURUNUSU9OX01PREUAQVJfVVNFX1RSQUNLSU5HX0hJU1RPUlkAQVJfTk9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWV9WMgBBUl9ERUZBVUxUX01BUktFUl9FWFRSQUNUSU9OX01PREUAQVJfTUFYX0xPT1BfQ09VTlQAQVJfTE9PUF9CUkVBS19USFJFU0gAQVJfTE9HX0xFVkVMX0RFQlVHAEFSX0xPR19MRVZFTF9JTkZPAEFSX0xPR19MRVZFTF9XQVJOAEFSX0xPR19MRVZFTF9FUlJPUgBBUl9MT0dfTEVWRUxfUkVMX0lORk8AQVJfTUFUUklYX0NPREVfM3gzAEFSX01BVFJJWF9DT0RFXzN4M19IQU1NSU5HNjMAQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1AEFSX01BVFJJWF9DT0RFXzR4NABBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMwBBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzVfNQBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19NRURJQU4AQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19PVFNVAEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fQURBUFRJVkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX05PTkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BBVFRFUk5fRVhUUkFDVElPTgBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfR0VORVJJQwBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQ09OVFJBU1QAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfTk9UX0ZPVU5EAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9CQVJDT0RFX0VEQ19GQUlMAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05GSURFTkNFAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SX01VTFRJAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9IRVVSSVNUSUNfVFJPVUJMRVNPTUVfTUFUUklYX0NPREVTAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUASW1hZ2UgcHJvYy4gbW9kZSBzZXQgdG8gJWQuCgBMYWJlbGluZyBtb2RlIHNldCB0byAlZAoAdmlpZgBQYXR0ZXJuIHJhdGlvIHNpemUgc2V0IHRvICVmLgoAUGF0dGVybiBkZXRlY3Rpb24gbW9kZSBzZXQgdG8gJWQuCgBUaHJlc2hvbGQgc2V0IHRvICVkCgB2aWlpAFRocmVzaG9sZCBtb2RlIHNldCB0byAlZAoAZGlpAHZpaWQAaWkAdmlpAG9uLgBvZmYuAERlYnVnIG1vZGUgc2V0IHRvICVzCgBUcmFja2luZyBsb3N0LiAlZAoAVHJhY2tlZCBwYWdlICVkIChtYXggJWQpLgoAeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJmb3VuZCJdID0gMTsgbWFya2VySW5mb1sicG9zZSJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzJdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzNdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzRdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzVdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzZdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzddID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzhdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzldID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzEwXSA9ICRhW2krK107IG1hcmtlckluZm9bInBvc2UiXVsxMV0gPSAkYVtpKytdOyB9AHsgdmFyICRhID0gYXJndW1lbnRzOyB2YXIgaSA9IDA7IGlmICghYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0gPSAoeyBpZDogMCwgZXJyb3I6IC0xLCBmb3VuZDogMCwgcG9zZTogWzAsMCwwLDAsIDAsMCwwLDAsIDAsMCwwLDBdIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImlkIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvciJdID0gLTE7IG1hcmtlckluZm9bImZvdW5kIl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gMDsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9IDA7IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMTI7IGlmICghYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0gPSAoeyBwb3M6IFswLDBdLCBsaW5lOiBbWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXV0sIHZlcnRleDogW1swLDBdLCBbMCwwXSwgWzAsMF0sIFswLDBdXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsibWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJhcmVhIl0gPSAkMDsgbWFya2VySW5mb1siaWQiXSA9ICQxOyBtYXJrZXJJbmZvWyJpZFBhdHQiXSA9ICQyOyBtYXJrZXJJbmZvWyJpZE1hdHJpeCJdID0gJDM7IG1hcmtlckluZm9bImRpciJdID0gJDQ7IG1hcmtlckluZm9bImRpclBhdHQiXSA9ICQ1OyBtYXJrZXJJbmZvWyJkaXJNYXRyaXgiXSA9ICQ2OyBtYXJrZXJJbmZvWyJjZiJdID0gJDc7IG1hcmtlckluZm9bImNmUGF0dCJdID0gJDg7IG1hcmtlckluZm9bImNmTWF0cml4Il0gPSAkOTsgbWFya2VySW5mb1sicG9zIl1bMF0gPSAkMTA7IG1hcmtlckluZm9bInBvcyJdWzFdID0gJDExOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3JDb3JyZWN0ZWQiXSA9ICRhW2krK107IH0AeyBpZiAoIWFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdID0gKHt9KTsgfSB2YXIgbXVsdGlFYWNoTWFya2VyID0gYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl07IG11bHRpRWFjaE1hcmtlclsndmlzaWJsZSddID0gJDA7IG11bHRpRWFjaE1hcmtlclsncGF0dElkJ10gPSAkMTsgbXVsdGlFYWNoTWFya2VyWydwYXR0VHlwZSddID0gJDI7IG11bHRpRWFjaE1hcmtlclsnd2lkdGgnXSA9ICQzOyB9AGlpaQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGxvYWRDYW1lcmEoKTogRXJyb3IgbG9hZGluZyBwYXJhbWV0ZXIgZmlsZSAlcyBmb3IgY2FtZXJhLgoAaWlpaQBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIE5GVCBtYXJrZXIuCgBSZWFkaW5nICVzLmZzZXQzCgBmc2V0MwBFcnJvciByZWFkaW5nIEtQTSBkYXRhIGZyb20gJXMuZnNldDMKACAgQXNzaWduZWQgcGFnZSBuby4gJWQuCgBFcnJvcjoga3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0CgBFcnJvcjoga3BtTWVyZ2VSZWZEYXRhU2V0CgAgIERvbmUuCgBSZWFkaW5nICVzLmZzZXQKAGZzZXQARXJyb3IgcmVhZGluZyBkYXRhIGZyb20gJXMuZnNldAoARXJyb3I6IGtwbVNldFJlZkRhdGFTZXQKAExvYWRpbmcgb2YgTkZUIGRhdGEgY29tcGxldGUuCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG11bHRpbWFya2VyLgoAY29uZmlnIGRhdGEgbG9hZCBlcnJvciAhIQoAQVJUb29sS2l0SlMoKTogVW5hYmxlIHRvIHNldCB1cCBBUiBtYXJrZXIuCgBsb2FkTWFya2VyKCk6IEVycm9yIGxvYWRpbmcgcGF0dGVybiBmaWxlICVzLgoARXJyb3I6IGFyMkNyZWF0ZUhhbmRsZS4KAGlpaWlpAHNldHVwKCk6IEVycm9yOiBhclBhdHRDcmVhdGVIYW5kbGUuCgBBbGxvY2F0ZWQgdmlkZW9GcmFtZVNpemUgJWQKAHsgaWYgKCFhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0pIHsgYXJ0b29sa2l0WyJmcmFtZU1hbGxvYyJdID0gKHt9KTsgfSB2YXIgZnJhbWVNYWxsb2MgPSBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl07IGZyYW1lTWFsbG9jWyJmcmFtZXBvaW50ZXIiXSA9ICQxOyBmcmFtZU1hbGxvY1siZnJhbWVzaXplIl0gPSAkMjsgZnJhbWVNYWxsb2NbImNhbWVyYSJdID0gJDM7IGZyYW1lTWFsbG9jWyJ0cmFuc2Zvcm0iXSA9ICQ0OyBmcmFtZU1hbGxvY1sidmlkZW9MdW1hUG9pbnRlciJdID0gJDU7IH0AKioqIENhbWVyYSBQYXJhbWV0ZXIgcmVzaXplZCBmcm9tICVkLCAlZC4gKioqCgBzZXRDYW1lcmEoKTogRXJyb3I6IGFyUGFyYW1MVENyZWF0ZS4KAHNldENhbWVyYSgpOiBFcnJvcjogYXJDcmVhdGVIYW5kbGUuCgBzZXRDYW1lcmEoKTogRXJyb3IgY3JlYXRpbmcgM0QgaGFuZGxlAE91dCBvZiBtZW1vcnkhIQoARXJyb3I6IG1hbGxvYwoAIyMjIEZlYXR1cmUgY2FuZGlkYXRlcyBmb3IgdHJhY2tpbmcgYXJlIG92ZXJmbG93LgoAQm9ndXMgbWVzc2FnZSBjb2RlICVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAEludmFsaWQgY3JvcCByZXF1ZXN0AERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UARENUIHNjYWxlZCBibG9jayBzaXplICVkeCVkIG5vdCBzdXBwb3J0ZWQAQ29tcG9uZW50IGluZGV4ICVkOiBtaXNtYXRjaGluZyBzYW1wbGluZyByYXRpbyAlZDolZCwgJWQ6JWQsICVjAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQXJpdGhtZXRpYyB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAEJhY2tpbmcgc3RvcmUgbm90IHN1cHBvcnRlZABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeABJbnN1ZmZpY2llbnQgbWVtb3J5IChjYXNlICVkKQBDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogJXMgYmVmb3JlIFNPRgBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0YgbWFya2VycwBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IG1pc3NpbmcgU09TIG1hcmtlcgBVbnN1cHBvcnRlZCBKUEVHIHByb2Nlc3M6IFNPRiB0eXBlIDB4JTAyeABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0kgbWFya2VycwBGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAFJlYWQgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFNlZWsgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFdyaXRlIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZSAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBmZXcgc2NhbmxpbmVzAFVuc3VwcG9ydGVkIG1hcmtlciB0eXBlIDB4JTAyeABWaXJ0dWFsIGFycmF5IGNvbnRyb2xsZXIgbWVzc2VkIHVwAEltYWdlIHRvbyB3aWRlIGZvciB0aGlzIGltcGxlbWVudGF0aW9uAFJlYWQgZnJvbSBYTVMgZmFpbGVkAFdyaXRlIHRvIFhNUyBmYWlsZWQAQ29weXJpZ2h0IChDKSAyMDE4LCBUaG9tYXMgRy4gTGFuZSwgR3VpZG8gVm9sbGJlZGluZwA5YyAgMTQtSmFuLTIwMTgAQ2F1dGlvbjogcXVhbnRpemF0aW9uIHRhYmxlcyBhcmUgdG9vIGNvYXJzZSBmb3IgYmFzZWxpbmUgSlBFRwBBZG9iZSBBUFAxNCBtYXJrZXI6IHZlcnNpb24gJWQsIGZsYWdzIDB4JTA0eCAweCUwNHgsIHRyYW5zZm9ybSAlZABVbmtub3duIEFQUDAgbWFya2VyIChub3QgSkZJRiksIGxlbmd0aCAldQBVbmtub3duIEFQUDE0IG1hcmtlciAobm90IEFkb2JlKSwgbGVuZ3RoICV1AERlZmluZSBBcml0aG1ldGljIFRhYmxlIDB4JTAyeDogMHglMDJ4AERlZmluZSBIdWZmbWFuIFRhYmxlIDB4JTAyeABEZWZpbmUgUXVhbnRpemF0aW9uIFRhYmxlICVkICBwcmVjaXNpb24gJWQARGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgJXUARnJlZWQgRU1TIGhhbmRsZSAldQBPYnRhaW5lZCBFTVMgaGFuZGxlICV1AEVuZCBPZiBJbWFnZQAgICAgICAgICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QASkZJRiBBUFAwIG1hcmtlcjogdmVyc2lvbiAlZC4lMDJkLCBkZW5zaXR5ICVkeCVkICAlZABXYXJuaW5nOiB0aHVtYm5haWwgaW1hZ2Ugc2l6ZSBkb2VzIG5vdCBtYXRjaCBkYXRhIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHR5cGUgMHglMDJ4LCBsZW5ndGggJXUAICAgIHdpdGggJWQgeCAlZCB0aHVtYm5haWwgaW1hZ2UATWlzY2VsbGFuZW91cyBtYXJrZXIgMHglMDJ4LCBsZW5ndGggJXUAVW5leHBlY3RlZCBtYXJrZXIgMHglMDJ4ACAgICAgICAgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dQBRdWFudGl6aW5nIHRvICVkID0gJWQqJWQqJWQgY29sb3JzAFF1YW50aXppbmcgdG8gJWQgY29sb3JzAFNlbGVjdGVkICVkIGNvbG9ycyBmb3IgcXVhbnRpemF0aW9uAEF0IG1hcmtlciAweCUwMngsIHJlY292ZXJ5IGFjdGlvbiAlZABSU1QlZABTbW9vdGhpbmcgbm90IHN1cHBvcnRlZCB3aXRoIG5vbnN0YW5kYXJkIHNhbXBsaW5nIHJhdGlvcwBTdGFydCBPZiBGcmFtZSAweCUwMng6IHdpZHRoPSV1LCBoZWlnaHQ9JXUsIGNvbXBvbmVudHM9JWQAICAgIENvbXBvbmVudCAlZDogJWRoeCVkdiBxPSVkAFN0YXJ0IG9mIEltYWdlAFN0YXJ0IE9mIFNjYW46ICVkIGNvbXBvbmVudHMAICAgIENvbXBvbmVudCAlZDogZGM9JWQgYWM9JWQAICBTcz0lZCwgU2U9JWQsIEFoPSVkLCBBbD0lZABDbG9zZWQgdGVtcG9yYXJ5IGZpbGUgJXMAT3BlbmVkIHRlbXBvcmFyeSBmaWxlICVzAEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogSlBFRy1jb21wcmVzc2VkIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogcGFsZXR0ZSB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IFJHQiB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBVbnJlY29nbml6ZWQgY29tcG9uZW50IElEcyAlZCAlZCAlZCwgYXNzdW1pbmcgWUNiQ3IARnJlZWQgWE1TIGhhbmRsZSAldQBPYnRhaW5lZCBYTVMgaGFuZGxlICV1AFVua25vd24gQWRvYmUgY29sb3IgdHJhbnNmb3JtIGNvZGUgJWQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBhcml0aG1ldGljIGNvZGUASW5jb25zaXN0ZW50IHByb2dyZXNzaW9uIHNlcXVlbmNlIGZvciBjb21wb25lbnQgJWQgY29lZmZpY2llbnQgJWQAQ29ycnVwdCBKUEVHIGRhdGE6ICV1IGV4dHJhbmVvdXMgYnl0ZXMgYmVmb3JlIG1hcmtlciAweCUwMngAQ29ycnVwdCBKUEVHIGRhdGE6IHByZW1hdHVyZSBlbmQgb2YgZGF0YSBzZWdtZW50AENvcnJ1cHQgSlBFRyBkYXRhOiBiYWQgSHVmZm1hbiBjb2RlAFdhcm5pbmc6IHVua25vd24gSkZJRiByZXZpc2lvbiBudW1iZXIgJWQuJTAyZABQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZmlsZQBDb3JydXB0IEpQRUcgZGF0YTogZm91bmQgbWFya2VyIDB4JTAyeCBpbnN0ZWFkIG9mIFJTVCVkAEludmFsaWQgU09TIHBhcmFtZXRlcnMgZm9yIHNlcXVlbnRpYWwgSlBFRwBBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gbWFueSBzY2FubGluZXMAU09TAExTRQBKUEVHTUVNACVsZCVjACVzCgAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAcndhAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQBfWgBfX19aAF9ibG9ja19pbnZva2UAaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gAGxvbmcgbG9uZwBfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABsb25nIGRvdWJsZQBfX2Zsb2F0MTI4AC4uLgBkZWNpbWFsNjQAZGVjaW1hbDEyOABkZWNpbWFsMzIAZGVjaW1hbDE2AGNoYXIzMl90AGNoYXIxNl90AGF1dG8AZGVjbHR5cGUoYXV0bykAc3RkOjpudWxscHRyX3QAW2FiaToAXQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEFiaVRhZ0F0dHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTROb2RlRQBhbGxvY2F0b3IAYmFzaWNfc3RyaW5nAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0Ac3RkOjphbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAIGltYWdpbmFyeQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFBvc3RmaXhRdWFsaWZpZWRUeXBlRQAgY29tcGxleAApACAAKAAmACYmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzUmVmZXJlbmNlVHlwZUUAb2JqY19vYmplY3QAKgBpZDwAPgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvaW50ZXJUeXBlRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQA8ACwgAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyVGVtcGxhdGVBcmdzRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAHdjaGFyX3QAYjBFAGIxRQB1AHVsAHVsbABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUludGVnZXJDYXN0RXhwckUAJUxhTABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZsb2F0TGl0ZXJhbEltcGxJZUVFACVhAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElkRUUAJWFmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElmRUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOEJvb2xFeHByRQAtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwVGVtcGxhdGVBcmd1bWVudFBhY2tFAGdzACY9AD0AYWxpZ25vZiAoACwAfgAuKgAvAC89AF4AXj0APT0APj0APD0APDwAPDw9AC09ACo9AC0tACE9ACEAfHwAfAB8PQAtPioAKwArPQArKwAtPgAlACU9AD4+AD4+PQBzaXplb2YgKAB0eXBlaWQgKAB0aHJvdwB0aHJvdyAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJJbml0TGlzdEV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzTm9kZUFycmF5Tm9kZUUAc2l6ZW9mLi4uICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNFbmNsb3NpbmdFeHByRQBzaXplb2YuLi4oAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIyUGFyYW1ldGVyUGFja0V4cGFuc2lvbkUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTlTaXplb2ZQYXJhbVBhY2tFeHByRQBzdGF0aWNfY2FzdAA+KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Q2FzdEV4cHJFAHJlaW50ZXJwcmV0X2Nhc3QAKSA/ICgAKSA6ICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVDb25kaXRpb25hbEV4cHJFAG5vZXhjZXB0ICgAbncAbmEAcGkAOjpvcGVyYXRvciAAbmV3AFtdAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTdOZXdFeHByRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvc3RmaXhFeHByRQAgLi4uIAAgPSAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVCcmFjZWRSYW5nZUV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQnJhY2VkRXhwckUAX0dMT0JBTF9fTgAoYW5vbnltb3VzIG5hbWVzcGFjZSkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOE5hbWVUeXBlRQApWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOEFycmF5U3Vic2NyaXB0RXhwckUALgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME1lbWJlckV4cHJFAHNyTgBzcgA6OgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFAGRuAG9uAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IvAG9wZXJhdG9yLz0Ab3BlcmF0b3JeAG9wZXJhdG9yXj0Ab3BlcmF0b3I9PQBvcGVyYXRvcj49AG9wZXJhdG9yPgBvcGVyYXRvcltdAG9wZXJhdG9yPD0Ab3BlcmF0b3I8PABvcGVyYXRvcjw8PQBvcGVyYXRvcjwAb3BlcmF0b3ItAG9wZXJhdG9yLT0Ab3BlcmF0b3IqPQBvcGVyYXRvci0tAG9wZXJhdG9yIG5ld1tdAG9wZXJhdG9yIT0Ab3BlcmF0b3IhAG9wZXJhdG9yIG5ldwBvcGVyYXRvcnx8AG9wZXJhdG9yfABvcGVyYXRvcnw9AG9wZXJhdG9yLT4qAG9wZXJhdG9yKwBvcGVyYXRvcis9AG9wZXJhdG9yKysAb3BlcmF0b3ItPgBvcGVyYXRvcj8Ab3BlcmF0b3IlAG9wZXJhdG9yJT0Ab3BlcmF0b3I+PgBvcGVyYXRvcj4+PQBvcGVyYXRvcjw9PgBvcGVyYXRvciIiIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMkNvbnZlcnNpb25PcGVyYXRvclR5cGVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThEdG9yTmFtZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQBkeW5hbWljX2Nhc3QAZGVsZXRlAFtdIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMERlbGV0ZUV4cHJFAGN2ACkoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0Q29udmVyc2lvbkV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThDYWxsRXhwckUAY29uc3RfY2FzdABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFByZWZpeEV4cHJFACkgACAoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQmluYXJ5RXhwckUAYWEAYW4AYU4AYVMAY20AZHMAZHYAZFYAZW8AZU8AZXEAZ2UAZ3QAbGUAbHMAbFMAbHQAbWkAbUkAbWwAbUwAbmUAb28Ab3IAb1IAcGwAcEwAcm0Ack0AcnMAclMALi4uIAAgLi4uAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThGb2xkRXhwckUAZnAAZkwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNGdW5jdGlvblBhcmFtRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyNEZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZUUAVHMAc3RydWN0AFR1AHVuaW9uAFRlAGVudW0ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJFbGFib3JhdGVkVHlwZVNwZWZUeXBlRQBTdEwAU3QAc3RkOjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZTdGRRdWFsaWZpZWROYW1lRQBEQwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAVXQAVWwAdkUAJ2xhbWJkYQAnKABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNsb3N1cmVUeXBlTmFtZUUAJ3VubmFtZWQAJwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNVVubmFtZWRUeXBlTmFtZUUAc3RyaW5nIGxpdGVyYWwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOUxvY2FsTmFtZUUAc3RkAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyQ3RvckR0b3JOYW1lRQBiYXNpY19pc3RyZWFtAGJhc2ljX29zdHJlYW0AYmFzaWNfaW9zdHJlYW0Ac3RkOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjphbGxvY2F0b3I8Y2hhcj4gPgBzdGQ6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4Ac3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjdFeHBhbmRlZFNwZWNpYWxTdWJzdGl0dXRpb25FAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTmVzdGVkTmFtZUUAOjoqAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5UG9pbnRlclRvTWVtYmVyVHlwZUUAWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5QXJyYXlUeXBlRQBEdgAgdmVjdG9yWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFZlY3RvclR5cGVFAHBpeGVsIHZlY3RvclsATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVQaXhlbFZlY3RvclR5cGVFAGRlY2x0eXBlKAB1bnNpZ25lZCBsb25nIGxvbmcAb2JqY3Byb3RvACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0AE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTdWZW5kb3JFeHRRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNPYmpDUHJvdG9OYW1lRQBEbwBub2V4Y2VwdABETwBEdwBEeABSRQBPRQAgJgAgJiYATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJGdW5jdGlvblR5cGVFAHRocm93KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMER5bmFtaWNFeGNlcHRpb25TcGVjRQBub2V4Y2VwdCgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExU3BlY2lhbE5hbWVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlEb3RTdWZmaXhFAFVhOWVuYWJsZV9pZkkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGdW5jdGlvbkVuY29kaW5nRQAgW2VuYWJsZV9pZjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJFbmFibGVJZkF0dHJFAHRocmVhZC1sb2NhbCB3cmFwcGVyIHJvdXRpbmUgZm9yIAByZWZlcmVuY2UgdGVtcG9yYXJ5IGZvciAAZ3VhcmQgdmFyaWFibGUgZm9yIABub24tdmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAdGhyZWFkLWxvY2FsIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgZm9yIABjb25zdHJ1Y3Rpb24gdnRhYmxlIGZvciAALWluLQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMUN0b3JWdGFibGVTcGVjaWFsTmFtZUUAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAdHlwZWluZm8gbmFtZSBmb3IgAHR5cGVpbmZvIGZvciAAVlRUIGZvciAAdnRhYmxlIGZvciAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF"; @@ -7322,32 +7322,32 @@ function _read_markers($0) { switch ($$0171$i | 0) { case 4: { - $$0170$ph$i = 3792; + $$0170$ph$i = 3280; break; } case 9: { - $$0170$ph$i = 3680; + $$0170$ph$i = 3168; break; } case 16: { - $$0170$ph$i = 3552; + $$0170$ph$i = 3040; break; } case 25: { - $$0170$ph$i = 3376; + $$0170$ph$i = 2864; break; } case 36: { - $$0170$ph$i = 3168; + $$0170$ph$i = 2656; break; } case 49: { - $$0170$ph$i = 2896; + $$0170$ph$i = 2384; break; } default: @@ -7355,7 +7355,7 @@ function _read_markers($0) { $$4192$i = $$3$i67 + -1 | 0; $$4163193$i = $$3162$i + 1 | 0; if (($$0171$i | 0) > 0) { - $$0170220$i = 2576; + $$0170220$i = 2064; $$0171177218$i = $$0171$i; $$4163193222$i = $$4163193$i; $$4192221$i = $$4192$i; @@ -7376,7 +7376,7 @@ function _read_markers($0) { label = 205; } else if ((label | 0) == 203) { label = 0; - $$0170220$i = 2576; + $$0170220$i = 2064; $$0171177218$i = 64; $$4163193222$i = $$3162$i + 1 | 0; $$4192221$i = $$3$i67 + -1 | 0; @@ -8479,7 +8479,6 @@ function _read_markers($0) { } return 0; } - function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($0) { $0 = $0 | 0; var $$0 = 0, $$1 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$13 = 0, $$14 = 0, $$15 = 0, $$16 = 0, $$17 = 0, $$2 = 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, $$42 = 0, $$43 = 0, $$47 = 0, $$48 = 0, $$49 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$byval_copy39 = 0, $1 = 0, $10 = 0, $101 = 0, $102 = 0, $104 = 0, $105 = 0, $107 = 0, $11 = 0, $111 = 0, $114 = 0, $12 = 0, $123 = 0, $127 = 0, $128 = 0, $13 = 0, $130 = 0, $134 = 0, $138 = 0, $14 = 0, $144 = 0, $145 = 0, $147 = 0, $15 = 0, $151 = 0, $152 = 0, $154 = 0, $158 = 0, $16 = 0, $161 = 0, $167 = 0, $17 = 0, $170 = 0, $173 = 0, $179 = 0, $18 = 0, $182 = 0, $188 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $196 = 0, $199 = 0, $2 = 0, $20 = 0, $206 = 0, $209 = 0, $21 = 0, $212 = 0, $215 = 0, $22 = 0, $221 = 0, $224 = 0, $227 = 0, $23 = 0, $230 = 0, $234 = 0, $237 = 0, $24 = 0, $246 = 0, $249 = 0, $25 = 0, $252 = 0, $256 = 0, $26 = 0, $265 = 0, $268 = 0, $27 = 0, $271 = 0, $277 = 0, $28 = 0, $280 = 0, $283 = 0, $287 = 0, $29 = 0, $290 = 0, $294 = 0, $297 = 0, $298 = 0, $3 = 0, $30 = 0, $300 = 0, $307 = 0, $308 = 0, $31 = 0, $310 = 0, $312 = 0, $319 = 0, $32 = 0, $320 = 0, $322 = 0, $326 = 0, $329 = 0, $33 = 0, $332 = 0, $335 = 0, $34 = 0, $341 = 0, $342 = 0, $344 = 0, $349 = 0, $35 = 0, $356 = 0, $36 = 0, $361 = 0, $367 = 0, $37 = 0, $371 = 0, $375 = 0, $376 = 0, $379 = 0, $38 = 0, $381 = 0, $388 = 0, $39 = 0, $393 = 0, $397 = 0, $398 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $403 = 0, $41 = 0, $410 = 0, $42 = 0, $43 = 0, $45 = 0, $48 = 0, $5 = 0, $6 = 0, $66 = 0, $69 = 0, $7 = 0, $72 = 0, $75 = 0, $78 = 0, $8 = 0, $82 = 0, $87 = 0, $9 = 0, $94 = 0, $95 = 0, $97 = 0, label = 0, sp = 0; @@ -10991,6 +10990,7 @@ function _arPattGetImage2($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { STACKTOP = sp; return $$0 | 0; } + function _malloc($0) { $0 = $0 | 0; var $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i16$i = 0, $$0187$i = 0, $$0189$i = 0, $$0190$i = 0, $$0191$i = 0, $$0197 = 0, $$0199 = 0, $$02065$i$i = 0, $$0207$lcssa$i$i = 0, $$02074$i$i = 0, $$0211$i$i = 0, $$0212$i$i = 0, $$024372$i = 0, $$0286$i$i = 0, $$028711$i$i = 0, $$0288$lcssa$i$i = 0, $$028810$i$i = 0, $$0294$i$i = 0, $$0295$i$i = 0, $$0340$i = 0, $$034217$i = 0, $$0343$lcssa$i = 0, $$034316$i = 0, $$0345$i = 0, $$0351$i = 0, $$0357$i = 0, $$0358$i = 0, $$0360$i = 0, $$0361$i = 0, $$0367$i = 0, $$1194$i = 0, $$1194$i$be = 0, $$1194$i$ph = 0, $$1196$i = 0, $$1196$i$be = 0, $$1196$i$ph = 0, $$124471$i = 0, $$1290$i$i = 0, $$1290$i$i$be = 0, $$1290$i$i$ph = 0, $$1292$i$i = 0, $$1292$i$i$be = 0, $$1292$i$i$ph = 0, $$1341$i = 0, $$1346$i = 0, $$1362$i = 0, $$1369$i = 0, $$1369$i$be = 0, $$1369$i$ph = 0, $$1373$i = 0, $$1373$i$be = 0, $$1373$i$ph = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2353$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i203 = 0, $$3$i203218 = 0, $$3348$i = 0, $$3371$i = 0, $$4$lcssa$i = 0, $$420$i = 0, $$420$i$ph = 0, $$4236$i = 0, $$4349$lcssa$i = 0, $$434919$i = 0, $$434919$i$ph = 0, $$4355$i = 0, $$535618$i = 0, $$535618$i$ph = 0, $$723947$i = 0, $$748$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i18$iZ2D = 0, $$pre$phi$i209Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi17$i$iZ2D = 0, $$pre$phiZ2D = 0, $1 = 0, $1000 = 0, $1003 = 0, $1008 = 0, $101 = 0, $1014 = 0, $1017 = 0, $1018 = 0, $102 = 0, $1025 = 0, $1037 = 0, $1042 = 0, $1049 = 0, $1050 = 0, $1051 = 0, $1060 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1070 = 0, $108 = 0, $112 = 0, $114 = 0, $115 = 0, $117 = 0, $119 = 0, $121 = 0, $123 = 0, $125 = 0, $127 = 0, $129 = 0, $134 = 0, $14 = 0, $140 = 0, $143 = 0, $146 = 0, $149 = 0, $150 = 0, $151 = 0, $153 = 0, $156 = 0, $158 = 0, $16 = 0, $161 = 0, $163 = 0, $166 = 0, $169 = 0, $17 = 0, $170 = 0, $172 = 0, $173 = 0, $175 = 0, $176 = 0, $178 = 0, $179 = 0, $18 = 0, $184 = 0, $185 = 0, $19 = 0, $193 = 0, $198 = 0, $20 = 0, $202 = 0, $208 = 0, $215 = 0, $219 = 0, $228 = 0, $229 = 0, $231 = 0, $232 = 0, $236 = 0, $237 = 0, $245 = 0, $246 = 0, $247 = 0, $249 = 0, $250 = 0, $255 = 0, $256 = 0, $259 = 0, $261 = 0, $264 = 0, $269 = 0, $27 = 0, $276 = 0, $286 = 0, $290 = 0, $299 = 0, $30 = 0, $302 = 0, $306 = 0, $308 = 0, $309 = 0, $311 = 0, $313 = 0, $315 = 0, $317 = 0, $319 = 0, $321 = 0, $323 = 0, $333 = 0, $334 = 0, $336 = 0, $34 = 0, $341 = 0, $346 = 0, $348 = 0, $351 = 0, $353 = 0, $356 = 0, $358 = 0, $361 = 0, $364 = 0, $365 = 0, $367 = 0, $368 = 0, $37 = 0, $370 = 0, $371 = 0, $373 = 0, $374 = 0, $379 = 0, $380 = 0, $385 = 0, $388 = 0, $393 = 0, $397 = 0, $403 = 0, $41 = 0, $410 = 0, $414 = 0, $422 = 0, $425 = 0, $426 = 0, $427 = 0, $431 = 0, $432 = 0, $438 = 0, $44 = 0, $443 = 0, $444 = 0, $447 = 0, $449 = 0, $452 = 0, $457 = 0, $463 = 0, $465 = 0, $467 = 0, $469 = 0, $47 = 0, $475 = 0, $487 = 0, $49 = 0, $492 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $510 = 0, $512 = 0, $513 = 0, $515 = 0, $52 = 0, $524 = 0, $528 = 0, $530 = 0, $531 = 0, $532 = 0, $54 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $550 = 0, $552 = 0, $553 = 0, $559 = 0, $56 = 0, $561 = 0, $568 = 0, $570 = 0, $572 = 0, $573 = 0, $574 = 0, $58 = 0, $582 = 0, $583 = 0, $586 = 0, $590 = 0, $593 = 0, $596 = 0, $6 = 0, $60 = 0, $602 = 0, $606 = 0, $610 = 0, $619 = 0, $62 = 0, $620 = 0, $626 = 0, $628 = 0, $632 = 0, $635 = 0, $637 = 0, $64 = 0, $641 = 0, $643 = 0, $648 = 0, $649 = 0, $650 = 0, $656 = 0, $658 = 0, $662 = 0, $664 = 0, $67 = 0, $673 = 0, $675 = 0, $680 = 0, $681 = 0, $682 = 0, $688 = 0, $69 = 0, $690 = 0, $694 = 0, $7 = 0, $70 = 0, $700 = 0, $704 = 0, $71 = 0, $710 = 0, $712 = 0, $718 = 0, $72 = 0, $722 = 0, $723 = 0, $728 = 0, $73 = 0, $734 = 0, $739 = 0, $742 = 0, $743 = 0, $746 = 0, $748 = 0, $750 = 0, $753 = 0, $764 = 0, $769 = 0, $77 = 0, $771 = 0, $774 = 0, $776 = 0, $779 = 0, $782 = 0, $783 = 0, $784 = 0, $786 = 0, $788 = 0, $789 = 0, $791 = 0, $792 = 0, $797 = 0, $798 = 0, $8 = 0, $80 = 0, $807 = 0, $812 = 0, $815 = 0, $816 = 0, $822 = 0, $83 = 0, $830 = 0, $836 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $845 = 0, $846 = 0, $852 = 0, $857 = 0, $858 = 0, $861 = 0, $863 = 0, $866 = 0, $87 = 0, $871 = 0, $877 = 0, $879 = 0, $881 = 0, $882 = 0, $889 = 0, $9 = 0, $901 = 0, $906 = 0, $913 = 0, $914 = 0, $915 = 0, $92 = 0, $923 = 0, $927 = 0, $93 = 0, $931 = 0, $933 = 0, $939 = 0, $940 = 0, $942 = 0, $943 = 0, $945 = 0, $947 = 0, $95 = 0, $952 = 0, $953 = 0, $954 = 0, $96 = 0, $960 = 0, $962 = 0, $968 = 0, $973 = 0, $976 = 0, $977 = 0, $978 = 0, $98 = 0, $982 = 0, $983 = 0, $989 = 0, $994 = 0, $995 = 0, $998 = 0, $spec$select$i205 = 0, $spec$select3$i = 0, $spec$select49$i = 0, label = 0, sp = 0, $962$looptemp = 0; @@ -14478,6 +14478,7 @@ function __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE STACKTOP = sp; return $$10 | 0; } + function _jpeg_make_d_derived_tbl($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; @@ -21136,6 +21137,7 @@ function _printf_core($0, $1, $2, $3, $4, $5, $6) { STACKTOP = sp; return $$0 | 0; } + function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseExprPrimaryEv($0) { $0 = $0 | 0; var $$1 = 0, $$2 = 0, $$3 = 0, $$byval_copy16 = 0, $1 = 0, $10 = 0, $100 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $24 = 0, $3 = 0, $32 = 0, $36 = 0, $4 = 0, $40 = 0, $44 = 0, $48 = 0, $5 = 0, $52 = 0, $56 = 0, $6 = 0, $60 = 0, $64 = 0, $68 = 0, $7 = 0, $72 = 0, $76 = 0, $8 = 0, $80 = 0, $9 = 0, $96 = 0, sp = 0; @@ -23129,7 +23131,7 @@ function _decode_mcu_sub($0, $1) { return $$9 | 0; } -function _decode_mcu_66($0, $1) { +function _decode_mcu($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$017$i = 0, $$0188 = 0, $$0189296 = 0, $$0190 = 0, $$0191$lcssa = 0, $$0191295 = 0, $$0201 = 0, $$0202$lcssa = 0, $$0202294 = 0, $$0231280 = 0, $$11$ph = 0, $$11213$ph = 0, $$11247$ph = 0, $$1192 = 0, $$12 = 0, $$1203 = 0, $$12214 = 0, $$1232 = 0, $$13 = 0, $$13215 = 0, $$14 = 0, $$14216 = 0, $$16218286 = 0, $$16218286$ph = 0, $$16287 = 0, $$16287$ph = 0, $$17 = 0, $$17219 = 0, $$18 = 0, $$18220 = 0, $$20$ph = 0, $$20222$ph = 0, $$21 = 0, $$21223 = 0, $$2193 = 0, $$22 = 0, $$2204 = 0, $$22224 = 0, $$2238$ph = 0, $$24 = 0, $$24226 = 0, $$3234285 = 0, $$3234285$ph = 0, $$3239 = 0, $$4195$ph = 0, $$4206$ph = 0, $$5196 = 0, $$5207 = 0, $$6197 = 0, $$6208 = 0, $$6242$ph = 0, $$7198282 = 0, $$7209281 = 0, $$8199 = 0, $$8210 = 0, $$9 = 0, $$9200 = 0, $$9211 = 0, $$in = 0, $$pn = 0, $104 = 0, $106 = 0, $112 = 0, $113 = 0, $117 = 0, $119 = 0, $12 = 0, $125 = 0, $129 = 0, $130 = 0, $132 = 0, $138 = 0, $141 = 0, $142 = 0, $16 = 0, $166 = 0, $167 = 0, $17 = 0, $171 = 0, $173 = 0, $179 = 0, $183 = 0, $184 = 0, $198 = 0, $2 = 0, $200 = 0, $201 = 0, $24 = 0, $3 = 0, $41 = 0, $42 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $65 = 0, $69 = 0, $71 = 0, $77 = 0, $82 = 0, $84 = 0, $86 = 0, $9 = 0, $92 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; @@ -23379,7 +23381,7 @@ function _decode_mcu_66($0, $1) { $138 = $$12214 - $130 | 0; $141 = HEAP32[5184 + ($130 << 2) >> 2] | 0; $142 = $$12 >> $138 & $141; - HEAP16[$58 + (HEAP32[2576 + ($132 << 2) >> 2] << 1) >> 1] = $142 - (($142 | 0) > (HEAP32[5184 + ($130 + -1 << 2) >> 2] | 0) ? 0 : $141); + HEAP16[$58 + (HEAP32[2064 + ($132 << 2) >> 2] << 1) >> 1] = $142 - (($142 | 0) > (HEAP32[5184 + ($130 + -1 << 2) >> 2] | 0) ? 0 : $141); $$1232 = $132; $$13 = $$12; $$13215 = $138; @@ -30286,7 +30288,7 @@ function _consume_markers($0) { case 0: { HEAP32[$21 >> 2] = 1; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 0; $103 = 1; $105 = $182; @@ -30296,7 +30298,7 @@ function _consume_markers($0) { case 3: { HEAP32[$21 >> 2] = 2; - HEAP32[$22 >> 2] = 3792; + HEAP32[$22 >> 2] = 3280; HEAP32[$23 >> 2] = 3; $103 = 2; $105 = $182; @@ -30306,7 +30308,7 @@ function _consume_markers($0) { case 8: { HEAP32[$21 >> 2] = 3; - HEAP32[$22 >> 2] = 3680; + HEAP32[$22 >> 2] = 3168; HEAP32[$23 >> 2] = 8; $103 = 3; $105 = $182; @@ -30316,7 +30318,7 @@ function _consume_markers($0) { case 15: { HEAP32[$21 >> 2] = 4; - HEAP32[$22 >> 2] = 3552; + HEAP32[$22 >> 2] = 3040; HEAP32[$23 >> 2] = 15; $103 = 4; $105 = $182; @@ -30326,7 +30328,7 @@ function _consume_markers($0) { case 24: { HEAP32[$21 >> 2] = 5; - HEAP32[$22 >> 2] = 3376; + HEAP32[$22 >> 2] = 2864; HEAP32[$23 >> 2] = 24; $103 = 5; $105 = $182; @@ -30336,7 +30338,7 @@ function _consume_markers($0) { case 35: { HEAP32[$21 >> 2] = 6; - HEAP32[$22 >> 2] = 3168; + HEAP32[$22 >> 2] = 2656; HEAP32[$23 >> 2] = 35; $103 = 6; $105 = $182; @@ -30346,7 +30348,7 @@ function _consume_markers($0) { case 48: { HEAP32[$21 >> 2] = 7; - HEAP32[$22 >> 2] = 2896; + HEAP32[$22 >> 2] = 2384; HEAP32[$23 >> 2] = 48; $103 = 7; $105 = $182; @@ -30356,7 +30358,7 @@ function _consume_markers($0) { case 63: { HEAP32[$21 >> 2] = 8; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 8; $105 = $182; @@ -30366,7 +30368,7 @@ function _consume_markers($0) { case 80: { HEAP32[$21 >> 2] = 9; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 9; $105 = $182; @@ -30376,7 +30378,7 @@ function _consume_markers($0) { case 99: { HEAP32[$21 >> 2] = 10; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 10; $105 = $182; @@ -30386,7 +30388,7 @@ function _consume_markers($0) { case 120: { HEAP32[$21 >> 2] = 11; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 11; $105 = $182; @@ -30396,7 +30398,7 @@ function _consume_markers($0) { case 143: { HEAP32[$21 >> 2] = 12; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 12; $105 = $182; @@ -30406,7 +30408,7 @@ function _consume_markers($0) { case 168: { HEAP32[$21 >> 2] = 13; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 13; $105 = $182; @@ -30416,7 +30418,7 @@ function _consume_markers($0) { case 195: { HEAP32[$21 >> 2] = 14; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 14; $105 = $182; @@ -30426,7 +30428,7 @@ function _consume_markers($0) { case 224: { HEAP32[$21 >> 2] = 15; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 15; $105 = $182; @@ -30436,7 +30438,7 @@ function _consume_markers($0) { case 255: { HEAP32[$21 >> 2] = 16; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 16; $105 = $182; @@ -30461,7 +30463,7 @@ function _consume_markers($0) { if ((label | 0) == 22) { label = 0; HEAP32[$21 >> 2] = 8; - HEAP32[$22 >> 2] = 2576; + HEAP32[$22 >> 2] = 2064; HEAP32[$23 >> 2] = 63; $103 = 8; $105 = $182; @@ -30533,7 +30535,7 @@ function _consume_markers($0) { $$0 = 1; return $$0 | 0; } else if ((label | 0) == 57) { - _start_input_pass_79($0); + _start_input_pass_84($0); $$0 = 1; return $$0 | 0; } else if ((label | 0) == 58) { @@ -32083,7 +32085,6 @@ function _jpgread($0, $1, $2, $3, $4) { STACKTOP = sp; return $$0$reg2mem$0 | 0; } - function _decompress_smooth_data($0, $1) { $0 = $0 | 0; $1 = $1 | 0; @@ -34205,7 +34206,7 @@ function _jinit_color_deconverter($0) { $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 28) | 0; $5 = $0 + 480 | 0; HEAP32[$5 >> 2] = $4; - HEAP32[$4 >> 2] = 190; + HEAP32[$4 >> 2] = 196; $6 = $0 + 40 | 0; switch (HEAP32[$6 >> 2] | 0) { case 1: @@ -34542,7 +34543,7 @@ function _jinit_color_deconverter($0) { return; } -function _decode_mcu_AC_refine_65($0, $1) { +function _decode_mcu_AC_refine($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$0 = 0, $$0164 = 0, $$0166 = 0, $$017$i = 0, $$0170 = 0, $$0175 = 0, $$0180 = 0, $$0197 = 0, $$0199205 = 0, $$10 = 0, $$10190 = 0, $$11 = 0, $$11191 = 0, $$1167 = 0, $$1171 = 0, $$1176 = 0, $$1181 = 0, $$1198 = 0, $$1200 = 0, $$12192206 = 0, $$12207 = 0, $$13 = 0, $$13193 = 0, $$14 = 0, $$14194 = 0, $$15 = 0, $$15195 = 0, $$16 = 0, $$16196 = 0, $$2$ph = 0, $$2168209 = 0, $$2172 = 0, $$2177 = 0, $$2182 = 0, $$3 = 0, $$3169 = 0, $$3173208 = 0, $$4174 = 0, $$4179$ph = 0, $$4184$ph = 0, $$4226 = 0, $$5 = 0, $$5185 = 0, $$6 = 0, $$6186 = 0, $$7 = 0, $$7187 = 0, $$8 = 0, $$8188 = 0, $$9 = 0, $$9189 = 0, $104 = 0, $113 = 0, $12 = 0, $121 = 0, $125 = 0, $126 = 0, $136 = 0, $140 = 0, $147 = 0, $152 = 0, $156 = 0, $16 = 0, $164 = 0, $168 = 0, $169 = 0, $17 = 0, $181 = 0, $184 = 0, $2 = 0, $24 = 0, $3 = 0, $41 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $49 = 0, $5 = 0, $50 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $63 = 0, $65 = 0, $67 = 0, $68 = 0, $72 = 0, $73 = 0, $77 = 0, $79 = 0, $85 = 0, $89 = 0, $9 = 0, $90 = 0, $99 = 0, label = 0, sp = 0; @@ -35793,7 +35794,6 @@ function _realize_virt_arrays($0) { } while (($$1123 | 0) != 0); return; } - function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; @@ -38226,7 +38226,7 @@ function _start_pass_huff_decoder($0) { FUNCTION_TABLE_vii[HEAP32[$132 + 4 >> 2] & 255]($0, -1); } $136 = $0 + 436 | 0; - HEAP32[$2 + 4 >> 2] = (HEAP32[$136 >> 2] | 0) == 63 ? 64 : 65; + HEAP32[$2 + 4 >> 2] = (HEAP32[$136 >> 2] | 0) == 63 ? 61 : 62; $140 = $0 + 340 | 0; if ((HEAP32[$140 >> 2] | 0) > 0) { $$2285 = 0; @@ -38410,7 +38410,7 @@ function _start_pass_huff_decoder($0) { } $93 = HEAP32[$6 >> 2] | 0; $94 = ($93 | 0) == 0; - HEAP32[$2 + 4 >> 2] = (HEAP32[$$pre$phi308Z2D >> 2] | 0) == 0 ? ($94 ? 60 : 61) : $94 ? 62 : 63; + HEAP32[$2 + 4 >> 2] = (HEAP32[$$pre$phi308Z2D >> 2] | 0) == 0 ? ($94 ? 57 : 58) : $94 ? 59 : 60; L69 : do if (($97 | 0) > 0) { $98 = $2 + 64 | 0; $$1287 = 0; @@ -39289,7 +39289,7 @@ function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStore return (HEAP32[$9 >> 2] | 0) > -1 | 0; } -function _decode_mcu($0, $1) { +function _decode_mcu_24($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$0148177 = 0, $$0149$lcssa = 0, $$0149179 = 0, $$0155 = 0, $$0157176 = 0, $$0162200 = 0, $$035$i = 0, $$1 = 0, $$1156$lcssa = 0, $$1158 = 0, $$2159$lcssa = 0, $$2159182 = 0, $$3152$lcssa = 0, $$3152195 = 0, $$3160189 = 0, $$3190 = 0, $$4 = 0, $$4161 = 0, $$lcssa = 0, $$sink = 0, $113 = 0, $116 = 0, $117 = 0, $120 = 0, $122 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $137 = 0, $138 = 0, $141 = 0, $144 = 0, $150 = 0, $151 = 0, $155 = 0, $156 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $166 = 0, $172 = 0, $175 = 0, $177 = 0, $181 = 0, $184 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $68 = 0, $7 = 0, $70 = 0, $72 = 0, $74 = 0, $75 = 0, $77 = 0, $79 = 0, $8 = 0, $83 = 0, $85 = 0, $86 = 0, $89 = 0, $92 = 0, $94 = 0, $98 = 0, $spec$select = 0, $spec$select164 = 0, dest = 0, label = 0, stop = 0; @@ -40742,9 +40742,9 @@ function _jinit_1pass_quantizer($0) { $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 88) | 0; $5 = $0 + 484 | 0; HEAP32[$5 >> 2] = $4; - HEAP32[$4 >> 2] = 133; - HEAP32[$4 + 8 >> 2] = 186; - HEAP32[$4 + 12 >> 2] = 187; + HEAP32[$4 >> 2] = 135; + HEAP32[$4 + 8 >> 2] = 199; + HEAP32[$4 + 12 >> 2] = 200; HEAP32[$4 + 68 >> 2] = 0; HEAP32[$4 + 52 >> 2] = 0; $10 = $0 + 120 | 0; @@ -40806,7 +40806,7 @@ function _jinit_1pass_quantizer($0) { $$26264$us$us$i$us$i = 0; $$265$us$us$i$us$i = $$05981$i$i; while (1) { - $51 = $26 + 32 + (HEAP32[17004 + ($$26264$us$us$i$us$i << 2) >> 2] << 2) | 0; + $51 = $26 + 32 + (HEAP32[17020 + ($$26264$us$us$i$us$i << 2) >> 2] << 2) | 0; $52 = HEAP32[$51 >> 2] | 0; $54 = $52 + 1 | 0; $55 = Math_imul(($$265$us$us$i$us$i | 0) / ($52 | 0) | 0, $54) | 0; @@ -43549,7 +43549,6 @@ function _update_box($0, $1) { HEAP32[$135 >> 2] = $$0$lcssa; return; } - function _jpeg_idct_13x13($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; @@ -49943,7 +49942,7 @@ function _jpeg_idct_12x12($0, $1, $2, $3, $4) { return; } -function _start_pass_51($0) { +function _start_pass_87($0) { $0 = $0 | 0; var $$08497 = 0, $$085103 = 0, $$08699 = 0, $$087102 = 0, $$088101 = 0, $$090100 = 0, $$189 = 0, $$191 = 0, $$198 = 0, $$296 = 0, $10 = 0, $103 = 0, $112 = 0, $12 = 0, $121 = 0, $132 = 0, $15 = 0, $16 = 0, $19 = 0, $2 = 0, $3 = 0, $31 = 0, $35 = 0, $38 = 0, $45 = 0, $54 = 0, $58 = 0, $60 = 0.0, $68 = 0, $77 = 0, $8 = 0, $86 = 0, $95 = 0; $2 = HEAP32[$0 + 472 >> 2] | 0; @@ -50211,7 +50210,7 @@ function _start_pass_51($0) { $45 = HEAP32[$$087102 + 84 >> 2] | 0; $$198 = 0; do { - $54 = (Math_imul(HEAP16[5248 + ($$198 << 1) >> 1] | 0, HEAPU16[$35 + ($$198 << 1) >> 1] | 0) | 0) + 2048 >> 12; + $54 = (Math_imul(HEAP16[5504 + ($$198 << 1) >> 1] | 0, HEAPU16[$35 + ($$198 << 1) >> 1] | 0) | 0) + 2048 >> 12; HEAP32[$45 + ($$198 << 2) >> 2] = $54; $$198 = $$198 + 1 | 0; } while (($$198 | 0) != 64); @@ -50223,7 +50222,7 @@ function _start_pass_51($0) { $$08497 = 0; $$296 = 0; while (1) { - $60 = +HEAPF64[5376 + ($$08497 << 3) >> 3]; + $60 = +HEAPF64[5632 + ($$08497 << 3) >> 3]; HEAPF32[$58 + ($$296 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($$296 << 1) >> 1] | 0) * .125; $68 = $$296 | 1; HEAPF32[$58 + ($68 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($68 << 1) >> 1] | 0) * 1.387039845 * .125; @@ -50683,7 +50682,7 @@ function _try_realloc_chunk($0, $1) { return 0; } -function _decode_mcu_AC_first_63($0, $1) { +function _decode_mcu_AC_first($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$0113 = 0, $$0118140 = 0, $$0122139 = 0, $$0131138 = 0, $$0133 = 0, $$017$i = 0, $$1119 = 0, $$1123 = 0, $$1132 = 0, $$1134 = 0, $$2 = 0, $$2117$ph = 0, $$2120 = 0, $$2124 = 0, $$4$ph = 0, $$4126$ph = 0, $$5 = 0, $$5127 = 0, $$6 = 0, $$6128 = 0, $$7 = 0, $$7129 = 0, $$8 = 0, $$8130 = 0, $100 = 0, $11 = 0, $111 = 0, $117 = 0, $128 = 0, $131 = 0, $15 = 0, $16 = 0, $2 = 0, $23 = 0, $39 = 0, $4 = 0, $40 = 0, $44 = 0, $45 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $55 = 0, $57 = 0, $59 = 0, $60 = 0, $62 = 0, $64 = 0, $66 = 0, $67 = 0, $71 = 0, $72 = 0, $76 = 0, $78 = 0, $8 = 0, $84 = 0, $88 = 0, $90 = 0, $96 = 0, $99 = 0, $trunc = 0, label = 0, sp = 0; @@ -52793,7 +52792,7 @@ function _jpeg_idct_14x7($0, $1, $2, $3, $4) { return; } -function _decode_mcu_DC_first_62($0, $1) { +function _decode_mcu_DC_first($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$0100$lcssa = 0, $$0100117 = 0, $$0104$lcssa = 0, $$0104116 = 0, $$017$i = 0, $$094 = 0, $$099118 = 0, $$1101 = 0, $$1105 = 0, $$2 = 0, $$2102 = 0, $$2106 = 0, $$298$ph = 0, $$3 = 0, $$4$ph = 0, $$4108$ph = 0, $$5 = 0, $$5109 = 0, $$6 = 0, $$6110 = 0, $$in = 0, $105 = 0, $107 = 0, $11 = 0, $113 = 0, $115 = 0, $116 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $26 = 0, $3 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $60 = 0, $62 = 0, $68 = 0, $7 = 0, $72 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $85 = 0, $95 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; @@ -54014,7 +54013,7 @@ function _jpeg_idct_float($0, $1, $2, $3, $4) { return; } -function _decode_mcu_AC_first($0, $1) { +function _decode_mcu_AC_first_21($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$035$i = 0, $$080100 = 0, $$081$lcssa = 0, $$081105 = 0, $$084 = 0, $$086$lcssa = 0, $$08696 = 0, $$1 = 0, $$185$lcssa = 0, $$18799 = 0, $$288 = 0, $$lcssa = 0, $102 = 0, $108 = 0, $111 = 0, $113 = 0, $117 = 0, $120 = 0, $121 = 0, $124 = 0, $126 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $66 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $77 = 0, $8 = 0, $80 = 0, $86 = 0, $87 = 0, $91 = 0, $92 = 0, $96 = 0, $97 = 0, $98 = 0, $spec$select = 0, dest = 0, label = 0, stop = 0; @@ -54557,7 +54556,7 @@ function __ZNK6vision4NodeILi96EE7nearestERNSt3__26vectorIPKS1_NS2_9allocatorIS5 return; } -function _start_input_pass_79($0) { +function _start_input_pass_84($0) { $0 = $0 | 0; var $$030$i = 0, $$07881$i = 0, $$07982$i = 0, $$pre33$i = 0, $1 = 0, $10 = 0, $101 = 0, $105 = 0, $112 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $2 = 0, $20 = 0, $21 = 0, $27 = 0, $38 = 0, $41 = 0, $49 = 0, $5 = 0, $51 = 0, $55 = 0, $57 = 0, $60 = 0, $62 = 0, $66 = 0, $70 = 0, $75 = 0, $79 = 0, $81 = 0, $86 = 0, $90 = 0, $91 = 0, $94 = 0, $96 = 0, $97 = 0, label = 0; $1 = $0 + 340 | 0; @@ -56096,7 +56095,7 @@ function __ZN6vision14ExtractFREAK84ERNS_18BinaryFeatureStoreEPKNS_25GaussianSca } } -function _decode_mcu_DC_first($0, $1) { +function _decode_mcu_DC_first_20($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$035$i = 0, $$087$lcssa = 0, $$087101 = 0, $$09198 = 0, $$093104 = 0, $$099 = 0, $$1 = 0, $$192 = 0, $$sink = 0, $110 = 0, $113 = 0, $114 = 0, $117 = 0, $119 = 0, $125 = 0, $127 = 0, $130 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $65 = 0, $67 = 0, $7 = 0, $71 = 0, $72 = 0, $74 = 0, $76 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, $89 = 0, $91 = 0, $95 = 0, $spec$select = 0, dest = 0, label = 0, stop = 0; @@ -56249,7 +56248,7 @@ function _decode_mcu_DC_first($0, $1) { return 1; } -function _decode_mcu_AC_refine($0, $1) { +function _decode_mcu_AC_refine_23($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$035$i = 0, $$069$lcssa = 0, $$06980 = 0, $$070 = 0, $$071 = 0, $$172 = 0, $$lcssa = 0, $$lcssa75 = 0, $102 = 0, $103 = 0, $114 = 0, $117 = 0, $118 = 0, $122 = 0, $123 = 0, $126 = 0, $131 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $66 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $89 = 0, $93 = 0, $96 = 0, dest = 0, label = 0, stop = 0; @@ -59662,8 +59661,8 @@ function _jinit_master_decompress($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 28) | 0; HEAP32[$0 + 444 >> 2] = $4; - HEAP32[$4 >> 2] = 184; - HEAP32[$4 + 4 >> 2] = 185; + HEAP32[$4 >> 2] = 203; + HEAP32[$4 + 4 >> 2] = 204; HEAP32[$4 + 8 >> 2] = 0; $9 = HEAP32[$0 + 212 >> 2] | 0; if (($9 | 0) != 8) { @@ -61753,10 +61752,10 @@ function _start_pass_1_quant($0, $1) { { $15 = $3 + 4 | 0; if ((HEAP32[$0 + 120 >> 2] | 0) == 3) { - HEAP32[$15 >> 2] = 22; + HEAP32[$15 >> 2] = 9; return; } else { - HEAP32[$15 >> 2] = 23; + HEAP32[$15 >> 2] = 10; return; } break; @@ -61764,7 +61763,7 @@ function _start_pass_1_quant($0, $1) { case 1: { $16 = $0 + 120 | 0; - HEAP32[$3 + 4 >> 2] = (HEAP32[$16 >> 2] | 0) == 3 ? 24 : 25; + HEAP32[$3 + 4 >> 2] = (HEAP32[$16 >> 2] | 0) == 3 ? 11 : 12; HEAP32[$3 + 48 >> 2] = 0; if (!(HEAP32[$3 + 28 >> 2] | 0)) _create_colorindex($0); if (HEAP32[$3 + 52 >> 2] | 0) return; @@ -61800,7 +61799,7 @@ function _start_pass_1_quant($0, $1) { do { $$02425$i$i = 0; do { - $51 = 255 - ((HEAPU8[5440 + ($$026$i$i << 4) + $$02425$i$i >> 0] | 0) << 1) | 0; + $51 = 255 - ((HEAPU8[5248 + ($$026$i$i << 4) + $$02425$i$i >> 0] | 0) << 1) | 0; $52 = $51 * 255 | 0; if (($51 | 0) < 0) $59 = 0 - ((0 - $52 | 0) / ($46 | 0) | 0) | 0; else $59 = ($52 | 0) / ($46 | 0) | 0; HEAP32[$44 + ($$026$i$i << 6) + ($$02425$i$i << 2) >> 2] = $59; @@ -61819,7 +61818,7 @@ function _start_pass_1_quant($0, $1) { } case 2: { - HEAP32[$3 + 4 >> 2] = 26; + HEAP32[$3 + 4 >> 2] = 13; HEAP32[$3 + 84 >> 2] = 0; if (!(HEAP32[$3 + 68 >> 2] | 0)) { $71 = $0 + 112 | 0; @@ -63099,7 +63098,7 @@ function _arith_decode($0, $1) { $71 = HEAP32[$7 >> 2] | 0; } $63 = HEAPU8[$1 >> 0] | 0; - $66 = HEAP32[3872 + (($63 & 127) << 2) >> 2] | 0; + $66 = HEAP32[3360 + (($63 & 127) << 2) >> 2] | 0; $67 = $66 >> 8; $68 = $66 >> 16; $69 = $$lcssa65 - $68 | 0; @@ -66700,8 +66699,8 @@ function _start_pass_2_quant($0, $1) { $14 = 2; } if (!$1) { - HEAP32[$3 + 4 >> 2] = ($14 | 0) == 2 ? 20 : 21; - HEAP32[$3 + 8 >> 2] = 200; + HEAP32[$3 + 4 >> 2] = ($14 | 0) == 2 ? 25 : 26; + HEAP32[$3 + 8 >> 2] = 208; $18 = HEAP32[$0 + 132 >> 2] | 0; if (($18 | 0) >= 1) { if (($18 | 0) > 256) { @@ -66730,8 +66729,8 @@ function _start_pass_2_quant($0, $1) { HEAP32[$3 + 36 >> 2] = 0; } } else { - HEAP32[$3 + 4 >> 2] = 19; - HEAP32[$3 + 8 >> 2] = 199; + HEAP32[$3 + 4 >> 2] = 24; + HEAP32[$3 + 8 >> 2] = 207; HEAP32[$3 + 28 >> 2] = 1; } $50 = $3 + 28 | 0; @@ -67359,7 +67358,7 @@ function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14Mang return $$3 | 0; } -function _decode_mcu_DC_refine_64($0, $1) { +function _decode_mcu_DC_refine($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$0$lcssa = 0, $$017$i = 0, $$037$lcssa = 0, $$03744 = 0, $$03943 = 0, $$040 = 0, $$045 = 0, $$1 = 0, $$138 = 0, $$in = 0, $11 = 0, $15 = 0, $16 = 0, $2 = 0, $23 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $65 = 0, $73 = 0, $75 = 0, $76 = 0, $8 = 0, label = 0, sp = 0; @@ -67577,7 +67576,7 @@ function _jinit_d_main_controller($0, $1) { $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 80) | 0; $6 = $0 + 448 | 0; HEAP32[$6 >> 2] = $5; - HEAP32[$5 >> 2] = 136; + HEAP32[$5 >> 2] = 138; if ($1 | 0) { $8 = HEAP32[$0 >> 2] | 0; HEAP32[$8 + 20 >> 2] = 3; @@ -68022,10 +68021,10 @@ function _start_output_pass($0) { $$059$i = $$059$i + 24 | 0; } } - if ($$05058$i) $decompress_smooth_data$sink = 59; else label = 20; + if ($$05058$i) $decompress_smooth_data$sink = 65; else label = 20; } else label = 20; } else label = 20; while (0); - if ((label | 0) == 20) $decompress_smooth_data$sink = 57; + if ((label | 0) == 20) $decompress_smooth_data$sink = 63; HEAP32[$2 + 12 >> 2] = $decompress_smooth_data$sink; $85 = $0 + 156 | 0; HEAP32[$85 >> 2] = 0; @@ -69835,7 +69834,6 @@ function __ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE($0, $1, $2 } return $$194 - $0 | 0; } - function _pop_arg($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; @@ -70050,6 +70048,76 @@ function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14Mang return $$3 | 0; } +function _jinit_merged_upsampler($0) { + $0 = $0 | 0; + var $$03233$i = 0, $$03233$i23 = 0, $$034$i = 0, $$034$i22 = 0, $1 = 0, $11 = 0, $16 = 0, $21 = 0, $27 = 0, $30 = 0, $31 = 0, $32 = 0, $35 = 0, $36 = 0, $39 = 0, $4 = 0, $40 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $56 = 0, $59 = 0, $71 = 0, $74 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 48) | 0; + $5 = $0 + 476 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[$4 >> 2] = 201; + HEAP32[$4 + 8 >> 2] = 0; + $11 = Math_imul(HEAP32[$0 + 120 >> 2] | 0, HEAP32[$0 + 112 >> 2] | 0) | 0; + HEAP32[$4 + 40 >> 2] = $11; + $16 = $4 + 4 | 0; + if ((HEAP32[$0 + 320 >> 2] | 0) == 2) { + HEAP32[$16 >> 2] = 4; + HEAP32[$4 + 12 >> 2] = 14; + $21 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $11) | 0; + HEAP32[$4 + 32 >> 2] = $21; + $32 = HEAP32[$5 >> 2] | 0; + } else { + HEAP32[$16 >> 2] = 5; + HEAP32[$4 + 12 >> 2] = 15; + HEAP32[$4 + 32 >> 2] = 0; + $32 = $4; + } + $27 = (HEAP32[$0 + 40 >> 2] | 0) == 7; + $30 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $31 = $32 + 16 | 0; + HEAP32[$31 >> 2] = $30; + $35 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $36 = $32 + 20 | 0; + HEAP32[$36 >> 2] = $35; + $39 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $40 = $32 + 24 | 0; + HEAP32[$40 >> 2] = $39; + $43 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + HEAP32[$32 + 28 >> 2] = $43; + $45 = HEAP32[$31 >> 2] | 0; + $46 = HEAP32[$36 >> 2] | 0; + $47 = HEAP32[$40 >> 2] | 0; + if ($27) { + $$03233$i = 0; + $$034$i = -128; + while (1) { + HEAP32[$45 + ($$03233$i << 2) >> 2] = ($$034$i * 183763 | 0) + 32768 >> 16; + HEAP32[$46 + ($$03233$i << 2) >> 2] = ($$034$i * 232260 | 0) + 32768 >> 16; + $56 = Math_imul($$034$i, -93603) | 0; + HEAP32[$47 + ($$03233$i << 2) >> 2] = $56; + $59 = (Math_imul($$034$i, -45107) | 0) + 32768 | 0; + HEAP32[$43 + ($$03233$i << 2) >> 2] = $59; + $$03233$i = $$03233$i + 1 | 0; + if (($$03233$i | 0) == 256) break; else $$034$i = $$034$i + 1 | 0; + } + return; + } else { + $$03233$i23 = 0; + $$034$i22 = -128; + while (1) { + HEAP32[$45 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 91881 | 0) + 32768 >> 16; + HEAP32[$46 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 116130 | 0) + 32768 >> 16; + $71 = Math_imul($$034$i22, -46802) | 0; + HEAP32[$47 + ($$03233$i23 << 2) >> 2] = $71; + $74 = (Math_imul($$034$i22, -22553) | 0) + 32768 | 0; + HEAP32[$43 + ($$03233$i23 << 2) >> 2] = $74; + $$03233$i23 = $$03233$i23 + 1 | 0; + if (($$03233$i23 | 0) == 256) break; else $$034$i22 = $$034$i22 + 1 | 0; + } + return; + } +} + function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE8__rehashEm($0, $1) { $0 = $0 | 0; $1 = $1 | 0; @@ -70192,76 +70260,6 @@ function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6visi return; } -function _jinit_merged_upsampler($0) { - $0 = $0 | 0; - var $$03233$i = 0, $$03233$i23 = 0, $$034$i = 0, $$034$i22 = 0, $1 = 0, $11 = 0, $16 = 0, $21 = 0, $27 = 0, $30 = 0, $31 = 0, $32 = 0, $35 = 0, $36 = 0, $39 = 0, $4 = 0, $40 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $56 = 0, $59 = 0, $71 = 0, $74 = 0; - $1 = $0 + 4 | 0; - $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 48) | 0; - $5 = $0 + 476 | 0; - HEAP32[$5 >> 2] = $4; - HEAP32[$4 >> 2] = 189; - HEAP32[$4 + 8 >> 2] = 0; - $11 = Math_imul(HEAP32[$0 + 120 >> 2] | 0, HEAP32[$0 + 112 >> 2] | 0) | 0; - HEAP32[$4 + 40 >> 2] = $11; - $16 = $4 + 4 | 0; - if ((HEAP32[$0 + 320 >> 2] | 0) == 2) { - HEAP32[$16 >> 2] = 1; - HEAP32[$4 + 12 >> 2] = 9; - $21 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $11) | 0; - HEAP32[$4 + 32 >> 2] = $21; - $32 = HEAP32[$5 >> 2] | 0; - } else { - HEAP32[$16 >> 2] = 2; - HEAP32[$4 + 12 >> 2] = 10; - HEAP32[$4 + 32 >> 2] = 0; - $32 = $4; - } - $27 = (HEAP32[$0 + 40 >> 2] | 0) == 7; - $30 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; - $31 = $32 + 16 | 0; - HEAP32[$31 >> 2] = $30; - $35 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; - $36 = $32 + 20 | 0; - HEAP32[$36 >> 2] = $35; - $39 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; - $40 = $32 + 24 | 0; - HEAP32[$40 >> 2] = $39; - $43 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; - HEAP32[$32 + 28 >> 2] = $43; - $45 = HEAP32[$31 >> 2] | 0; - $46 = HEAP32[$36 >> 2] | 0; - $47 = HEAP32[$40 >> 2] | 0; - if ($27) { - $$03233$i = 0; - $$034$i = -128; - while (1) { - HEAP32[$45 + ($$03233$i << 2) >> 2] = ($$034$i * 183763 | 0) + 32768 >> 16; - HEAP32[$46 + ($$03233$i << 2) >> 2] = ($$034$i * 232260 | 0) + 32768 >> 16; - $56 = Math_imul($$034$i, -93603) | 0; - HEAP32[$47 + ($$03233$i << 2) >> 2] = $56; - $59 = (Math_imul($$034$i, -45107) | 0) + 32768 | 0; - HEAP32[$43 + ($$03233$i << 2) >> 2] = $59; - $$03233$i = $$03233$i + 1 | 0; - if (($$03233$i | 0) == 256) break; else $$034$i = $$034$i + 1 | 0; - } - return; - } else { - $$03233$i23 = 0; - $$034$i22 = -128; - while (1) { - HEAP32[$45 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 91881 | 0) + 32768 >> 16; - HEAP32[$46 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 116130 | 0) + 32768 >> 16; - $71 = Math_imul($$034$i22, -46802) | 0; - HEAP32[$47 + ($$03233$i23 << 2) >> 2] = $71; - $74 = (Math_imul($$034$i22, -22553) | 0) + 32768 | 0; - HEAP32[$43 + ($$03233$i23 << 2) >> 2] = $74; - $$03233$i23 = $$03233$i23 + 1 | 0; - if (($$03233$i23 | 0) == 256) break; else $$034$i22 = $$034$i22 + 1 | 0; - } - return; - } -} - function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($agg$result, $this, $__p) { $agg$result = $agg$result | 0; $this = $this | 0; @@ -70533,7 +70531,7 @@ function _alloc_small($0, $1, $2) { } while (0); do if ((label | 0) == 9) { $25 = ($$072$lcssa | 0) == 0; - $$0 = HEAP32[($25 ? 17016 : 17024) + ($1 << 2) >> 2] | 0; + $$0 = HEAP32[($25 ? 17004 : 17012) + ($1 << 2) >> 2] | 0; $26 = 999999984 - $$069 | 0; $$1 = $$0 >>> 0 > $26 >>> 0 ? $26 : $$0; $28 = $$1 + $$069 | 0; @@ -70952,8 +70950,8 @@ function _jinit_upsampler($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 160) | 0; HEAP32[$0 + 476 >> 2] = $4; - HEAP32[$4 >> 2] = 191; - HEAP32[$4 + 4 >> 2] = 3; + HEAP32[$4 >> 2] = 202; + HEAP32[$4 + 4 >> 2] = 6; HEAP32[$4 + 8 >> 2] = 0; if (HEAP32[$0 + 308 >> 2] | 0) { $11 = HEAP32[$0 >> 2] | 0; @@ -70982,21 +70980,21 @@ function _jinit_upsampler($0) { $43 = HEAP32[$21 >> 2] | 0; $44 = HEAP32[$22 >> 2] | 0; HEAP32[$23 + ($$089 << 2) >> 2] = $42; - do if (!(HEAP32[$$08488 + 52 >> 2] | 0)) HEAP32[$24 + ($$089 << 2) >> 2] = 11; else { + do if (!(HEAP32[$$08488 + 52 >> 2] | 0)) HEAP32[$24 + ($$089 << 2) >> 2] = 16; else { $51 = ($42 | 0) == ($44 | 0); if (($35 | 0) == ($43 | 0) & $51) { - HEAP32[$24 + ($$089 << 2) >> 2] = 12; + HEAP32[$24 + ($$089 << 2) >> 2] = 17; break; } $54 = ($35 << 1 | 0) == ($43 | 0); - do if ($54 & $51) HEAP32[$24 + ($$089 << 2) >> 2] = 13; else { + do if ($54 & $51) HEAP32[$24 + ($$089 << 2) >> 2] = 18; else { if ($54 & ($42 << 1 | 0) == ($44 | 0)) { - HEAP32[$24 + ($$089 << 2) >> 2] = 14; + HEAP32[$24 + ($$089 << 2) >> 2] = 19; break; } $59 = ($43 | 0) / ($35 | 0) | 0; if (($43 - (Math_imul($59, $35) | 0) | 0) == 0 ? ($63 = ($44 | 0) / ($42 | 0) | 0, ($44 - (Math_imul($63, $42) | 0) | 0) == 0) : 0) { - HEAP32[$24 + ($$089 << 2) >> 2] = 15; + HEAP32[$24 + ($$089 << 2) >> 2] = 20; HEAP8[$27 + $$089 >> 0] = $59; HEAP8[$28 + $$089 >> 0] = $63; break; @@ -71237,7 +71235,7 @@ function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6 return $$sroa$0$0 | 0; } -function _start_pass_main($0, $1) { +function _start_pass_main_98($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$06870$i = 0, $$06979$i = 0, $$080$i = 0, $$171$i = 0, $$275$i = 0, $11 = 0, $13 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $26 = 0, $29 = 0, $3 = 0, $32 = 0, $34 = 0, $35 = 0, $38 = 0, $42 = 0, $44 = 0, $45 = 0, $46 = 0, $49 = 0, $70 = 0, $9 = 0; @@ -71247,11 +71245,11 @@ function _start_pass_main($0, $1) { { $9 = $3 + 4 | 0; if (!(HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 8 >> 2] | 0)) { - HEAP32[$9 >> 2] = 17; + HEAP32[$9 >> 2] = 22; HEAP32[$3 + 48 >> 2] = HEAP32[$3 + 52 >> 2]; return; } - HEAP32[$9 >> 2] = 16; + HEAP32[$9 >> 2] = 21; $11 = HEAP32[$0 + 328 >> 2] | 0; $13 = HEAP32[$0 + 36 >> 2] | 0; if (($13 | 0) > 0) { @@ -71306,7 +71304,7 @@ function _start_pass_main($0, $1) { } case 2: { - HEAP32[$3 + 4 >> 2] = 18; + HEAP32[$3 + 4 >> 2] = 23; return; } default: @@ -72234,7 +72232,7 @@ function __ZN6vision25DoGScaleInvariantDetector6detectEPKNS_25GaussianScaleSpace return; } -function _decode_mcu_DC_refine($0, $1) { +function _decode_mcu_DC_refine_22($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $$021 = 0, $$035$i = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $67 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, stop = 0; @@ -74716,8 +74714,8 @@ function _jinit_d_coef_controller($0, $1) { $2 = $0 + 4 | 0; $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 116) | 0; HEAP32[$0 + 452 >> 2] = $5; - HEAP32[$5 >> 2] = 197; - HEAP32[$5 + 8 >> 2] = 198; + HEAP32[$5 >> 2] = 188; + HEAP32[$5 + 8 >> 2] = 189; HEAP32[$5 + 112 >> 2] = 0; if (!$1) { $46 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$2 >> 2] | 0) + 4 >> 2] & 63]($0, 1, 1280) | 0; @@ -74733,7 +74731,7 @@ function _jinit_d_coef_controller($0, $1) { HEAP32[$5 + 68 >> 2] = $46 + 1152; if (!(HEAP32[$0 + 436 >> 2] | 0)) _memset($46 | 0, 0, 1280) | 0; HEAP32[$5 + 4 >> 2] = 84; - HEAP32[$5 + 12 >> 2] = 58; + HEAP32[$5 + 12 >> 2] = 64; HEAP32[$5 + 16 >> 2] = 0; return; } @@ -74760,7 +74758,7 @@ function _jinit_d_coef_controller($0, $1) { } } else $$pre$phiZ2D = $5 + 72 | 0; HEAP32[$5 + 4 >> 2] = 83; - HEAP32[$5 + 12 >> 2] = 57; + HEAP32[$5 + 12 >> 2] = 63; HEAP32[$5 + 16 >> 2] = $$pre$phiZ2D; return; } @@ -75789,8 +75787,8 @@ function _jinit_2pass_quantizer($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 44) | 0; HEAP32[$0 + 484 >> 2] = $4; - HEAP32[$4 >> 2] = 134; - HEAP32[$4 + 12 >> 2] = 188; + HEAP32[$4 >> 2] = 137; + HEAP32[$4 + 12 >> 2] = 205; $7 = $4 + 32 | 0; HEAP32[$7 >> 2] = 0; HEAP32[$4 + 40 >> 2] = 0; @@ -77031,11 +77029,11 @@ function _jinit_memory_mgr($0) { HEAP32[$5 + 12 >> 2] = 10; HEAP32[$5 + 16 >> 2] = 39; HEAP32[$5 + 20 >> 2] = 40; - HEAP32[$5 + 24 >> 2] = 204; + HEAP32[$5 + 24 >> 2] = 190; HEAP32[$5 + 28 >> 2] = 21; HEAP32[$5 + 32 >> 2] = 22; - HEAP32[$5 + 36 >> 2] = 138; - HEAP32[$5 + 40 >> 2] = 205; + HEAP32[$5 + 36 >> 2] = 133; + HEAP32[$5 + 40 >> 2] = 191; HEAP32[$5 + 48 >> 2] = 1e9; $23 = $5 + 44 | 0; HEAP32[$23 >> 2] = $4; @@ -79476,43 +79474,43 @@ function _jinit_marker_reader($0) { $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 172) | 0; $5 = $0 + 464 | 0; HEAP32[$5 >> 2] = $4; - HEAP32[$4 >> 2] = 203; - HEAP32[$4 + 4 >> 2] = 86; - HEAP32[$4 + 8 >> 2] = 87; - HEAP32[$4 + 28 >> 2] = 88; + HEAP32[$4 >> 2] = 192; + HEAP32[$4 + 4 >> 2] = 85; + HEAP32[$4 + 8 >> 2] = 86; + HEAP32[$4 + 28 >> 2] = 87; HEAP32[$4 + 96 >> 2] = 0; HEAP32[$4 + 100 >> 2] = 0; - HEAP32[$4 + 36 >> 2] = 88; + HEAP32[$4 + 36 >> 2] = 87; HEAP32[$4 + 104 >> 2] = 0; - HEAP32[$4 + 40 >> 2] = 88; + HEAP32[$4 + 40 >> 2] = 87; HEAP32[$4 + 108 >> 2] = 0; - HEAP32[$4 + 44 >> 2] = 88; + HEAP32[$4 + 44 >> 2] = 87; HEAP32[$4 + 112 >> 2] = 0; - HEAP32[$4 + 48 >> 2] = 88; + HEAP32[$4 + 48 >> 2] = 87; HEAP32[$4 + 116 >> 2] = 0; - HEAP32[$4 + 52 >> 2] = 88; + HEAP32[$4 + 52 >> 2] = 87; HEAP32[$4 + 120 >> 2] = 0; - HEAP32[$4 + 56 >> 2] = 88; + HEAP32[$4 + 56 >> 2] = 87; HEAP32[$4 + 124 >> 2] = 0; - HEAP32[$4 + 60 >> 2] = 88; + HEAP32[$4 + 60 >> 2] = 87; HEAP32[$4 + 128 >> 2] = 0; - HEAP32[$4 + 64 >> 2] = 88; + HEAP32[$4 + 64 >> 2] = 87; HEAP32[$4 + 132 >> 2] = 0; - HEAP32[$4 + 68 >> 2] = 88; + HEAP32[$4 + 68 >> 2] = 87; HEAP32[$4 + 136 >> 2] = 0; - HEAP32[$4 + 72 >> 2] = 88; + HEAP32[$4 + 72 >> 2] = 87; HEAP32[$4 + 140 >> 2] = 0; - HEAP32[$4 + 76 >> 2] = 88; + HEAP32[$4 + 76 >> 2] = 87; HEAP32[$4 + 144 >> 2] = 0; - HEAP32[$4 + 80 >> 2] = 88; + HEAP32[$4 + 80 >> 2] = 87; HEAP32[$4 + 148 >> 2] = 0; - HEAP32[$4 + 84 >> 2] = 88; + HEAP32[$4 + 84 >> 2] = 87; HEAP32[$4 + 152 >> 2] = 0; HEAP32[$4 + 156 >> 2] = 0; - HEAP32[$4 + 92 >> 2] = 88; + HEAP32[$4 + 92 >> 2] = 87; HEAP32[$4 + 160 >> 2] = 0; - HEAP32[$4 + 32 >> 2] = 89; - HEAP32[$4 + 88 >> 2] = 89; + HEAP32[$4 + 32 >> 2] = 88; + HEAP32[$4 + 88 >> 2] = 88; $42 = HEAP32[$5 >> 2] | 0; HEAP32[$0 + 216 >> 2] = 0; HEAP32[$0 + 144 >> 2] = 0; @@ -82039,6 +82037,7 @@ function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12O STACKTOP = sp; return; } + function _fmt_u($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; @@ -82556,7 +82555,7 @@ function ___newlocale($0, $1, $2) { return $$036 | 0; } -function _rgb_gray_convert_53($0, $1, $2, $3, $4) { +function _rgb_gray_convert_12($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; @@ -82707,7 +82706,7 @@ function __ZNK12_GLOBAL__N_116itanium_demangle18ArraySubscriptExpr9printLeftERNS return; } -function _null_convert_55($0, $1, $2, $3, $4) { +function _null_convert_14($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; @@ -83607,49 +83606,6 @@ function __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType10printRightERNS_12 return; } -function _jpeg_CreateDecompress($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $$pre$phiZ2D = 0, $13 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, dest = 0, stop = 0; - HEAP32[$0 + 4 >> 2] = 0; - if (($1 | 0) != 90) { - $5 = HEAP32[$0 >> 2] | 0; - HEAP32[$5 + 20 >> 2] = 13; - HEAP32[$5 + 24 >> 2] = 90; - HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $1; - FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); - } - if (($2 | 0) == 488) $$pre$phiZ2D = $0; else { - $13 = HEAP32[$0 >> 2] | 0; - HEAP32[$13 + 20 >> 2] = 22; - HEAP32[$13 + 24 >> 2] = 488; - HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $2; - FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); - $$pre$phiZ2D = $0; - } - $20 = HEAP32[$0 >> 2] | 0; - $21 = $0 + 12 | 0; - $22 = HEAP32[$21 >> 2] | 0; - _memset($0 + 4 | 0, 0, 484) | 0; - HEAP32[$0 >> 2] = $20; - HEAP32[$21 >> 2] = $22; - HEAP32[$0 + 16 >> 2] = 1; - _jinit_memory_mgr($$pre$phiZ2D); - HEAP32[$0 + 8 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 312 >> 2] = 0; - dest = $0 + 164 | 0; - stop = dest + 48 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - _jinit_marker_reader($0); - _jinit_input_controller($0); - HEAP32[$0 + 20 >> 2] = 200; - return; -} function _start_pass_dpost($0, $1) { $0 = $0 | 0; $1 = $1 | 0; @@ -83662,7 +83618,7 @@ function _start_pass_dpost($0, $1) { HEAP32[$3 + 4 >> 2] = HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 4 >> 2]; break L1; } - HEAP32[$3 + 4 >> 2] = 4; + HEAP32[$3 + 4 >> 2] = 1; $8 = $3 + 12 | 0; if (!(HEAP32[$8 >> 2] | 0)) { $19 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 28 >> 2] & 31]($0, HEAP32[$3 + 8 >> 2] | 0, 0, HEAP32[$3 + 16 >> 2] | 0, 1) | 0; @@ -83677,7 +83633,7 @@ function _start_pass_dpost($0, $1) { HEAP32[$28 + 20 >> 2] = 3; FUNCTION_TABLE_vi[HEAP32[$28 >> 2] & 255]($0); } - HEAP32[$3 + 4 >> 2] = 5; + HEAP32[$3 + 4 >> 2] = 2; break; } case 2: @@ -83687,7 +83643,7 @@ function _start_pass_dpost($0, $1) { HEAP32[$35 + 20 >> 2] = 3; FUNCTION_TABLE_vi[HEAP32[$35 >> 2] & 255]($0); } - HEAP32[$3 + 4 >> 2] = 6; + HEAP32[$3 + 4 >> 2] = 3; break; } default: @@ -83702,6 +83658,50 @@ function _start_pass_dpost($0, $1) { return; } +function _jpeg_CreateDecompress($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pre$phiZ2D = 0, $13 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, dest = 0, stop = 0; + HEAP32[$0 + 4 >> 2] = 0; + if (($1 | 0) != 90) { + $5 = HEAP32[$0 >> 2] | 0; + HEAP32[$5 + 20 >> 2] = 13; + HEAP32[$5 + 24 >> 2] = 90; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + if (($2 | 0) == 488) $$pre$phiZ2D = $0; else { + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$13 + 20 >> 2] = 22; + HEAP32[$13 + 24 >> 2] = 488; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$pre$phiZ2D = $0; + } + $20 = HEAP32[$0 >> 2] | 0; + $21 = $0 + 12 | 0; + $22 = HEAP32[$21 >> 2] | 0; + _memset($0 + 4 | 0, 0, 484) | 0; + HEAP32[$0 >> 2] = $20; + HEAP32[$21 >> 2] = $22; + HEAP32[$0 + 16 >> 2] = 1; + _jinit_memory_mgr($$pre$phiZ2D); + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 312 >> 2] = 0; + dest = $0 + 164 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + _jinit_marker_reader($0); + _jinit_input_controller($0); + HEAP32[$0 + 20 >> 2] = 200; + return; +} + function __ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; @@ -83943,7 +83943,7 @@ function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl($0, $1, return $$021 | 0; } -function _rgb_convert_54($0, $1, $2, $3, $4) { +function _rgb_convert_13($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; @@ -85765,7 +85765,7 @@ function _jinit_d_post_controller($0, $1) { $2 = $0 + 4 | 0; $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 28) | 0; HEAP32[$0 + 456 >> 2] = $5; - HEAP32[$5 >> 2] = 135; + HEAP32[$5 >> 2] = 136; $7 = $5 + 8 | 0; HEAP32[$7 >> 2] = 0; $8 = $5 + 12 | 0; @@ -86130,8 +86130,8 @@ function _jinit_huff_decoder($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 220) | 0; HEAP32[$0 + 468 >> 2] = $4; - HEAP32[$4 >> 2] = 195; - HEAP32[$4 + 8 >> 2] = 196; + HEAP32[$4 >> 2] = 184; + HEAP32[$4 + 8 >> 2] = 185; if (!(HEAP32[$0 + 224 >> 2] | 0)) { $24 = $4 + 68 | 0; HEAP32[$24 >> 2] = 0; @@ -88762,35 +88762,6 @@ function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle17Ve return $4 | 0; } -function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $11 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); - $3 = sp; - $4 = $0 + 11 | 0; - $5 = HEAP8[$4 >> 0] | 0; - $6 = $5 << 24 >> 24 < 0; - if ($6) $11 = HEAP32[$0 + 4 >> 2] | 0; else $11 = $5 & 255; - do if ($11 >>> 0 >= $1 >>> 0) if ($6) { - $14 = (HEAP32[$0 >> 2] | 0) + $1 | 0; - HEAP8[$3 >> 0] = 0; - __ZNSt3__211char_traitsIcE6assignERcRKc($14, $3); - HEAP32[$0 + 4 >> 2] = $1; - break; - } else { - HEAP8[$3 >> 0] = 0; - __ZNSt3__211char_traitsIcE6assignERcRKc($0 + $1 | 0, $3); - HEAP8[$4 >> 0] = $1; - break; - } else __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc($0, $1 - $11 | 0, $2) | 0; while (0); - STACKTOP = sp; - return; -} - function ___overflow($0, $1) { $0 = $0 | 0; $1 = $1 | 0; @@ -88824,6 +88795,34 @@ function ___overflow($0, $1) { STACKTOP = sp; return $$0 | 0; } +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $6 = $5 << 24 >> 24 < 0; + if ($6) $11 = HEAP32[$0 + 4 >> 2] | 0; else $11 = $5 & 255; + do if ($11 >>> 0 >= $1 >>> 0) if ($6) { + $14 = (HEAP32[$0 >> 2] | 0) + $1 | 0; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($14, $3); + HEAP32[$0 + 4 >> 2] = $1; + break; + } else { + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($0 + $1 | 0, $3); + HEAP8[$4 >> 0] = $1; + break; + } else __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc($0, $1 - $11 | 0, $2) | 0; while (0); + STACKTOP = sp; + return; +} function __ZN6vision25DoGScaleInvariantDetectorC2Ev($0) { $0 = $0 | 0; @@ -90263,8 +90262,8 @@ function _jinit_arith_decoder($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 192) | 0; HEAP32[$0 + 468 >> 2] = $4; - HEAP32[$4 >> 2] = 193; - HEAP32[$4 + 8 >> 2] = 194; + HEAP32[$4 >> 2] = 186; + HEAP32[$4 + 8 >> 2] = 187; $8 = $4 + 188 | 0; dest = $4 + 60 | 0; stop = dest + 128 | 0; @@ -90776,6 +90775,7 @@ function _getMultiMarkerCount($id) { STACKTOP = sp; return $retval$0 | 0; } + function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($0) { $0 = $0 | 0; var $1 = 0, $16 = 0, $25 = 0, sp = 0; @@ -93204,6 +93204,32 @@ function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE return; } +function _process_data_simple_main_99($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$pre$phiZ2D = 0, $15 = 0, $22 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $5 = HEAP32[$0 + 448 >> 2] | 0; + $6 = $5 + 48 | 0; + $8 = $5 + 52 | 0; + $9 = HEAP32[$8 >> 2] | 0; + do if ((HEAP32[$6 >> 2] | 0) >>> 0 >= $9 >>> 0) { + $15 = $5 + 8 | 0; + if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 + 452 >> 2] | 0) + 12 >> 2] & 127]($0, $15) | 0)) return; else { + HEAP32[$6 >> 2] = 0; + $$pre$phiZ2D = $15; + $22 = HEAP32[$8 >> 2] | 0; + break; + } + } else { + $$pre$phiZ2D = $5 + 8 | 0; + $22 = $9; + } while (0); + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, $$pre$phiZ2D, $6, $22, $1, $2, $3); + return; +} + function _arUtilMatMulf($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; @@ -93252,32 +93278,6 @@ function _arUtilMatMul($0, $1, $2) { return 0; } -function _process_data_simple_main($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $$pre$phiZ2D = 0, $15 = 0, $22 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; - $5 = HEAP32[$0 + 448 >> 2] | 0; - $6 = $5 + 48 | 0; - $8 = $5 + 52 | 0; - $9 = HEAP32[$8 >> 2] | 0; - do if ((HEAP32[$6 >> 2] | 0) >>> 0 >= $9 >>> 0) { - $15 = $5 + 8 | 0; - if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 + 452 >> 2] | 0) + 12 >> 2] & 127]($0, $15) | 0)) return; else { - HEAP32[$6 >> 2] = 0; - $$pre$phiZ2D = $15; - $22 = HEAP32[$8 >> 2] | 0; - break; - } - } else { - $$pre$phiZ2D = $5 + 8 | 0; - $22 = $9; - } while (0); - FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, $$pre$phiZ2D, $6, $22, $1, $2, $3); - return; -} - function __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEEC2IS3_EEPT_NS_9enable_ifIXsr14is_convertibleIS7_PS3_EE5valueENS4_5__natEE4typeE($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; @@ -93788,7 +93788,7 @@ function _jinit_inverse_dct($0) { $1 = $0 + 4 | 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 84) | 0; HEAP32[$0 + 472 >> 2] = $4; - HEAP32[$4 >> 2] = 192; + HEAP32[$4 >> 2] = 206; $6 = $0 + 36 | 0; if ((HEAP32[$6 >> 2] | 0) <= 0) return; $11 = $4 + 44 | 0; @@ -94234,11 +94234,11 @@ function _jpeg_stdio_src($0, $1) { HEAP32[$8 + 32 >> 2] = $11; $14 = HEAP32[$2 >> 2] | 0; } else $14 = $3; - HEAP32[$14 + 8 >> 2] = 201; - HEAP32[$14 + 12 >> 2] = 85; - HEAP32[$14 + 16 >> 2] = 137; + HEAP32[$14 + 8 >> 2] = 197; + HEAP32[$14 + 12 >> 2] = 90; + HEAP32[$14 + 16 >> 2] = 134; HEAP32[$14 + 20 >> 2] = 71; - HEAP32[$14 + 24 >> 2] = 202; + HEAP32[$14 + 24 >> 2] = 198; HEAP32[$14 + 28 >> 2] = $1; HEAP32[$14 + 4 >> 2] = 0; HEAP32[$14 >> 2] = 0; @@ -97952,21 +97952,6 @@ function __ZN12_GLOBAL__N_120register_memory_viewIsEEvPKc($0) { return; } -function __ZN12_GLOBAL__N_120register_memory_viewImEEvPKc($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); - $1 = sp; - HEAP32[$1 >> 2] = $0; - $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewImEEvE3getEv() | 0; - $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv() | 0; - __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); - STACKTOP = sp; - return; -} - function __ZN12_GLOBAL__N_120register_memory_viewIlEEvPKc($0) { $0 = $0 | 0; var $1 = 0, $2 = 0, $3 = 0, sp = 0; @@ -98150,6 +98135,20 @@ function __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvRT_S2_PKS1_S1_S1_( HEAPF32[$1 >> 2] = (+HEAPF32[$2 + 20 >> 2] + (+HEAPF32[$2 + 12 >> 2] * $3 + +HEAPF32[$2 + 16 >> 2] * $4)) / $14; return; } +function __ZN12_GLOBAL__N_120register_memory_viewImEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewImEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($0, $1) { $0 = $0 | 0; @@ -99825,7 +99824,7 @@ function _jpeg_std_error($0) { HEAP32[$0 + 104 >> 2] = 0; HEAP32[$0 + 108 >> 2] = 0; HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 112 >> 2] = 2064; + HEAP32[$0 + 112 >> 2] = 3824; HEAP32[$0 + 116 >> 2] = 126; HEAP32[$0 + 120 >> 2] = 0; HEAP32[$0 + 124 >> 2] = 0; @@ -100616,6 +100615,18 @@ function __ZNKSt3__220__time_get_c_storageIwE3__cEv($0) { return 66688; } +function __ZNKSt3__220__time_get_c_storageIwE3__XEv($0) { + $0 = $0 | 0; + if ((HEAP8[64664] | 0) == 0 ? ___cxa_guard_acquire(64664) | 0 : 0) { + HEAP32[16663] = 0; + HEAP32[16664] = 0; + HEAP32[16665] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66652, 21600, __ZNSt3__211char_traitsIwE6lengthEPKw(21600) | 0); + ___cxa_guard_release(64664); + } + return 66652; +} + function __ZNKSt3__220__time_get_c_storageIcE3__xEv($0) { $0 = $0 | 0; if ((HEAP8[64592] | 0) == 0 ? ___cxa_guard_acquire(64592) | 0 : 0) { @@ -100707,17 +100718,6 @@ function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEEC2Em($0, $ } return; } -function __ZNKSt3__220__time_get_c_storageIwE3__XEv($0) { - $0 = $0 | 0; - if ((HEAP8[64664] | 0) == 0 ? ___cxa_guard_acquire(64664) | 0 : 0) { - HEAP32[16663] = 0; - HEAP32[16664] = 0; - HEAP32[16665] = 0; - __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66652, 21600, __ZNSt3__211char_traitsIwE6lengthEPKw(21600) | 0); - ___cxa_guard_release(64664); - } - return 66652; -} function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14IntegerLiteralEJRNS_10StringViewES9_EEEPNS0_4NodeEDpOT0_($0, $1, $2) { $0 = $0 | 0; @@ -101562,7 +101562,7 @@ function _reset_input_controller($0) { $0 = $0 | 0; var $2 = 0; $2 = HEAP32[$0 + 460 >> 2] | 0; - HEAP32[$2 >> 2] = 90; + HEAP32[$2 >> 2] = 89; HEAP32[$2 + 16 >> 2] = 0; HEAP32[$2 + 20 >> 2] = 0; HEAP32[$2 + 24 >> 2] = 1; @@ -101641,10 +101641,10 @@ function _jinit_input_controller($0) { var $4 = 0; $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 28) | 0; HEAP32[$0 + 460 >> 2] = $4; - HEAP32[$4 >> 2] = 90; - HEAP32[$4 + 4 >> 2] = 206; - HEAP32[$4 + 8 >> 2] = 207; - HEAP32[$4 + 12 >> 2] = 208; + HEAP32[$4 >> 2] = 89; + HEAP32[$4 + 4 >> 2] = 193; + HEAP32[$4 + 8 >> 2] = 194; + HEAP32[$4 + 12 >> 2] = 195; HEAP32[$4 + 16 >> 2] = 0; HEAP32[$4 + 20 >> 2] = 0; HEAP32[$4 + 24 >> 2] = 1; @@ -105696,7 +105696,7 @@ function __ZNK12_GLOBAL__N_112OutputStream4backEv($0) { return $8 | 0; } -function _grayscale_convert_52($0, $1, $2, $3, $4) { +function _grayscale_convert_11($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; @@ -106914,7 +106914,7 @@ function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE function _finish_input_pass($0) { $0 = $0 | 0; FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 468 >> 2] | 0) + 8 >> 2] & 255]($0); - HEAP32[HEAP32[$0 + 460 >> 2] >> 2] = 90; + HEAP32[HEAP32[$0 + 460 >> 2] >> 2] = 89; return; } @@ -111297,13 +111297,13 @@ var FUNCTION_TABLE_dii = [b1,__ZN10emscripten8internal7InvokerIdJiEE6invokeEPFdi var FUNCTION_TABLE_i = [b2,_getLogLevel]; var FUNCTION_TABLE_ii = [b3,__ZNK6vision9Exception4whatEv,___stdio_close,___emscripten_stdout_close,__ZNKSt11logic_error4whatEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv,__ZNSt3__211__stdoutbufIwE4syncEv,__ZNSt3__211__stdoutbufIcE4syncEv,__ZNSt3__210__stdinbufIwE9underflowEv,__ZNSt3__210__stdinbufIwE5uflowEv,__ZNSt3__210__stdinbufIcE9underflowEv,__ZNSt3__210__stdinbufIcE5uflowEv,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv,__ZNKSt3__220__time_get_c_storageIcE7__weeksEv,__ZNKSt3__220__time_get_c_storageIcE8__monthsEv,__ZNKSt3__220__time_get_c_storageIcE7__am_pmEv,__ZNKSt3__220__time_get_c_storageIcE3__cEv,__ZNKSt3__220__time_get_c_storageIcE3__rEv,__ZNKSt3__220__time_get_c_storageIcE3__xEv,__ZNKSt3__220__time_get_c_storageIcE3__XEv,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv,__ZNKSt3__220__time_get_c_storageIwE7__weeksEv ,__ZNKSt3__220__time_get_c_storageIwE8__monthsEv,__ZNKSt3__220__time_get_c_storageIwE7__am_pmEv,__ZNKSt3__220__time_get_c_storageIwE3__cEv,__ZNKSt3__220__time_get_c_storageIwE3__rEv,__ZNKSt3__220__time_get_c_storageIwE3__xEv,__ZNKSt3__220__time_get_c_storageIwE3__XEv,__ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv,__ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv,__ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv,__ZNKSt3__28numpunctIcE16do_decimal_pointEv,__ZNKSt3__28numpunctIcE16do_thousands_sepEv,__ZNKSt3__28numpunctIwE16do_decimal_pointEv,__ZNKSt3__28numpunctIwE16do_thousands_sepEv,__ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv -,__ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv,_jpeg_std_error,_jpeg_start_decompress,_malloc,_jpeg_finish_decompress,_teardown,_setupAR2,_getMultiMarkerCount,_loadCamera,_detectMarker,_getMarkerNum,_detectNFTMarker,_getDebugMode,_getProcessingImage,_getThresholdMode,_getThreshold,_getPatternDetectionMode,_getMatrixCodeType,_getLabelingMode,_getImageProcMode,__ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE,_consume_data,_dummy_consume_data,_fill_input_buffer,_read_markers,_read_restart_marker,_skip_variable -,_get_interesting_appn,_consume_markers,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 +,__ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv,_jpeg_std_error,_jpeg_start_decompress,_malloc,_jpeg_finish_decompress,_teardown,_setupAR2,_getMultiMarkerCount,_loadCamera,_detectMarker,_getMarkerNum,_detectNFTMarker,_getDebugMode,_getProcessingImage,_getThresholdMode,_getThreshold,_getPatternDetectionMode,_getMatrixCodeType,_getLabelingMode,_getImageProcMode,__ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE,_consume_data,_dummy_consume_data,_read_markers,_read_restart_marker,_skip_variable,_get_interesting_appn +,_consume_markers,_fill_input_buffer,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3,b3,b3,b3,b3,b3,b3]; var FUNCTION_TABLE_iidiiii = [b4,_fmt_fp]; var FUNCTION_TABLE_iii = [b5,__ZNKSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE13__get_deleterERKSt9type_info,__ZNKSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE13__get_deleterERKSt9type_info,__ZNKSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE13__get_deleterERKSt9type_info,__ZNK12_GLOBAL__N_116itanium_demangle4Node19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PointerType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding15hasFunctionSlowERNS_12OutputStreamE,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi -,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj,__ZNSt3__211__stdoutbufIwE8overflowEj,__ZNSt3__211__stdoutbufIcE8overflowEi,__ZNSt3__210__stdinbufIwE9pbackfailEj,__ZNSt3__210__stdinbufIcE9pbackfailEi,__ZNKSt3__25ctypeIcE10do_toupperEc,__ZNKSt3__25ctypeIcE10do_tolowerEc,__ZNKSt3__25ctypeIcE8do_widenEc,__ZNKSt3__25ctypeIwE10do_toupperEw,__ZNKSt3__25ctypeIwE10do_tolowerEw,__ZNKSt3__25ctypeIwE8do_widenEc,_compE,_jpeg_read_header,_addMarker,_addMultiMarker,_addNFTMarker,_getMultiMarkerNum,_setMarkerInfoVertex,_getTransMatMultiSquare,_getTransMatMultiSquareRobust,_getMarkerInfo,_getNFTMarkerInfo,_setDebugMode,__ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi,__ZN10emscripten8internal7InvokerIiJNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_vEUt_E,_compE_180,_decompress_data,_decompress_onepass -,_decompress_smooth_data,_decode_mcu_DC_first_62,_decode_mcu_AC_first_63,_decode_mcu_DC_refine_64,_decode_mcu_AC_refine_65,_decode_mcu_66,_decode_mcu_sub,_decode_mcu_DC_first,_decode_mcu_AC_first,_decode_mcu_DC_refine,_decode_mcu_AC_refine,_decode_mcu,_jpeg_resync_to_restart,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 +,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj,__ZNSt3__211__stdoutbufIwE8overflowEj,__ZNSt3__211__stdoutbufIcE8overflowEi,__ZNSt3__210__stdinbufIwE9pbackfailEj,__ZNSt3__210__stdinbufIcE9pbackfailEi,__ZNKSt3__25ctypeIcE10do_toupperEc,__ZNKSt3__25ctypeIcE10do_tolowerEc,__ZNKSt3__25ctypeIcE8do_widenEc,__ZNKSt3__25ctypeIwE10do_toupperEw,__ZNKSt3__25ctypeIwE10do_tolowerEw,__ZNKSt3__25ctypeIwE8do_widenEc,_compE,_jpeg_read_header,_addMarker,_addMultiMarker,_addNFTMarker,_getMultiMarkerNum,_setMarkerInfoVertex,_getTransMatMultiSquare,_getTransMatMultiSquareRobust,_getMarkerInfo,_getNFTMarkerInfo,_setDebugMode,__ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi,__ZN10emscripten8internal7InvokerIiJNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_vEUt_E,_compE_180,_decode_mcu_DC_first,_decode_mcu_AC_first +,_decode_mcu_DC_refine,_decode_mcu_AC_refine,_decode_mcu,_decode_mcu_sub,_decompress_data,_decompress_onepass,_decompress_smooth_data,_decode_mcu_DC_first_20,_decode_mcu_AC_first_21,_decode_mcu_DC_refine_22,_decode_mcu_AC_refine_23,_decode_mcu_24,_jpeg_resync_to_restart,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 FUNCTION_TABLE_iiii = [b6,___stdio_write,___stdio_read,_sn_write,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl,__ZNSt3__211__stdoutbufIwE6xsputnEPKwl,__ZNSt3__211__stdoutbufIcE6xsputnEPKcl,__ZNKSt3__27collateIcE7do_hashEPKcS3_,__ZNKSt3__27collateIwE7do_hashEPKwS3_,__ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,__ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,__ZNKSt3__25ctypeIcE10do_toupperEPcPKc,__ZNKSt3__25ctypeIcE10do_tolowerEPcPKc,__ZNKSt3__25ctypeIcE9do_narrowEcc,__ZNKSt3__25ctypeIwE5do_isEtw,__ZNKSt3__25ctypeIwE10do_toupperEPwPKw,__ZNKSt3__25ctypeIwE10do_tolowerEPwPKw,__ZNKSt3__25ctypeIwE9do_narrowEwc,_jpeg_read_scanlines,_setup,_setMarkerInfoDir,_getTransMatSquare @@ -111326,7 +111326,7 @@ var FUNCTION_TABLE_vi = [b15,__ZN6vision18BinomialPyramid32fD2Ev,__ZN6vision18Bi ,__ZN12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpecD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12NoexceptSpecD0Ev,__ZN12_GLOBAL__N_116itanium_demangle11SpecialNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle9DotSuffixD0Ev,__ZN12_GLOBAL__N_116itanium_demangle16FunctionEncodingD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12EnableIfAttrD0Ev,__ZN12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialNameD0Ev,__ZNSt3__28ios_baseD2Ev,__ZNSt3__28ios_baseD0Ev,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev,__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev,__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev,__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev,__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev,__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev,__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev,__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev,__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev,__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev,__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev,__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev,__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev,__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev,__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev,__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev,__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev,__ZNSt3__211__stdoutbufIwED0Ev ,__ZNSt3__211__stdoutbufIcED0Ev,__ZNSt3__210__stdinbufIwED0Ev,__ZNSt3__210__stdinbufIcED0Ev,__ZNSt3__27collateIcED2Ev,__ZNSt3__27collateIcED0Ev,__ZNSt3__26locale5facet16__on_zero_sharedEv,__ZNSt3__27collateIwED2Ev,__ZNSt3__27collateIwED0Ev,__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__210moneypunctIcLb0EED2Ev,__ZNSt3__210moneypunctIcLb0EED0Ev,__ZNSt3__210moneypunctIcLb1EED2Ev,__ZNSt3__210moneypunctIcLb1EED0Ev,__ZNSt3__210moneypunctIwLb0EED2Ev,__ZNSt3__210moneypunctIwLb0EED0Ev ,__ZNSt3__210moneypunctIwLb1EED2Ev,__ZNSt3__210moneypunctIwLb1EED0Ev,__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28messagesIcED2Ev,__ZNSt3__28messagesIcED0Ev,__ZNSt3__28messagesIwED2Ev,__ZNSt3__28messagesIwED0Ev,__ZNSt3__26locale5facetD2Ev,__ZNSt3__216__narrow_to_utf8ILm32EED0Ev,__ZNSt3__217__widen_from_utf8ILm32EED0Ev,__ZNSt3__27codecvtIwc11__mbstate_tED2Ev,__ZNSt3__27codecvtIwc11__mbstate_tED0Ev,__ZNSt3__26locale5__impD2Ev,__ZNSt3__26locale5__impD0Ev,__ZNSt3__25ctypeIcED2Ev,__ZNSt3__25ctypeIcED0Ev,__ZNSt3__28numpunctIcED2Ev,__ZNSt3__28numpunctIcED0Ev,__ZNSt3__28numpunctIwED2Ev,__ZNSt3__28numpunctIwED0Ev,__ZNSt3__26locale5facetD0Ev,__ZNSt3__25ctypeIwED0Ev,__ZNSt3__27codecvtIcc11__mbstate_tED0Ev -,__ZNSt3__27codecvtIDsc11__mbstate_tED0Ev,__ZNSt3__27codecvtIDic11__mbstate_tED0Ev,_my_error_exit,_jpeg_destroy_decompress,_setLogLevel,_prepare_for_output_pass,_finish_output_pass,_finish_pass_1_quant,_new_color_map_1_quant,_new_color_map_2_quant,_start_pass_merged_upsample,_start_pass_dcolor,_start_pass_upsample,_start_pass_51,_start_pass,_finish_pass,_start_pass_huff_decoder,_finish_pass_huff,_start_input_pass,_start_output_pass,_finish_pass1,_finish_pass2,_init_source,_term_source,_reset_marker_reader,_realize_virt_arrays,_self_destruct,_reset_input_controller,_start_input_pass_79,_finish_input_pass +,__ZNSt3__27codecvtIDsc11__mbstate_tED0Ev,__ZNSt3__27codecvtIDic11__mbstate_tED0Ev,_my_error_exit,_jpeg_destroy_decompress,_setLogLevel,_start_pass_huff_decoder,_finish_pass_huff,_start_pass,_finish_pass,_start_input_pass,_start_output_pass,_realize_virt_arrays,_self_destruct,_reset_marker_reader,_reset_input_controller,_start_input_pass_84,_finish_input_pass,_start_pass_dcolor,_init_source,_term_source,_finish_pass_1_quant,_new_color_map_1_quant,_start_pass_merged_upsample,_start_pass_upsample,_prepare_for_output_pass,_finish_output_pass,_new_color_map_2_quant,_start_pass_87,_finish_pass1,_finish_pass2 ,_error_exit,_output_message,_reset_error_mgr,__ZNSt3__26locale2id6__initEv,__ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv,__ZNSt3__212__do_nothingEPv,_free,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15 ,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15]; var FUNCTION_TABLE_vid = [b16,_setProjectionNearPlane,_setProjectionFarPlane,_setPattRatio]; @@ -111334,20 +111334,20 @@ var FUNCTION_TABLE_vii = [b17,__ZNK12_GLOBAL__N_116itanium_demangle10AbiTagAttr9 ,__ZNK12_GLOBAL__N_116itanium_demangle8CastExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15ConditionalExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle7NewExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PostfixExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15BracedRangeExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10BracedExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8NameType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8NameType11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle18ArraySubscriptExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10MemberExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle15LiteralOperator9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle22ConversionOperatorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8DtorName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle10DeleteExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle14ConversionExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8CallExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10PrefixExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10BinaryExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13FunctionParam9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle21StructuredBindingName9printLeftERNS_12OutputStreamE ,__ZNK12_GLOBAL__N_116itanium_demangle15ClosureTypeName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15UnnamedTypeName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9LocalName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12CtorDtorName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle10NestedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10NestedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10VectorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15PixelVectorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle17VendorExtQualType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpec9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12NoexceptSpec9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11SpecialName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9DotSuffix9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12EnableIfAttr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialName9printLeftERNS_12OutputStreamE,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE ,__ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE,__ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE,__ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE,__ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE,__ZNKSt3__210moneypunctIcLb0EE11do_groupingEv,__ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv,__ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv,__ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv,__ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv,__ZNKSt3__210moneypunctIcLb1EE11do_groupingEv,__ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv,__ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv,__ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv,__ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv,__ZNKSt3__210moneypunctIwLb0EE11do_groupingEv,__ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv,__ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv,__ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv,__ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv,__ZNKSt3__210moneypunctIwLb1EE11do_groupingEv,__ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv,__ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv,__ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv,__ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv,__ZNKSt3__28messagesIcE8do_closeEl,__ZNKSt3__28messagesIwE8do_closeEl -,__ZNKSt3__28numpunctIcE11do_groupingEv,__ZNKSt3__28numpunctIcE11do_truenameEv,__ZNKSt3__28numpunctIcE12do_falsenameEv,__ZNKSt3__28numpunctIwE11do_groupingEv,__ZNKSt3__28numpunctIwE11do_truenameEv,__ZNKSt3__28numpunctIwE12do_falsenameEv,_jpeg_stdio_src,_setThresholdMode,_setThreshold,_setPatternDetectionMode,_setMatrixCodeType,_setLabelingMode,_setImageProcMode,__ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi,_start_pass_1_quant,_start_pass_2_quant,_start_pass_dpost,_start_pass_main,_skip_input_data,_free_pool,_emit_message,_format_message,_pop_arg_long_double,b17,b17,b17,b17,b17,b17,b17 +,__ZNKSt3__28numpunctIcE11do_groupingEv,__ZNKSt3__28numpunctIcE11do_truenameEv,__ZNKSt3__28numpunctIcE12do_falsenameEv,__ZNKSt3__28numpunctIwE11do_groupingEv,__ZNKSt3__28numpunctIwE11do_truenameEv,__ZNKSt3__28numpunctIwE12do_falsenameEv,_jpeg_stdio_src,_setThresholdMode,_setThreshold,_setPatternDetectionMode,_setMatrixCodeType,_setLabelingMode,_setImageProcMode,__ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi,_free_pool,_skip_input_data,_start_pass_1_quant,_start_pass_dpost,_start_pass_2_quant,_start_pass_main_98,_emit_message,_format_message,_pop_arg_long_double,b17,b17,b17,b17,b17,b17,b17 ,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 ,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 ,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 ,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17]; var FUNCTION_TABLE_viid = [b18,__ZN10emscripten8internal7InvokerIvJidEE6invokeEPFvidEid,__ZN10emscripten8internal7InvokerIvJifEE6invokeEPFvifEif,b18]; var FUNCTION_TABLE_viii = [b19,_jpeg_CreateDecompress,__ZN10emscripten8internal7InvokerIvJiiEE6invokeEPFviiEii,b19]; -var FUNCTION_TABLE_viiii = [b20,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNKSt3__27collateIcE12do_transformEPKcS3_,__ZNKSt3__27collateIwE12do_transformEPKwS3_,_arLog,_h2v2_merged_upsample,_h2v1_merged_upsample,_noop_upsample,_fullsize_upsample,_h2v1_upsample,_h2v2_upsample,_int_upsample,_process_data_context_main,_process_data_simple_main,_process_data_crank_post,_prescan_quantize,_pass2_fs_dither,_pass2_no_dither,_color_quantize3,_color_quantize,_quantize3_ord_dither,_quantize_ord_dither,_quantize_fs_dither,b20,b20 +var FUNCTION_TABLE_viiii = [b20,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNKSt3__27collateIcE12do_transformEPKcS3_,__ZNKSt3__27collateIwE12do_transformEPKwS3_,_arLog,_color_quantize3,_color_quantize,_quantize3_ord_dither,_quantize_ord_dither,_quantize_fs_dither,_h2v2_merged_upsample,_h2v1_merged_upsample,_noop_upsample,_fullsize_upsample,_h2v1_upsample,_h2v2_upsample,_int_upsample,_process_data_context_main,_process_data_simple_main_99,_process_data_crank_post,_prescan_quantize,_pass2_fs_dither,_pass2_no_dither,b20,b20 ,b20,b20,b20]; -var FUNCTION_TABLE_viiiii = [b21,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,_grayscale_convert_52,_rgb_gray_convert_53,_rgb1_gray_convert,_gray_rgb_convert,_ycc_rgb_convert,_rgb_convert_54,_rgb1_rgb_convert,_ycck_cmyk_convert,_null_convert_55,_jpeg_idct_1x1,_jpeg_idct_2x2,_jpeg_idct_3x3,_jpeg_idct_4x4,_jpeg_idct_5x5,_jpeg_idct_6x6,_jpeg_idct_7x7,_jpeg_idct_9x9,_jpeg_idct_10x10,_jpeg_idct_11x11,_jpeg_idct_12x12,_jpeg_idct_13x13,_jpeg_idct_14x14,_jpeg_idct_15x15,_jpeg_idct_16x16,_jpeg_idct_16x8 +var FUNCTION_TABLE_viiiii = [b21,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,_grayscale_convert_11,_rgb_gray_convert_12,_rgb1_gray_convert,_gray_rgb_convert,_ycc_rgb_convert,_rgb_convert_13,_rgb1_rgb_convert,_ycck_cmyk_convert,_null_convert_14,_jpeg_idct_1x1,_jpeg_idct_2x2,_jpeg_idct_3x3,_jpeg_idct_4x4,_jpeg_idct_5x5,_jpeg_idct_6x6,_jpeg_idct_7x7,_jpeg_idct_9x9,_jpeg_idct_10x10,_jpeg_idct_11x11,_jpeg_idct_12x12,_jpeg_idct_13x13,_jpeg_idct_14x14,_jpeg_idct_15x15,_jpeg_idct_16x16,_jpeg_idct_16x8 ,_jpeg_idct_14x7,_jpeg_idct_12x6,_jpeg_idct_10x5,_jpeg_idct_8x4,_jpeg_idct_6x3,_jpeg_idct_4x2,_jpeg_idct_2x1,_jpeg_idct_8x16,_jpeg_idct_7x14,_jpeg_idct_6x12,_jpeg_idct_5x10,_jpeg_idct_4x8,_jpeg_idct_3x6,_jpeg_idct_2x4,_jpeg_idct_1x2,_jpeg_idct_islow,_jpeg_idct_ifast,_jpeg_idct_float,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21 ,b21,b21,b21,b21,b21]; var FUNCTION_TABLE_viiiiii = [b22,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj,__ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE,__ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE]; -var FUNCTION_TABLE_viiiiiii = [b23,_merged_2v_upsample,_merged_1v_upsample,_sep_upsample,_post_process_1pass,_post_process_prepass,_post_process_2pass,b23]; +var FUNCTION_TABLE_viiiiiii = [b23,_post_process_1pass,_post_process_prepass,_post_process_2pass,_merged_2v_upsample,_merged_1v_upsample,_sep_upsample,b23]; return { __GLOBAL__I_000101: __GLOBAL__I_000101, __GLOBAL__sub_I_ARToolKitJS_cpp: __GLOBAL__sub_I_ARToolKitJS_cpp, __GLOBAL__sub_I_bind_cpp: __GLOBAL__sub_I_bind_cpp, __GLOBAL__sub_I_iostream_cpp: __GLOBAL__sub_I_iostream_cpp, __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv, ___cxa_can_catch: ___cxa_can_catch, ___cxa_demangle: ___cxa_demangle, ___cxa_is_pointer_type: ___cxa_is_pointer_type, ___embind_register_native_and_builtin_types: ___embind_register_native_and_builtin_types, ___emscripten_environ_constructor: ___emscripten_environ_constructor, ___errno_location: ___errno_location, ___getTypeName: ___getTypeName, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, __get_daylight: __get_daylight, __get_environ: __get_environ, __get_timezone: __get_timezone, __get_tzname: __get_tzname, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _emscripten_get_sbrk_ptr: _emscripten_get_sbrk_ptr, _emscripten_replace_memory: _emscripten_replace_memory, _fflush: _fflush, _free: _free, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _malloc: _malloc, _memcpy: _memcpy, _memmove: _memmove, _memset: _memset, _realloc: _realloc, _roundf: _roundf, _saveSetjmp: _saveSetjmp, _setThrew: _setThrew, _testSetjmp: _testSetjmp, dynCall_di: dynCall_di, dynCall_dii: dynCall_dii, dynCall_i: dynCall_i, dynCall_ii: dynCall_ii, dynCall_iidiiii: dynCall_iidiiii, dynCall_iii: dynCall_iii, dynCall_iiii: dynCall_iiii, dynCall_iiiii: dynCall_iiiii, dynCall_iiiiid: dynCall_iiiiid, dynCall_iiiiii: dynCall_iiiiii, dynCall_iiiiiid: dynCall_iiiiiid, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_iiiiiiii: dynCall_iiiiiiii, dynCall_iiiiiiiii: dynCall_iiiiiiiii, dynCall_v: dynCall_v, dynCall_vi: dynCall_vi, dynCall_vid: dynCall_vid, dynCall_vii: dynCall_vii, dynCall_viid: dynCall_viid, dynCall_viii: dynCall_viii, dynCall_viiii: dynCall_viiii, dynCall_viiiii: dynCall_viiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viiiiiii: dynCall_viiiiiii, establishStackSpace: establishStackSpace, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave }; }) diff --git a/build/artoolkit.min.js b/build/artoolkit.min.js index 4ba176b2..862bf340 100644 --- a/build/artoolkit.min.js +++ b/build/artoolkit.min.js @@ -1,22 +1,22 @@ -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($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){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACKTQAAkU0AAJ1NAACnTQAAtU0AAAAAAAAAAAAAAAAAAP//////////AAAAAAEAAAABAAAAAQAAAAAAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAABAAEBAQACBP//BQMBAAL/Bgf/AwECAgMCAwIDAwD/BAYHBf8BBAUEBAUFBAUHBgYGBwcHBv8CBAYHBQP/AAEBAQEBAQABAQEAAAEBAQEBAAEBAAEBAQABAQEBAAEBAAEBAQEAAQEBAAEBAAEBAQEBAAABAQEAAQEBAQEBAAD//wP/BQb//wkK/wz//w//ERL/FP//Fxj//xv/HR7//wEC/wT//wcI//8L/w0O/xD//xP/FRb//xka/xz//x8BAAAAAgAAAAQAAAAIAAAAEAAAAAUAAAAKAAAAFAAAAA0AAAAaAAAAEQAAAAcAAAAOAAAAHAAAAB0AAAAfAAAAGwAAABMAAAADAAAABgAAAAwAAAAYAAAAFQAAAA8AAAAeAAAAGQAAABcAAAALAAAAFgAAAAkAAAASAAAAAAAAAAEAAAACAAAABAAAAAgAAAADAAAABgAAAAwAAAALAAAABQAAAAoAAAAHAAAADgAAAA8AAAANAAAACQAAAAAAAAD/////AAAAAAEAAAASAAAAAgAAAAUAAAATAAAACwAAAAMAAAAdAAAABgAAABsAAAAUAAAACAAAAAwAAAAXAAAABAAAAAoAAAAeAAAAEQAAAAcAAAAWAAAAHAAAABoAAAAVAAAAGQAAAAkAAAAQAAAADQAAAA4AAAAYAAAADwAAAP////8AAAAAAQAAAAQAAAACAAAACAAAAAUAAAAKAAAAAwAAAA4AAAAJAAAABwAAAAYAAAANAAAACwAAAAwAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAwAAAAYAAAAMAAAAGAAAADAAAABgAAAAQwAAAAUAAAAKAAAAFAAAACgAAABQAAAAIwAAAEYAAAAPAAAAHgAAADwAAAB4AAAAcwAAAGUAAABJAAAAEQAAACIAAABEAAAACwAAABYAAAAsAAAAWAAAADMAAABmAAAATwAAAB0AAAA6AAAAdAAAAGsAAABVAAAAKQAAAFIAAAAnAAAATgAAAB8AAAA+AAAAfAAAAHsAAAB1AAAAaQAAAFEAAAAhAAAAQgAAAAcAAAAOAAAAHAAAADgAAABwAAAAYwAAAEUAAAAJAAAAEgAAACQAAABIAAAAEwAAACYAAABMAAAAGwAAADYAAABsAAAAWwAAADUAAABqAAAAVwAAAC0AAABaAAAANwAAAG4AAABfAAAAPQAAAHoAAAB3AAAAbQAAAFkAAAAxAAAAYgAAAEcAAAANAAAAGgAAADQAAABoAAAAUwAAACUAAABKAAAAFwAAAC4AAABcAAAAOwAAAHYAAABvAAAAXQAAADkAAAByAAAAZwAAAE0AAAAZAAAAMgAAAGQAAABLAAAAFQAAACoAAABUAAAAKwAAAFYAAAAvAAAAXgAAAD8AAAB+AAAAfwAAAH0AAAB5AAAAcQAAAGEAAABBAAAAAAAAAP////8AAAAAAQAAAAcAAAACAAAADgAAAAgAAAA4AAAAAwAAAD8AAAAPAAAAHwAAAAkAAABaAAAAOQAAABUAAAAEAAAAHAAAAEAAAABDAAAAEAAAAHAAAAAgAAAAYQAAAAoAAABsAAAAWwAAAEYAAAA6AAAAJgAAABYAAAAvAAAABQAAADYAAAAdAAAAEwAAAEEAAABfAAAARAAAAC0AAAARAAAAKwAAAHEAAABzAAAAIQAAAE0AAABiAAAAdQAAAAsAAABXAAAAbQAAACMAAABcAAAASgAAAEcAAABPAAAAOwAAAGgAAAAnAAAAZAAAABcAAABSAAAAMAAAAHcAAAAGAAAAfgAAADcAAAANAAAAHgAAAD4AAAAUAAAAWQAAAEIAAAAbAAAAYAAAAG8AAABFAAAAawAAAC4AAAAlAAAAEgAAADUAAAAsAAAAXgAAAHIAAAAqAAAAdAAAAEwAAAAiAAAAVgAAAE4AAABJAAAAYwAAAGcAAAB2AAAAUQAAAAwAAAB9AAAAWAAAAD0AAABuAAAAGgAAACQAAABqAAAAXQAAADQAAABLAAAAKQAAAEgAAABVAAAAUAAAAGYAAAA8AAAAfAAAAGkAAAAZAAAAKAAAADMAAABlAAAAVAAAABgAAAB7AAAAUwAAADIAAAAxAAAAegAAAHgAAAB5AAAABAAAAIgAAAAFAAAAkAAAAAYAAACYAAAACQAAALAAAAA3VAAAPVQAAEJUAABKVAAAAAAAALK+uT4S3KC+kL45PhLcoL6Qvjm+AAAAgLK+ub4S3KA+kL45vhLcoD6Qvjk+0nIYvwAAAADScpi+OgYEv9JymD46BgS/0nIYPwAAAIDScpg+OgYEP9JymL46BgQ/AAAAgFa4Pb9mTSQ/Vri9vmZNJD9WuL0+AAAAAFa4PT9mTSS/Vri9PmZNJL9WuL2+DOlYPwAAAIAM6dg+mdk7Pwzp2L6Z2Ts/DOlYvwAAAAAM6di+mdk7vwzp2D6Z2Tu/AAAAAPxTbj/xZU6/DVTuPvFlTr8NVO6+AAAAgPxTbr/xZU4/DVTuvvFlTj8NVO4+AACAvwAAAAAAAAC/0LNdvwAAAD/Qs12/AACAPwAAAIAAAAA/0LNdPwAAAL/Qs10/ADcAAAA3AAAANwAAADcAANWjAADrowAAC6QAADCkAABKpAAAaaQAAH6kAACbpAAAxaQAAAWlAAAkpQAAO6UAAFGlAABlpQAAoqUAANKlAADupQAAEaYAAEimAAB/pgAAlqYAALamAADgpgAALacAAEinAABzpwAAj6cAALSnAADapwAA/6cAABKoAAAnqAAAOqgAAE2oAAByqAAAh6gAAJuoAAC8qAAA0qgAAAGpAAApqQAASqkAAGupAACaqQAAq6kAAMepAAAFqgAALKoAAFOqAABnqgAAlaoAAL2qAADZqgAA/qoAACCrAABKqwAAdasAAJOrAADBqwAA6asAABCsAAA7rAAAaKwAAJisAADCrAAA76wAABKtAAAwrQAATq0AAIStAACurQAAza0AAPCtAAAXrgAALK4AAECuAAB1rgAAha4AAMOuAAAFrwAAL68AAFuvAACCrwAAnq8AAMmvAADkrwAA+K8AAA+wAAAcsAAARLAAAHmwAAC1sAAA47AAAASxAAArsQAARLEAAGyxAACPsQAAp7EAAMuxAADwsQAA9rEAAC+yAABpsgAAiLIAAJeyAAC0sgAA0rIAAO+yAAAIswAAIbMAAGOzAACdswAA07MAAAe0AAAbtAAAMrQAAFi0AAB/tAAAwbQAAP20AAAutQAAUrUAAIC1AACbtQAA07UAAP61AAAAAAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAAcAAAAOAAAAFQAAABwAAAAjAAAAKgAAADEAAAA4AAAAOQAAADIAAAArAAAAJAAAAB0AAAAWAAAADwAAABcAAAAeAAAAJQAAACwAAAAzAAAAOgAAADsAAAA0AAAALQAAACYAAAAfAAAAJwAAAC4AAAA1AAAAPAAAAD0AAAA2AAAALwAAADcAAAA+AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAAwAAAAKQAAACIAAAAbAAAAFAAAAA0AAAAGAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAMgAAACsAAAAkAAAAHQAAABYAAAAeAAAAJQAAACwAAAAzAAAANAAAAC0AAAAmAAAALgAAADUAAAA2AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAACkAAAAiAAAAGwAAABQAAAANAAAAFQAAABwAAAAjAAAAKgAAACsAAAAkAAAAHQAAACUAAAAsAAAALQAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAMAAAAEwAAABoAAAAhAAAAIgAAABsAAAAUAAAAHAAAACMAAAAkAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAZAAAAEgAAAAsAAAATAAAAGgAAABsAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAACgAAABEAAAASAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAAAkAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAgQEdWg4ChiUQAxQREgQLCBQF2AMXBtoBGQflABwIbwAeCTYAIQoaACMLDQAJDAYACg0DAAwNAQCPD39aJBAlPyYR8iwnEnwgKBO5FyoUghErFe8MLRahCS4XLwcwGFwFMRkGBDMaAwM0G0ACNhyxATgdRAE5HvUAOx+3ADwgigA+IWgAPyJOACAjOwAhCSwApSXhWkAmTEhBJw06QyjxLkQpHyZFKjMfRiuoGUgsGBVJLXcRSi50Dksv+wtNMPgJTjFhCE8yBgcwM80FMjTeBDI1DwQzNmMDNDfUAjU4XAI2OfgBNzqkATg7YAE5PCUBOj32ADs+ywA9P6sAPSCPAMFBEltQQgRNUUMsQVJE2DdTRegvVEY8KVZHeSNXSN8eV0mpGkhKThdISyQUSkycEUpNaw9LTlENTU+2C00wQArQUTJYWFIcTVlTjkNaVN07W1XuNFxWri5dV5opVkcWJdhZcFVfWqlMYFvZRGFcIj5jXSQ4Y160Ml1WFy7fYKhWZWFGT2Zi5UdnY89BaGQ9PGNdXjdpZjFSamcPTGtoOUZnY15B6WonVmxr51BtZ4VLbm2XVW9rT1DubxBacG0iVfBv61lxcR1aAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAQMVYn1NCSwBASTKjIqgRxVghe/xzYmjFWL9FCzB+GJ9T/HNBbVRin1OzQUEtEhdCS2JoVGJ+WEJLITu6KMMUAEDFWJ9TQksAQEkyoyKoEUkyv0WzQSE7STKCJzcb4A2jIgswQS26KKMiNxu/Eo4JqBF+GBIXwxSoEeANjgnfBAAAAAAAAPA/72FIsVAx9j/Kb02Rruf0P6oRbO9i0PI/AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAApD8AABVdAADMPwAAiWkAAIAzAAAAAAAAzD8AAHRsAAA4NgAAAAAAAMw/AAAjdwAAGD0AAAAAAADMPwAAi4cAABg9AAAAAAAAzD8AAP+HAAAYPQAAAAAAADhAAADlngAAAAAAAAEAAADwMwAAAAAAAKQ/AAAknwAABQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAABG4QAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAIyQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAYzQAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApD8AAEe3AADMPwAAp7cAAFA2AAAAAAAAzD8AAFS3AABgNgAAAAAAAKQ/AAB1twAAzD8AAIK3AABANgAAAAAAAMw/AADxtwAAODYAAAAAAADMPwAAAbgAAHg2AAAAAAAAzD8AABK4AABQNgAAAAAAAMw/AAA0uAAAmDYAAAAAAADMPwAAWLgAAFA2AAAAAAAAHEAAAIC4AAAcQAAAgrgAABxAAACEuAAAHEAAAIa4AAAcQAAAiLgAABxAAACKuAAAHEAAAIy4AAAcQAAAjrgAABxAAACQuAAAHEAAAA3BAAAcQAAAkrgAABxAAACUuAAAHEAAAJa4AADMPwAAmLgAAEA2AAAAAAAApD8AANu7AACkPwAA+rsAAKQ/AAAZvAAApD8AADi8AACkPwAAV7wAAKQ/AAB2vAAApD8AAJW8AACkPwAAtLwAAKQ/AADTvAAApD8AAPK8AACkPwAAEb0AAKQ/AAAwvQAApD8AAE+9AAA4QAAAYr0AAAAAAAABAAAA8DMAAAAAAAA4QAAAob0AAAAAAAABAAAA8DMAAAAAAADMPwAA8r0AAOg3AAAAAAAApD8AAOC9AADMPwAAHL4AAOg3AAAAAAAApD8AAEa+AACkPwAAd74AADhAAACovgAAAAAAAAEAAADYNwAAA/T//zhAAADXvgAAAAAAAAEAAADwNwAAA/T//zhAAAAGvwAAAAAAAAEAAADYNwAAA/T//zhAAAA1vwAAAAAAAAEAAADwNwAAA/T//8w/AABkvwAACDgAAAAAAADMPwAAfb8AAAA4AAAAAAAAzD8AALy/AAAIOAAAAAAAAMw/AADUvwAAADgAAAAAAADMPwAA7L8AAMA4AAAAAAAAzD8AAADAAAAQPQAAAAAAAMw/AAAWwAAAwDgAAAAAAAA4QAAAL8AAAAAAAAACAAAAwDgAAAIAAAAAOQAAAAAAADhAAABzwAAAAAAAAAEAAAAYOQAAAAAAAKQ/AACJwAAAOEAAAKLAAAAAAAAAAgAAAMA4AAACAAAAQDkAAAAAAAA4QAAA5sAAAAAAAAABAAAAGDkAAAAAAAA4QAAAD8EAAAAAAAACAAAAwDgAAAIAAAB4OQAAAAAAADhAAABTwQAAAAAAAAEAAACQOQAAAAAAAKQ/AABpwQAAOEAAAILBAAAAAAAAAgAAAMA4AAACAAAAuDkAAAAAAAA4QAAAxsEAAAAAAAABAAAAkDkAAAAAAAA4QAAAHMMAAAAAAAADAAAAwDgAAAIAAAD4OQAAAgAAAAA6AAAACAAApD8AAIPDAACkPwAAYcMAADhAAACWwwAAAAAAAAMAAADAOAAAAgAAAPg5AAACAAAAMDoAAAAIAACkPwAA28MAADhAAAD9wwAAAAAAAAIAAADAOAAAAgAAAFg6AAAACAAApD8AAELEAAA4QAAAV8QAAAAAAAACAAAAwDgAAAIAAABYOgAAAAgAADhAAACcxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAApD8AALjEAAA4QAAAzcQAAAAAAAACAAAAwDgAAAIAAACgOgAAAgAAADhAAADpxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAAOEAAAAXFAAAAAAAAAgAAAMA4AAACAAAAoDoAAAIAAAA4QAAAMMUAAAAAAAACAAAAwDgAAAIAAAAoOwAAAAAAAKQ/AAB2xQAAOEAAAJrFAAAAAAAAAgAAAMA4AAACAAAAUDsAAAAAAACkPwAA4MUAADhAAAD/xQAAAAAAAAIAAADAOAAAAgAAAHg7AAAAAAAApD8AAEXGAAA4QAAAXsYAAAAAAAACAAAAwDgAAAIAAACgOwAAAAAAAKQ/AACkxgAAOEAAAL3GAAAAAAAAAgAAAMA4AAACAAAAyDsAAAIAAACkPwAA0sYAADhAAABpxwAAAAAAAAIAAADAOAAAAgAAAMg7AAACAAAAzD8AAOrGAAAAPAAAAAAAADhAAAANxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAApD8AADDHAADMPwAAR8cAAAA8AAAAAAAAOEAAAH7HAAAAAAAAAgAAAMA4AAACAAAAIDwAAAIAAAA4QAAAoMcAAAAAAAACAAAAwDgAAAIAAAAgPAAAAgAAADhAAADCxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAAzD8AAOXHAADAOAAAAAAAADhAAAD7xwAAAAAAAAIAAADAOAAAAgAAAMg8AAACAAAApD8AAA3IAAA4QAAAIsgAAAAAAAACAAAAwDgAAAIAAADIPAAAAgAAAMw/AAA/yAAAwDgAAAAAAADMPwAAVMgAAMA4AAAAAAAApD8AAGnIAAA4QAAAgsgAAAAAAAABAAAAED0AAAAAAAABAAAAAAAAAIgzAAABAAAAAgAAAAAAAACAMwAAAwAAAAQAAAAAAAAAmDMAAAUAAAAGAAAAAQAAALlSjD6OWuc+uVKMPgAAAACoMwAABwAAAAgAAAAJAAAAAQAAAAoAAAAAAAAAuDMAAAcAAAALAAAADAAAAAIAAAANAAAAAAAAAMgzAAAHAAAADgAAAA8AAAADAAAAEAAAAP/////+/////f///8g2AAAANwAAIDcAAMg2AAAANwAAADcAACg3AAAANwAAyDYAAAA3AAAoNwAAADcAAMg2AAAANwAAADcAANgzAAAANwAAADcAAAA3AAAANwAAADcAANgzAAAANwAAADcAAAEAAAAAAAAAAgAAAEAGAACAPgAAAAAAAIgTAABAFgAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAUD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DMAAIg0AAAYNQAAGDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGwAAIB8AACAlAABfcIkA/wkvDwAAAABANgAAEQAAABIAAAATAAAAFAAAAAQAAAABAAAAAQAAAAEAAAAAAAAAaDYAABEAAAAVAAAAEwAAABQAAAAEAAAAAgAAAAIAAAACAAAAAAAAAHg2AAAWAAAAFwAAAAQAAAAAAAAAiDYAABYAAAAYAAAABAAAAAAAAAC4NgAAEQAAABkAAAATAAAAFAAAAAUAAAAAAAAAMDcAABEAAAAaAAAAEwAAABQAAAAEAAAAAwAAAAMAAAADAAAAAAAAAOg3AAAbAAAAHAAAAAAAAAAAOAAAHQAAAB4AAAABAAAABgAAAAQAAAAEAAAABQAAAAYAAAAHAAAABwAAAAgAAAAEAAAACAAAAAUAAAAAAAAACDgAAB8AAAAgAAAAAgAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAAsAAAAMAAAABgAAAAsAAAAHAAAACAAAAAAAAAAQOAAAIQAAACIAAAD4////+P///xA4AAAjAAAAJAAAAPRAAAAIQQAACAAAAAAAAAAoOAAAJQAAACYAAAD4////+P///yg4AAAnAAAAKAAAACRBAAA4QQAABAAAAAAAAABAOAAAKQAAACoAAAD8/////P///0A4AAArAAAALAAAAFRBAABoQQAABAAAAAAAAABYOAAALQAAAC4AAAD8/////P///1g4AAAvAAAAMAAAAIRBAACYQQAAAAAAAHA4AAAfAAAAMQAAAAMAAAAJAAAABQAAAAUAAAANAAAACgAAAAoAAAALAAAADAAAAAYAAAAMAAAACAAAAAAAAACAOAAAHQAAADIAAAAEAAAABgAAAAQAAAAEAAAADgAAAAYAAAAHAAAABwAAAAgAAAAEAAAADQAAAAkAAAAAAAAAkDgAAB8AAAAzAAAABQAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAA8AAAAQAAAACgAAAAsAAAAHAAAAAAAAAKA4AAAdAAAANAAAAAYAAAAGAAAABAAAAAQAAAAFAAAABgAAAAcAAAARAAAAEgAAAAsAAAAIAAAABQAAAAAAAACwOAAANQAAADYAAAA3AAAAAQAAAAYAAAAOAAAAAAAAANA4AAA4AAAAOQAAADcAAAACAAAABwAAAA8AAAAAAAAA4DgAADoAAAA7AAAANwAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAACA5AAA8AAAAPQAAADcAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAAAAABYOQAAPgAAAD8AAAA3AAAAAwAAAAQAAAAXAAAABQAAABgAAAABAAAAAgAAAAYAAAAAAAAAmDkAAEAAAABBAAAANwAAAAcAAAAIAAAAGQAAAAkAAAAaAAAAAwAAAAQAAAAKAAAAAAAAANA5AABCAAAAQwAAADcAAAATAAAAGwAAABwAAAAdAAAAHgAAAB8AAAABAAAA+P///9A5AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAAAg6AABEAAAARQAAADcAAAAbAAAAIAAAACEAAAAiAAAAIwAAACQAAAACAAAA+P///wg6AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAQQAAAE0AAAAAAAAAUAAAAE0AAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAFMAAAB1AAAAbgAAAGQAAABhAAAAeQAAAAAAAABNAAAAbwAAAG4AAABkAAAAYQAAAHkAAAAAAAAAVAAAAHUAAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABXAAAAZQAAAGQAAABuAAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVAAAAGgAAAB1AAAAcgAAAHMAAABkAAAAYQAAAHkAAAAAAAAARgAAAHIAAABpAAAAZAAAAGEAAAB5AAAAAAAAAFMAAABhAAAAdAAAAHUAAAByAAAAZAAAAGEAAAB5AAAAAAAAAFMAAAB1AAAAbgAAAAAAAABNAAAAbwAAAG4AAAAAAAAAVAAAAHUAAABlAAAAAAAAAFcAAABlAAAAZAAAAAAAAABUAAAAaAAAAHUAAAAAAAAARgAAAHIAAABpAAAAAAAAAFMAAABhAAAAdAAAAAAAAAAAAAAAODoAAEYAAABHAAAANwAAAAEAAAAAAAAAYDoAAEgAAABJAAAANwAAAAIAAAAAAAAAgDoAAEoAAABLAAAANwAAACMAAAAkAAAABwAAAAgAAAAJAAAACgAAACUAAAALAAAADAAAAAAAAACoOgAATAAAAE0AAAA3AAAAJgAAACcAAAANAAAADgAAAA8AAAAQAAAAKAAAABEAAAASAAAAAAAAAMg6AABOAAAATwAAADcAAAApAAAAKgAAABMAAAAUAAAAFQAAABYAAAArAAAAFwAAABgAAAAAAAAA6DoAAFAAAABRAAAANwAAACwAAAAtAAAAGQAAABoAAAAbAAAAHAAAAC4AAAAdAAAAHgAAAAAAAAAIOwAAUgAAAFMAAAA3AAAAAwAAAAQAAAAAAAAAMDsAAFQAAABVAAAANwAAAAUAAAAGAAAAAAAAAFg7AABWAAAAVwAAADcAAAABAAAAJQAAAAAAAACAOwAAWAAAAFkAAAA3AAAAAgAAACYAAAAAAAAAqDsAAFoAAABbAAAANwAAABAAAAAGAAAAHwAAAAAAAADQOwAAXAAAAF0AAAA3AAAAEQAAAAcAAAAgAAAAAAAAACg8AABeAAAAXwAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAPA7AABeAAAAYAAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAFg8AABhAAAAYgAAADcAAAAFAAAABgAAAA0AAAAyAAAAMwAAAA4AAAA0AAAAAAAAAJg8AABjAAAAZAAAADcAAAAAAAAAqDwAAGUAAABmAAAANwAAAAwAAAASAAAADQAAABMAAAAOAAAAAwAAABQAAAAPAAAAAAAAAPA8AABnAAAAaAAAADcAAAA1AAAANgAAACEAAAAiAAAAIwAAAAAAAAAAPQAAaQAAAGoAAAA3AAAANwAAADgAAAAkAAAAJQAAACYAAABmAAAAYQAAAGwAAABzAAAAZQAAAAAAAAB0AAAAcgAAAHUAAABlAAAAAAAAAAAAAADAOAAAXgAAAGsAAAA3AAAAAAAAANA8AABeAAAAbAAAADcAAAAVAAAABAAAAAUAAAAGAAAADwAAABYAAAAQAAAAFwAAABEAAAAHAAAAGAAAABAAAAAAAAAAODwAAF4AAABtAAAANwAAAAcAAAAIAAAAEQAAADkAAAA6AAAAEgAAADsAAAAAAAAAeDwAAF4AAABuAAAANwAAAAkAAAAKAAAAEwAAADwAAAA9AAAAFAAAAD4AAAAAAAAAADwAAF4AAABvAAAANwAAAAMAAAAEAAAACwAAAC8AAAAwAAAADAAAADEAAAAAAAAAADoAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAAAAAAMDoAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABFcnJvcjogbGFiZWxpbmcgd29yayBvdmVyZmxvdy4KAFVua25vd24gb3IgdW5zdXBwb3J0ZWQgbGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgcmVxdWVzdGVkLiBTZXQgdG8gbWFudWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($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){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACKTQAAkU0AAJ1NAACnTQAAtU0AAAAAAAAAAAAAAAAAAP//////////AAAAAAEAAAABAAAAAQAAAAAAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAABAAEBAQACBP//BQMBAAL/Bgf/AwECAgMCAwIDAwD/BAYHBf8BBAUEBAUFBAUHBgYGBwcHBv8CBAYHBQP/AAEBAQEBAQABAQEAAAEBAQEBAAEBAAEBAQABAQEBAAEBAAEBAQEAAQEBAAEBAAEBAQEBAAABAQEAAQEBAQEBAAD//wP/BQb//wkK/wz//w//ERL/FP//Fxj//xv/HR7//wEC/wT//wcI//8L/w0O/xD//xP/FRb//xka/xz//x8BAAAAAgAAAAQAAAAIAAAAEAAAAAUAAAAKAAAAFAAAAA0AAAAaAAAAEQAAAAcAAAAOAAAAHAAAAB0AAAAfAAAAGwAAABMAAAADAAAABgAAAAwAAAAYAAAAFQAAAA8AAAAeAAAAGQAAABcAAAALAAAAFgAAAAkAAAASAAAAAAAAAAEAAAACAAAABAAAAAgAAAADAAAABgAAAAwAAAALAAAABQAAAAoAAAAHAAAADgAAAA8AAAANAAAACQAAAAAAAAD/////AAAAAAEAAAASAAAAAgAAAAUAAAATAAAACwAAAAMAAAAdAAAABgAAABsAAAAUAAAACAAAAAwAAAAXAAAABAAAAAoAAAAeAAAAEQAAAAcAAAAWAAAAHAAAABoAAAAVAAAAGQAAAAkAAAAQAAAADQAAAA4AAAAYAAAADwAAAP////8AAAAAAQAAAAQAAAACAAAACAAAAAUAAAAKAAAAAwAAAA4AAAAJAAAABwAAAAYAAAANAAAACwAAAAwAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAwAAAAYAAAAMAAAAGAAAADAAAABgAAAAQwAAAAUAAAAKAAAAFAAAACgAAABQAAAAIwAAAEYAAAAPAAAAHgAAADwAAAB4AAAAcwAAAGUAAABJAAAAEQAAACIAAABEAAAACwAAABYAAAAsAAAAWAAAADMAAABmAAAATwAAAB0AAAA6AAAAdAAAAGsAAABVAAAAKQAAAFIAAAAnAAAATgAAAB8AAAA+AAAAfAAAAHsAAAB1AAAAaQAAAFEAAAAhAAAAQgAAAAcAAAAOAAAAHAAAADgAAABwAAAAYwAAAEUAAAAJAAAAEgAAACQAAABIAAAAEwAAACYAAABMAAAAGwAAADYAAABsAAAAWwAAADUAAABqAAAAVwAAAC0AAABaAAAANwAAAG4AAABfAAAAPQAAAHoAAAB3AAAAbQAAAFkAAAAxAAAAYgAAAEcAAAANAAAAGgAAADQAAABoAAAAUwAAACUAAABKAAAAFwAAAC4AAABcAAAAOwAAAHYAAABvAAAAXQAAADkAAAByAAAAZwAAAE0AAAAZAAAAMgAAAGQAAABLAAAAFQAAACoAAABUAAAAKwAAAFYAAAAvAAAAXgAAAD8AAAB+AAAAfwAAAH0AAAB5AAAAcQAAAGEAAABBAAAAAAAAAP////8AAAAAAQAAAAcAAAACAAAADgAAAAgAAAA4AAAAAwAAAD8AAAAPAAAAHwAAAAkAAABaAAAAOQAAABUAAAAEAAAAHAAAAEAAAABDAAAAEAAAAHAAAAAgAAAAYQAAAAoAAABsAAAAWwAAAEYAAAA6AAAAJgAAABYAAAAvAAAABQAAADYAAAAdAAAAEwAAAEEAAABfAAAARAAAAC0AAAARAAAAKwAAAHEAAABzAAAAIQAAAE0AAABiAAAAdQAAAAsAAABXAAAAbQAAACMAAABcAAAASgAAAEcAAABPAAAAOwAAAGgAAAAnAAAAZAAAABcAAABSAAAAMAAAAHcAAAAGAAAAfgAAADcAAAANAAAAHgAAAD4AAAAUAAAAWQAAAEIAAAAbAAAAYAAAAG8AAABFAAAAawAAAC4AAAAlAAAAEgAAADUAAAAsAAAAXgAAAHIAAAAqAAAAdAAAAEwAAAAiAAAAVgAAAE4AAABJAAAAYwAAAGcAAAB2AAAAUQAAAAwAAAB9AAAAWAAAAD0AAABuAAAAGgAAACQAAABqAAAAXQAAADQAAABLAAAAKQAAAEgAAABVAAAAUAAAAGYAAAA8AAAAfAAAAGkAAAAZAAAAKAAAADMAAABlAAAAVAAAABgAAAB7AAAAUwAAADIAAAAxAAAAegAAAHgAAAB5AAAABAAAAIgAAAAFAAAAkAAAAAYAAACYAAAACQAAALAAAAA3VAAAPVQAAEJUAABKVAAAAAAAALK+uT4S3KC+kL45PhLcoL6Qvjm+AAAAgLK+ub4S3KA+kL45vhLcoD6Qvjk+0nIYvwAAAADScpi+OgYEv9JymD46BgS/0nIYPwAAAIDScpg+OgYEP9JymL46BgQ/AAAAgFa4Pb9mTSQ/Vri9vmZNJD9WuL0+AAAAAFa4PT9mTSS/Vri9PmZNJL9WuL2+DOlYPwAAAIAM6dg+mdk7Pwzp2L6Z2Ts/DOlYvwAAAAAM6di+mdk7vwzp2D6Z2Tu/AAAAAPxTbj/xZU6/DVTuPvFlTr8NVO6+AAAAgPxTbr/xZU4/DVTuvvFlTj8NVO4+AACAvwAAAAAAAAC/0LNdvwAAAD/Qs12/AACAPwAAAIAAAAA/0LNdPwAAAL/Qs10/ADcAAAA3AAAANwAAADcAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAADAAAAApAAAAIgAAABsAAAAUAAAADQAAAAYAAAAHAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAOAAAADkAAAAyAAAAKwAAACQAAAAdAAAAFgAAAA8AAAAXAAAAHgAAACUAAAAsAAAAMwAAADoAAAA7AAAANAAAAC0AAAAmAAAAHwAAACcAAAAuAAAANQAAADwAAAA9AAAANgAAAC8AAAA3AAAAPgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAA4AAAAVAAAAHAAAACMAAAAqAAAAMQAAADIAAAArAAAAJAAAAB0AAAAWAAAAHgAAACUAAAAsAAAAMwAAADQAAAAtAAAAJgAAAC4AAAA1AAAANgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAApAAAAIgAAABsAAAAUAAAADQAAABUAAAAcAAAAIwAAACoAAAArAAAAJAAAAB0AAAAlAAAALAAAAC0AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAADAAAABMAAAAaAAAAIQAAACIAAAAbAAAAFAAAABwAAAAjAAAAJAAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAGQAAABIAAAALAAAAEwAAABoAAAAbAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAoAAAARAAAAEgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAJAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAIEBHVoOAoYlEAMUERIECwgUBdgDFwbaARkH5QAcCG8AHgk2ACEKGgAjCw0ACQwGAAoNAwAMDQEAjw9/WiQQJT8mEfIsJxJ8ICgTuRcqFIIRKxXvDC0WoQkuFy8HMBhcBTEZBgQzGgMDNBtAAjYcsQE4HUQBOR71ADsftwA8IIoAPiFoAD8iTgAgIzsAIQksAKUl4VpAJkxIQScNOkMo8S5EKR8mRSozH0YrqBlILBgVSS13EUoudA5LL/sLTTD4CU4xYQhPMgYHMDPNBTI03gQyNQ8EMzZjAzQ31AI1OFwCNjn4ATc6pAE4O2ABOTwlATo99gA7PssAPT+rAD0gjwDBQRJbUEIETVFDLEFSRNg3U0XoL1RGPClWR3kjV0jfHldJqRpISk4XSEskFEpMnBFKTWsPS05RDU1PtgtNMEAK0FEyWFhSHE1ZU45DWlTdO1tV7jRcVq4uXVeaKVZHFiXYWXBVX1qpTGBb2URhXCI+Y10kOGNetDJdVhcu32CoVmVhRk9mYuVHZ2PPQWhkPTxjXV43aWYxUmpnD0xraDlGZ2NeQelqJ1Zsa+dQbWeFS25tl1Vva09Q7m8QWnBtIlXwb+tZcXEdWgAAAAAAAAAA1aMAAOujAAALpAAAMKQAAEqkAABppAAAfqQAAJukAADFpAAABaUAACSlAAA7pQAAUaUAAGWlAACipQAA0qUAAO6lAAARpgAASKYAAH+mAACWpgAAtqYAAOCmAAAtpwAASKcAAHOnAACPpwAAtKcAANqnAAD/pwAAEqgAACeoAAA6qAAATagAAHKoAACHqAAAm6gAALyoAADSqAAAAakAACmpAABKqQAAa6kAAJqpAACrqQAAx6kAAAWqAAAsqgAAU6oAAGeqAACVqgAAvaoAANmqAAD+qgAAIKsAAEqrAAB1qwAAk6sAAMGrAADpqwAAEKwAADusAABorAAAmKwAAMKsAADvrAAAEq0AADCtAABOrQAAhK0AAK6tAADNrQAA8K0AABeuAAAsrgAAQK4AAHWuAACFrgAAw64AAAWvAAAvrwAAW68AAIKvAACerwAAya8AAOSvAAD4rwAAD7AAABywAABEsAAAebAAALWwAADjsAAABLEAACuxAABEsQAAbLEAAI+xAACnsQAAy7EAAPCxAAD2sQAAL7IAAGmyAACIsgAAl7IAALSyAADSsgAA77IAAAizAAAhswAAY7MAAJ2zAADTswAAB7QAABu0AAAytAAAWLQAAH+0AADBtAAA/bQAAC61AABStQAAgLUAAJu1AADTtQAA/rUAAAAAAAAAAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVVAEDFWJ9TQksAQEkyoyKoEcVYIXv8c2JoxVi/RQswfhifU/xzQW1UYp9Ts0FBLRIXQktiaFRiflhCSyE7uijDFABAxVifU0JLAEBJMqMiqBFJMr9Fs0EhO0kygic3G+ANoyILMEEtuiijIjcbvxKOCagRfhgSF8MUqBHgDY4J3wQAAAAAAADwP+9hSLFQMfY/ym9Nka7n9D+qEWzvYtDyPwAAAAAAAPA/O7+nwGkk6T+7IMd7elHhP12rct5VqNE/3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAApD8AABVdAADMPwAAiWkAAIAzAAAAAAAAzD8AAHRsAAA4NgAAAAAAAMw/AAAjdwAAGD0AAAAAAADMPwAAi4cAABg9AAAAAAAAzD8AAP+HAAAYPQAAAAAAADhAAADlngAAAAAAAAEAAADwMwAAAAAAAKQ/AAAknwAABQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAABG4QAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAIyQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAYzQAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApD8AAEe3AADMPwAAp7cAAFA2AAAAAAAAzD8AAFS3AABgNgAAAAAAAKQ/AAB1twAAzD8AAIK3AABANgAAAAAAAMw/AADxtwAAODYAAAAAAADMPwAAAbgAAHg2AAAAAAAAzD8AABK4AABQNgAAAAAAAMw/AAA0uAAAmDYAAAAAAADMPwAAWLgAAFA2AAAAAAAAHEAAAIC4AAAcQAAAgrgAABxAAACEuAAAHEAAAIa4AAAcQAAAiLgAABxAAACKuAAAHEAAAIy4AAAcQAAAjrgAABxAAACQuAAAHEAAAA3BAAAcQAAAkrgAABxAAACUuAAAHEAAAJa4AADMPwAAmLgAAEA2AAAAAAAApD8AANu7AACkPwAA+rsAAKQ/AAAZvAAApD8AADi8AACkPwAAV7wAAKQ/AAB2vAAApD8AAJW8AACkPwAAtLwAAKQ/AADTvAAApD8AAPK8AACkPwAAEb0AAKQ/AAAwvQAApD8AAE+9AAA4QAAAYr0AAAAAAAABAAAA8DMAAAAAAAA4QAAAob0AAAAAAAABAAAA8DMAAAAAAADMPwAA8r0AAOg3AAAAAAAApD8AAOC9AADMPwAAHL4AAOg3AAAAAAAApD8AAEa+AACkPwAAd74AADhAAACovgAAAAAAAAEAAADYNwAAA/T//zhAAADXvgAAAAAAAAEAAADwNwAAA/T//zhAAAAGvwAAAAAAAAEAAADYNwAAA/T//zhAAAA1vwAAAAAAAAEAAADwNwAAA/T//8w/AABkvwAACDgAAAAAAADMPwAAfb8AAAA4AAAAAAAAzD8AALy/AAAIOAAAAAAAAMw/AADUvwAAADgAAAAAAADMPwAA7L8AAMA4AAAAAAAAzD8AAADAAAAQPQAAAAAAAMw/AAAWwAAAwDgAAAAAAAA4QAAAL8AAAAAAAAACAAAAwDgAAAIAAAAAOQAAAAAAADhAAABzwAAAAAAAAAEAAAAYOQAAAAAAAKQ/AACJwAAAOEAAAKLAAAAAAAAAAgAAAMA4AAACAAAAQDkAAAAAAAA4QAAA5sAAAAAAAAABAAAAGDkAAAAAAAA4QAAAD8EAAAAAAAACAAAAwDgAAAIAAAB4OQAAAAAAADhAAABTwQAAAAAAAAEAAACQOQAAAAAAAKQ/AABpwQAAOEAAAILBAAAAAAAAAgAAAMA4AAACAAAAuDkAAAAAAAA4QAAAxsEAAAAAAAABAAAAkDkAAAAAAAA4QAAAHMMAAAAAAAADAAAAwDgAAAIAAAD4OQAAAgAAAAA6AAAACAAApD8AAIPDAACkPwAAYcMAADhAAACWwwAAAAAAAAMAAADAOAAAAgAAAPg5AAACAAAAMDoAAAAIAACkPwAA28MAADhAAAD9wwAAAAAAAAIAAADAOAAAAgAAAFg6AAAACAAApD8AAELEAAA4QAAAV8QAAAAAAAACAAAAwDgAAAIAAABYOgAAAAgAADhAAACcxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAApD8AALjEAAA4QAAAzcQAAAAAAAACAAAAwDgAAAIAAACgOgAAAgAAADhAAADpxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAAOEAAAAXFAAAAAAAAAgAAAMA4AAACAAAAoDoAAAIAAAA4QAAAMMUAAAAAAAACAAAAwDgAAAIAAAAoOwAAAAAAAKQ/AAB2xQAAOEAAAJrFAAAAAAAAAgAAAMA4AAACAAAAUDsAAAAAAACkPwAA4MUAADhAAAD/xQAAAAAAAAIAAADAOAAAAgAAAHg7AAAAAAAApD8AAEXGAAA4QAAAXsYAAAAAAAACAAAAwDgAAAIAAACgOwAAAAAAAKQ/AACkxgAAOEAAAL3GAAAAAAAAAgAAAMA4AAACAAAAyDsAAAIAAACkPwAA0sYAADhAAABpxwAAAAAAAAIAAADAOAAAAgAAAMg7AAACAAAAzD8AAOrGAAAAPAAAAAAAADhAAAANxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAApD8AADDHAADMPwAAR8cAAAA8AAAAAAAAOEAAAH7HAAAAAAAAAgAAAMA4AAACAAAAIDwAAAIAAAA4QAAAoMcAAAAAAAACAAAAwDgAAAIAAAAgPAAAAgAAADhAAADCxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAAzD8AAOXHAADAOAAAAAAAADhAAAD7xwAAAAAAAAIAAADAOAAAAgAAAMg8AAACAAAApD8AAA3IAAA4QAAAIsgAAAAAAAACAAAAwDgAAAIAAADIPAAAAgAAAMw/AAA/yAAAwDgAAAAAAADMPwAAVMgAAMA4AAAAAAAApD8AAGnIAAA4QAAAgsgAAAAAAAABAAAAED0AAAAAAAABAAAAAAAAAIgzAAABAAAAAgAAAAAAAACAMwAAAwAAAAQAAAAAAAAAmDMAAAUAAAAGAAAAAQAAALlSjD6OWuc+uVKMPgAAAACoMwAABwAAAAgAAAAJAAAAAQAAAAoAAAAAAAAAuDMAAAcAAAALAAAADAAAAAIAAAANAAAAAAAAAMgzAAAHAAAADgAAAA8AAAADAAAAEAAAAP/////+/////f///8g2AAAANwAAIDcAAMg2AAAANwAAADcAACg3AAAANwAAyDYAAAA3AAAoNwAAADcAAMg2AAAANwAAADcAANgzAAAANwAAADcAAAA3AAAANwAAADcAANgzAAAANwAAADcAAEAGAACAPgAAAAAAAIgTAAABAAAAAAAAAAIAAABAFgAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAUD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DMAAIg0AAAYNQAAGDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGwAAIB8AACAlAABfcIkA/wkvDwAAAABANgAAEQAAABIAAAATAAAAFAAAAAQAAAABAAAAAQAAAAEAAAAAAAAAaDYAABEAAAAVAAAAEwAAABQAAAAEAAAAAgAAAAIAAAACAAAAAAAAAHg2AAAWAAAAFwAAAAQAAAAAAAAAiDYAABYAAAAYAAAABAAAAAAAAAC4NgAAEQAAABkAAAATAAAAFAAAAAUAAAAAAAAAMDcAABEAAAAaAAAAEwAAABQAAAAEAAAAAwAAAAMAAAADAAAAAAAAAOg3AAAbAAAAHAAAAAAAAAAAOAAAHQAAAB4AAAABAAAABgAAAAQAAAAEAAAABQAAAAYAAAAHAAAABwAAAAgAAAAEAAAACAAAAAUAAAAAAAAACDgAAB8AAAAgAAAAAgAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAAsAAAAMAAAABgAAAAsAAAAHAAAACAAAAAAAAAAQOAAAIQAAACIAAAD4////+P///xA4AAAjAAAAJAAAAPRAAAAIQQAACAAAAAAAAAAoOAAAJQAAACYAAAD4////+P///yg4AAAnAAAAKAAAACRBAAA4QQAABAAAAAAAAABAOAAAKQAAACoAAAD8/////P///0A4AAArAAAALAAAAFRBAABoQQAABAAAAAAAAABYOAAALQAAAC4AAAD8/////P///1g4AAAvAAAAMAAAAIRBAACYQQAAAAAAAHA4AAAfAAAAMQAAAAMAAAAJAAAABQAAAAUAAAANAAAACgAAAAoAAAALAAAADAAAAAYAAAAMAAAACAAAAAAAAACAOAAAHQAAADIAAAAEAAAABgAAAAQAAAAEAAAADgAAAAYAAAAHAAAABwAAAAgAAAAEAAAADQAAAAkAAAAAAAAAkDgAAB8AAAAzAAAABQAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAA8AAAAQAAAACgAAAAsAAAAHAAAAAAAAAKA4AAAdAAAANAAAAAYAAAAGAAAABAAAAAQAAAAFAAAABgAAAAcAAAARAAAAEgAAAAsAAAAIAAAABQAAAAAAAACwOAAANQAAADYAAAA3AAAAAQAAAAYAAAAOAAAAAAAAANA4AAA4AAAAOQAAADcAAAACAAAABwAAAA8AAAAAAAAA4DgAADoAAAA7AAAANwAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAACA5AAA8AAAAPQAAADcAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAAAAABYOQAAPgAAAD8AAAA3AAAAAwAAAAQAAAAXAAAABQAAABgAAAABAAAAAgAAAAYAAAAAAAAAmDkAAEAAAABBAAAANwAAAAcAAAAIAAAAGQAAAAkAAAAaAAAAAwAAAAQAAAAKAAAAAAAAANA5AABCAAAAQwAAADcAAAATAAAAGwAAABwAAAAdAAAAHgAAAB8AAAABAAAA+P///9A5AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAAAg6AABEAAAARQAAADcAAAAbAAAAIAAAACEAAAAiAAAAIwAAACQAAAACAAAA+P///wg6AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAQQAAAE0AAAAAAAAAUAAAAE0AAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAFMAAAB1AAAAbgAAAGQAAABhAAAAeQAAAAAAAABNAAAAbwAAAG4AAABkAAAAYQAAAHkAAAAAAAAAVAAAAHUAAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABXAAAAZQAAAGQAAABuAAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVAAAAGgAAAB1AAAAcgAAAHMAAABkAAAAYQAAAHkAAAAAAAAARgAAAHIAAABpAAAAZAAAAGEAAAB5AAAAAAAAAFMAAABhAAAAdAAAAHUAAAByAAAAZAAAAGEAAAB5AAAAAAAAAFMAAAB1AAAAbgAAAAAAAABNAAAAbwAAAG4AAAAAAAAAVAAAAHUAAABlAAAAAAAAAFcAAABlAAAAZAAAAAAAAABUAAAAaAAAAHUAAAAAAAAARgAAAHIAAABpAAAAAAAAAFMAAABhAAAAdAAAAAAAAAAAAAAAODoAAEYAAABHAAAANwAAAAEAAAAAAAAAYDoAAEgAAABJAAAANwAAAAIAAAAAAAAAgDoAAEoAAABLAAAANwAAACMAAAAkAAAABwAAAAgAAAAJAAAACgAAACUAAAALAAAADAAAAAAAAACoOgAATAAAAE0AAAA3AAAAJgAAACcAAAANAAAADgAAAA8AAAAQAAAAKAAAABEAAAASAAAAAAAAAMg6AABOAAAATwAAADcAAAApAAAAKgAAABMAAAAUAAAAFQAAABYAAAArAAAAFwAAABgAAAAAAAAA6DoAAFAAAABRAAAANwAAACwAAAAtAAAAGQAAABoAAAAbAAAAHAAAAC4AAAAdAAAAHgAAAAAAAAAIOwAAUgAAAFMAAAA3AAAAAwAAAAQAAAAAAAAAMDsAAFQAAABVAAAANwAAAAUAAAAGAAAAAAAAAFg7AABWAAAAVwAAADcAAAABAAAAJQAAAAAAAACAOwAAWAAAAFkAAAA3AAAAAgAAACYAAAAAAAAAqDsAAFoAAABbAAAANwAAABAAAAAGAAAAHwAAAAAAAADQOwAAXAAAAF0AAAA3AAAAEQAAAAcAAAAgAAAAAAAAACg8AABeAAAAXwAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAPA7AABeAAAAYAAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAFg8AABhAAAAYgAAADcAAAAFAAAABgAAAA0AAAAyAAAAMwAAAA4AAAA0AAAAAAAAAJg8AABjAAAAZAAAADcAAAAAAAAAqDwAAGUAAABmAAAANwAAAAwAAAASAAAADQAAABMAAAAOAAAAAwAAABQAAAAPAAAAAAAAAPA8AABnAAAAaAAAADcAAAA1AAAANgAAACEAAAAiAAAAIwAAAAAAAAAAPQAAaQAAAGoAAAA3AAAANwAAADgAAAAkAAAAJQAAACYAAABmAAAAYQAAAGwAAABzAAAAZQAAAAAAAAB0AAAAcgAAAHUAAABlAAAAAAAAAAAAAADAOAAAXgAAAGsAAAA3AAAAAAAAANA8AABeAAAAbAAAADcAAAAVAAAABAAAAAUAAAAGAAAADwAAABYAAAAQAAAAFwAAABEAAAAHAAAAGAAAABAAAAAAAAAAODwAAF4AAABtAAAANwAAAAcAAAAIAAAAEQAAADkAAAA6AAAAEgAAADsAAAAAAAAAeDwAAF4AAABuAAAANwAAAAkAAAAKAAAAEwAAADwAAAA9AAAAFAAAAD4AAAAAAAAAADwAAF4AAABvAAAANwAAAAMAAAAEAAAACwAAAC8AAAAwAAAADAAAADEAAAAAAAAAADoAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAAAAAAMDoAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABFcnJvcjogbGFiZWxpbmcgd29yayBvdmVyZmxvdy4KAFVua25vd24gb3IgdW5zdXBwb3J0ZWQgbGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgcmVxdWVzdGVkLiBTZXQgdG8gbWFudWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=b;Se(0,3,20325,e);a=zy(c[(mx()|0)>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Se(0,3,21881,f);a=-1}else{a=pd(a,d)|0;EO(d)}yb=g;return a|0}function rd(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|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[f+20>>2]=0;g[d+120>>3]=1.0;Vd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(h)|0;return 0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|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;g[d+120>>3]=1.0;Vd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(i)|0;return 0}function xd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function yd(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Mz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Uz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function zd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Oy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;_z(b,d)|0;e=0}return e|0}function Ad(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Dd(a){a=a|0;var b=0;b=Bd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Id(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Ed(a,b){a=a|0;b=b|0;var d=0;d=Bd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Ld(d,a,b)|0)<0){Jd(d)|0;d=0}}else d=0;return d|0}function Fd(a,b){a=a|0;b=b|0;var d=0;d=Cd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Md(d,a,b)|0)<0){Kd(d)|0;d=0}}else d=0;return d|0}function Gd(a){a=a|0;var b=0;b=Bd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((Zd(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Hd(a){a=a|0;var b=0;b=Cd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((_d(b,a)|0)<0){Kd(b)|0;b=0}}else b=0;return b|0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Jd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Kd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Dd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Od(l,e)|0)<0){Jd(l)|0;a=-1;break}if((Pd(l,e)|0)<0){Jd(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Qd(l,b,d)|0;Jd(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Bd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Rd(a,h)|0)<0){Jd(h)|0;e=-1;break}}else if((Sd(a,h)|0)<0){Jd(h)|0;e=-1;break}if((Td(h,d)|0)<0){Jd(h)|0;e=-1;break}b:do if(e){if((Ud(a,h,b,d)|0)<0){Jd(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Jd(h)|0;e=0;break}Jd(h)|0;e=-1}else e=-1;while(0);return e|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0)g[j>>3]=+g[k+((B(d,n)|0)+e<<3)>>3];else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0)g[j>>3]=+g[k+((B(d,n)|0)+e<<3)>>3];else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=yb;yb=yb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=oe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((se(a,b,d)|0)<0){pe(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}pe(C)|0;d=0}else d=-1;while(0);yb=F;return d|0}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Vd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Wd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);yb=q;return a|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);yb=q;return a|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function $d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=yb;yb=yb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+be(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ce(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+be(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ce(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ce(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+be(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}yb=h;return 0}function be(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ce(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function de(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ee(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+192|0;f=g;ge(a,f);ge(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;he(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;he(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;YO(a|0,f|0,184)|0;yb=g;return}function ge(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function he(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=pz(a,22236)|0;if(!r){c[f>>2]=c[(mx()|0)>>2];c[f+4>>2]=a;Se(0,3,20359,f);a=zy(c[(mx()|0)>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Se(0,3,21881,h);a=-1;break}Iz(r,0,2)|0;a:do if(!(zz(r)|0)){h=fA(r)|0;gA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Se(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((eA(q,a,1,r)|0)!=1){c[l>>2]=c[(mx()|0)>>2];Se(0,3,20553,l);a=zy(c[(mx()|0)>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Se(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;fe(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;YO(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((eA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;fe(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}YO(h|0,q|0,184)|0;a=a+1|0}}else{c[i>>2]=c[(mx()|0)>>2];Se(0,3,20428,i);a=zy(c[(mx()|0)>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Se(0,3,21881,j);a=-1}while(0);vz(r)|0}else a=-1;while(0);yb=s;return a|0}function je(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ae(a+8|0,j,m)|0)<0)Se(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-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;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);yb=o;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=DO(208)|0;if(!r){Se(0,3,41858,s+32|0);Ea(1)}YO(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=DO(d)|0;c[r+184>>2]=e;if(!e){Se(0,3,41858,s+40|0);Ea(1)}d=DO(d)|0;c[r+188>>2]=d;if(!d){Se(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ee(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];de(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}yb=s;return r|0}function le(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){EO(c[b+184>>2]|0);EO(c[(c[a>>2]|0)+188>>2]|0);EO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function me(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function ne(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function oe(a){a=a|0;var b=0,d=0;b=DO(8)|0;do if(b){d=DO(a<<3)|0;c[b>>2]=d;if(!d){EO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function pe(a){a=a|0;EO(c[a>>2]|0);EO(a);return 0}function qe(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+re(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function re(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=yb;yb=yb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];j=w-l+-1|0;c[s>>2]=j;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+qe(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;i=0.0;while(1){if(e>>>0>=h>>>0)break;o=+g[(c[a>>2]|0)+((B(e,w)|0)+h<<3)>>3];o=i+o*+g[m+(e<<3)>>3];e=e+1|0;i=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=i+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;i=o}g[(c[b>>2]|0)+(h<<3)>>3]=i;h=h+1|0}c[t>>2]=j;c[s>>2]=j;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+re(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;i=+g[m+(e<<3)>>3];h=c[b>>2]|0;j=h+(e<<3)|0;n=+g[j>>3]-o*i;g[j>>3]=n;j=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+j<<3)|0;g[k>>3]=+g[k>>3]-(i*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else j=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){j=w;i=+g[e+((B(h,w)|0)+h<<3)>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=i;d=j+-1|0;if((j|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((j|0)<=(r|0)){h=w-d+-1|0;k=m+(j<<3)|0;e=j;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+j<<3);i=+re(u,v);f=j;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-i*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}j=d;i=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);yb=x;return e|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=yb;yb=yb+224|0;h=j+48|0;i=j;f=j+192|0;ve(h,f,c,d);a:do if((we(i,b,f)|0)<0){Se(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);yb=j;return b|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=yb;yb=yb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;xe(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}yb=j;return}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function xe(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;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[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;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[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Gd(f)|0;do if(d){b=Ed(d,f)|0;if(!b){Jd(d)|0;a=-1;break}a=Ed(d,g)|0;if(!a){Jd(d)|0;Jd(b)|0;a=-1;break}if((Vd(b)|0)<0){Jd(d)|0;Jd(b)|0;Jd(a)|0;a=-1;break}else{Ld(h,b,a)|0;Jd(d)|0;Jd(b)|0;Jd(a)|0;a=0;break}}else a=-1;while(0);yb=i;return a|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=yb;yb=yb+256|0;f=j+192|0;h=j+96|0;i=j;Ae(f,b);Be(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}yb=j;return 0}function Ae(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function Be(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ce(a){a=a|0;var b=0,d=0,e=0;b=DO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function De(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{EO(b);c[a>>2]=0;a=0}return a|0}function Ee(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=yb;yb=yb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=DO(h*96|0)|0;if(!w){Se(0,3,41875,i);h=-1;break}r=DO(h<<4)|0;if(!r){Se(0,3,41875,j);EO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){sd(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((te(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((ue(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((ye(u,r,w,h<<1)|0)<0){i=29;break}ze(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ge(w,r);h=-1;break}else if((i|0)==27){Ge(w,r);h=-1;break}else if((i|0)==29){Ge(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;EO(w);EO(r);h=0;break}}else h=-1;while(0);yb=x;return h|0}function Ge(a,b){a=a|0;b=b|0;EO(a);EO(b);return}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,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=yb;yb=yb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=DO(i*96|0)|0;if(!E){Se(0,3,41875,h);h=-1;break}z=DO(i<<4)|0;if(!z){Se(0,3,41875,j);EO(E);h=-1;break}h=i<<3;y=DO(h)|0;if(!y){Se(0,3,41875,k);EO(E);EO(z);h=-1;break}x=DO(h)|0;if(!x){Se(0,3,41875,l);EO(E);EO(z);EO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){sd(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((te(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}my(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((ue(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((ye(C,z,E,h)|0)<0){i=42;break}ze(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ie(E,z,y,x);h=-1;break}else if((i|0)==36){Ie(E,z,y,x);h=-1;break}else if((i|0)==40){Ie(E,z,y,x);h=-1;break}else if((i|0)==42){Ie(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;EO(E);EO(z);EO(y);EO(x);h=0;break}}else h=-1;while(0);yb=F;return h|0}function Ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;EO(a);EO(b);EO(c);EO(d);return}function Je(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Ke(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=yb;yb=yb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Bd(h,8)|0;if(!n){Se(0,3,20681,i);h=-1;break}k=Bd(h,1)|0;if(!k){Jd(n)|0;Se(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Gd(n)|0;if(!b){Jd(n)|0;Jd(k)|0;Se(0,3,20733,l);h=-1;break}j=Ed(b,n)|0;if(!j){Jd(n)|0;Jd(k)|0;Jd(b)|0;Se(0,3,20759,m);h=-1;break}i=Ed(b,k)|0;if(!i){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Se(0,3,20785,o);h=-1;break}if((Vd(j)|0)<0){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Se(0,3,20811,p);h=-1;break}h=Ed(j,i)|0;if(!h){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Se(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Jd(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Le(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);yb=t;return h|0}function Le(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Me(a){a=a|0;EO(c[a>>2]|0);EO(a);return 0}function Ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Oe(a,b,c,d,0))}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,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=yb;yb=yb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Sc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){sd(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=DO(p<<6)|0;if(!q){Se(0,3,41858,v);Ea(1)}p=DO(p*96|0)|0;if(!p){Se(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Uc(a,x,q,p,o,i);if(j&h>=20.0){Ee(c[a>>2]|0,.8)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,.6)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,.4)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,0.0)|0;h=+Vc(a,x,q,p,o,i)}}}}EO(p);EO(q)}else{h=+Uc(a,x,q,p,o,y);k=e+8|0;l=+Uc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.8)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.6)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.4)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,0.0)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);EO(p);EO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}yb=C;return +h}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Oe(a,b,c,d,1))}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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.0,V=0.0;T=yb;yb=yb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=pz(a,21853)|0;do if(!K){c[d>>2]=a;Se(0,3,20863,d);d=zy(c[(mx()|0)>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Se(0,3,21881,e);d=0}else{Re(I,K);c[H>>2]=R;if((Az(I,21887,H)|0)!=1){c[f>>2]=a;Se(0,3,20916,f);vz(K)|0;d=0;break}d=c[R>>2]|0;y=DO(d*320|0)|0;if(!y){Se(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Re(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Az(I,21017,C)|0)!=1){if(p){d=11;break}if(!(yd(J,a,2048,1)|0)){d=13;break}qA(J,I,2047-(Oy(J)|0)|0)|0;o=qd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Re(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Az(I,21313,D)|0)!=1){d=18;break}Re(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Az(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Az(I,21438,F)|0)!=2){d=23;break}d=0}do{Re(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Az(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);vd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Se(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Se(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Se(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Se(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Se(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Se(0,3,21444,Q)}else if((d|0)==31){vz(K)|0;d=DO(136)|0;if(!d){Se(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}vz(K)|0;EO(y);d=0}while(0);yb=T;return d|0}function Re(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(yz(b,256,c)|0))break;d=Oy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Se(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=yb;yb=yb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Te(0,d,e,b)}yb=g;return}function Te(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Hx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Oy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=DO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];$y(i,b+1|0,21553,j)|0}Hx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Uz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else iz(i,c[4001]|0)|0;while(0);EO(i)}yb=l;return}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=pz(b,22236)|0;if(e){Iz(e,0,2)|0;f=fA(e)|0;Iz(e,0,0)|0;g=f+1|0;b=DO(g)|0;if(!b){vz(e)|0;c[(mx()|0)>>2]=48;b=0;break}if(!(eA(b,f,1,e)|0)){EO(b);vz(e)|0;b=0;break}a[b+f>>0]=0;vz(e)|0;if(d)c[d>>2]=g}else b=0}else{c[(mx()|0)>>2]=28;b=0}while(0);return b|0}function Ve(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function We(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Xe(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function $e(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=yb;yb=yb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=gz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=gz(+(c[t>>2]|0)*e/A)|0;v=DO(16)|0;if(!v){Se(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=DO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Se(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=gz(A*+(h|0)/e)|0;h=h+1|0;r=gz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=gz(A*+(i|0)/e)|0;i=i+1|0;p=gz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}yb=z;return v|0}function af(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=yb;yb=yb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=DO((Oy(a)|0)+6|0)|0;if(!d){Se(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Fx(d,21584,b)|0;p=pz(d,22236)|0;EO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Se(0,3,21595,e);b=0}else{b=DO(8)|0;if(!b){Se(0,3,41858,g);Ea(1)}d=b+4|0;if((eA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Se(0,1,21668,i);e=o<<2;g=DO(e)|0;c[b>>2]=g;if(!g){Se(0,3,41858,j);Ea(1)}j=DO(16)|0;c[g>>2]=j;if(!j){Se(0,3,41858,k);Ea(1)}d=df(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Se(0,2,21698,l);EO(c[g>>2]|0);EO(g);EO(b);gA(p);b=bf(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Se(0,2,21698,m);EO(c[g>>2]|0);EO(g);EO(b);EO(d);vz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];EO(d);Iz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((eA(n,4,1,p)|0)!=1){d=21;break}m=$e(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;EO(c[c[o>>2]>>2]|0);EO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;EO(c[c[o>>2]>>2]|0);EO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){vz(p)|0;break a}while(0);EO(g)}else Se(0,3,21643,h);EO(b);vz(p)|0;b=0}while(0);yb=q;return b|0}function bf(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;l=yb;yb=yb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=DO(8)|0;if(!b){Se(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((eA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=DO(k<<2)|0;c[b>>2]=j;if(!j){Se(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=DO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Se(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((eA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((eA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((eA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=DO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=eA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Se(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){vz(a)|0;break a}while(0);EO(j);i=46}else i=5;while(0);if((i|0)==5){Se(0,3,21643,e);i=46}if((i|0)==46){EO(b);vz(a)|0;b=0}yb=l;return b|0}function cf(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;EO(c[c[d+(e<<2)>>2]>>2]|0);EO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}EO(d);EO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function df(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=DO(20)|0;if(!b){Se(0,3,41858,d);Ea(1)}a=ef(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){EO(b);b=0}yb=d;return b|0}function ef(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=yb;yb=yb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=DO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;_O(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=VO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=WO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;c[w+(m<<2)>>2]=l+(B(m+p|0,s)|0);m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=WO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);EO(D|0);yb=N;return l|0}function ff(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Fx(k,22627,h)|0;k=pz(k,21853)|0;if(!k)a=0;else{a=DO(8)|0;if(!a){Se(0,3,41858,e);Ea(1)}a:do if(hf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Az(i,21887,f)|0)!=1){EO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){EO(a);a=0;break}f=DO(b*56|0)|0;c[a>>2]=f;if(!f){Se(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(hf(i,k)|0)){b=15;break}c[n>>2]=j;if((Az(i,21914,n)|0)!=1){b=17;break}g=qd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(hf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Az(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(hf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Az(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==17){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==19){EO(e);EO(a);a=0;break}else if((b|0)==21){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==24){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==27){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==29){EO(c[a>>2]|0);EO(a);a=0;break}}else{EO(a);a=0}while(0);vz(k)|0}yb=o;return a|0}function hf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=yz(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=yb;yb=yb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Fx(t,22627,i)|0;t=pz(t,22236)|0;if(!t){c[d>>2]=a;Se(0,3,21818,d);b=0}else{b=DO(8)|0;if(!b){Se(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((eA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=DO(h*20|0)|0;c[b>>2]=i;if(!i){Se(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((eA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((eA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((eA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((eA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=DO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((eA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((eA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((eA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((eA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((eA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Se(0,3,21839,j);break}case 15:{Se(0,3,21839,k);break}case 17:{Se(0,3,21839,l);break}case 19:{Se(0,3,21839,m);break}case 22:{Se(0,3,41858,n);Ea(1);break}case 25:{Se(0,3,21839,o);break}case 27:{Se(0,3,21839,p);break}case 29:{Se(0,3,21839,q);break}case 31:{Se(0,3,21839,r);break}case 34:{Se(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;EO(c[i+(a*20|0)>>2]|0);a=a+1|0}EO(i);u=39}else{Se(0,3,21839,f);u=39}while(0);if((u|0)==39){EO(b);b=0}vz(t)|0}yb=v;return b|0}function kf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;EO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}EO(d);EO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)mf(0,b,c,d)|0;else mf(a,b,c,d)|0;return 0}function mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=yb;yb=yb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{td(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=+u(+(e?z:y))*2.5399999618530273;f[d+4>>2]=+u(+(e?y:z))*2.5399999618530273;yb=m;return 0}function nf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=yb;yb=yb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{of(e,e+8|0,l,j);of(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];of(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+pf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){Yz(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+(Zz()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);yb=G;return d|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+qf(a,a+(b<<3)|0,c);return +(e+ +qf(a,c,a+(d<<3)|0))}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=yb;yb=yb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Dx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Fx(g,22627,h)|0;d=pz(g,21853)|0;if(!d){c[i>>2]=b;Se(0,3,21855,i);q=zy(c[(mx()|0)>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Se(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Uz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=DO(1140)|0;if(!o){Se(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(sf(r,n)|0)){vz(n)|0;EO(o);q=0;break}c[l>>2]=t;if((Az(r,21887,l)|0)!=1){vz(n)|0;EO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){vz(n)|0;EO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=DO(d*112|0)|0;c[o>>2]=j;if(!j){Se(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Se(0,1,21890,u);if(k){if(!(sf(r,n)|0)){m=57;break}c[v>>2]=s;if((Az(r,21914,v)|0)!=1){m=57;break}Gf(s)|0}Se(0,1,21917,w);p=af(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Se(0,1,21966,y);Se(0,1,21976,z);p=jf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Se(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Se(0,1,22027,C);Gf(s)|0;p=gf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Se(0,1,21966,E)}b:do if(k){if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Az(r,22080,F)|0)!=4){m=40;break a}if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Az(r,22080,H)|0)!=4){m=43;break a}if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Az(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);wd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Ff(s,256,22128)|0;g=DO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Uz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Se(0,3,21935,x);EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Se(0,3,21996,A);cf(j+((c[t>>2]|0)*112|0)|0)|0;EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Se(0,3,22050,D);kf(j+((c[t>>2]|0)*112|0)+4|0)|0;cf(j+((c[t>>2]|0)*112|0)|0)|0;EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==40){Se(0,3,22092,G);vz(n)|0;Ea(0)}else if((m|0)==43){Se(0,3,22092,I);vz(n)|0;Ea(0)}else if((m|0)==47){Se(0,3,22092,K);vz(n)|0;Ea(0)}else if((m|0)==55){Se(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)vz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);yb=M;return q|0}function sf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=yz(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function uf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|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,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=yb;yb=yb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;vf(b,g,i,j,s,u,S);wf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=DO(q)|0;if(!H){Se(0,3,41858,E);Ea(1)}G=DO(q)|0;if(!G){Se(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;xf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;vf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}EO(H);EO(G)}yb=X;return q|0}function vf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function wf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function xf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=DO(40)|0;if(!d){Se(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=DO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Se(0,3,41858,e+8|0);Ea(1)}else{yb=e;return d|0}return 0}function zf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=yb;yb=yb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Cf(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Ef(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{td(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Cf(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(me(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((ne(y,+(q|0),p,z,A)|0)>=0)if((Ef(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{c[k+28>>2]=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+32>>2]=d;c[k+36>>2]=l;d=0}yb=D;return d|0}function Af(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=yb;yb=yb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Cf(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Cf(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Cf(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;yb=r;return}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=yb;yb=yb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){td(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((me(b,i,c,e,g)|0)>=0?(ne(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}yb=l;return b|0}function Cf(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=yb;yb=yb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{td(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(me(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}yb=i;return a|0}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=yb;yb=yb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((ne(a+184|0,c,d,i,j)|0)<0)a=-1;else{td(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}yb=r;return a|0}function Ef(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+4|0;o=p;if((((Df(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;yb=p;return b|0}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;return zd(a,b,c)|0}function Gf(a){a=a|0;return Ad(a)|0}function Hf(a){a=a|0;return If(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=yb;yb=yb+16|0;f=FO(1,4156)|0;if(!f){Se(0,3,41858,g);Ea(1)}else{h=rB(4)|0;Gj(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;yb=g;return f|0}return 0}function Jf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){lk(d);QA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){EO(d);b=c[a>>2]|0}EO(b);c[a>>2]=0;b=0}return b|0}function Kf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Mf(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function Mf(a){a=a|0;return}function Nf(a,b){a=a|0;b=b|0;Pf(a);return}function Of(a){a=a|0;P(a|0)|0;SA()}function Pf(a){a=a|0;QA(a);return}function Qf(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;s=yb;yb=yb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=DO(16)|0;c[a>>2]=e;if(!e){Se(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=DO(i*132|0)|0;if(!j){Se(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;YO(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;YO(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){EO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=DO(n*12|0)|0;if(!o){Se(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=DO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Se(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=DO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Se(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;EO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}EO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Rf(b)|0;d=0}}else{Se(0,3,22132,e);d=-1}yb=s;return d|0}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0;e=yb;yb=yb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)EO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;EO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}EO(c[d>>2]|0);EO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Se(0,3,22192,e);b=-1}yb=e;return b|0}function Sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Fg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Se(0,3,22290,i);f=-1;break}i=FO(1,16)|0;if(!i){Se(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((eA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=DO(f*132|0)|0;c[i>>2]=j;if(!j){Se(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((eA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((eA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=DO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Se(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((eA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((eA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=DO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((eA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Se(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;vz(m)|0;f=0;break a}}}while(0);Se(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)EO(f);f=c[i>>2]|0;if(f|0)EO(f);EO(i);vz(m)|0;f=-1}else{Se(0,3,22239,h);f=-1}while(0);yb=p;return f|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;a:do if(!a){Se(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);yb=j;return e|0}function Uf(){return -1}function Vf(a,b){a=a|0;b=b|0;return Xf(a,b,Wf(b)|0)|0}function Wf(a){a=a|0;return Oy(a)|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;g=l+12|0;j=l;k=l+8|0;LE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Uf()|0;e=h+76|0;if(Yf(m,c[e>>2]|0)|0){GE(g,h);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;WF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!(Zf(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(m,c[m+16>>2]|5)}}ME(j);yb=l;return b|0}function Yf(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function Zf(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;fO(m,g,h);if((Hb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){hO(m);break}else{c[b>>2]=0;hO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);yb=n;return i|0}function _f(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)cO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=rB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;$f(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;$f(h+f|0,i);yb=j;return}function $f(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function ag(a){a=a|0;return a&255|0}function bg(a){a=a|0;if(Yf(a,Uf()|0)|0)a=~(Uf()|0);return a|0}function cg(a){a=a|0;return a&255|0}function dg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=yb;yb=yb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Se(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){EO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=DO(e*132|0)|0;c[u>>2]=t;if(!t){Se(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;YO((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){EO(g);e=c[t>>2]|0}h=h+1|0}EO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=DO(e*12|0)|0;c[t>>2]=s;if(!s){Se(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=DO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Se(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){EO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=DO(g*68|0)|0;c[i>>2]=h;if(!h){Se(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){eg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else fg(v,y);Mf(y);g=c[u>>2]|0;gg(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else hg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))ig(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Se(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;cm(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Kf(x);jg(w);Lf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Se(0,3,22451,e);e=-1}while(0);yb=A;return e|0}function eg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function fg(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=sg(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;tg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;ug(a,d);vg(d);yb=h;return}}function gg(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function hg(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=og(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;pg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;qg(a,d);rg(d);yb=h;return}}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=yb;yb=yb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=kg(b)|0;if(h>>>0>>0)CO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;lg(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;mg(b,e);ng(e);yb=i;return}}function jg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kg(a){a=a|0;return 2147483647}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=rB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function og(a){a=a|0;return 357913941}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function sg(a){a=a|0;return 214748364}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function vg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Mf(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=yb;yb=yb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=zg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Cm(c[a>>2]|0,s,i,j)|0;j=dp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){EO(b);d=c[i>>2]|0}h=DO(d<<3)|0;c[j>>2]=h;if(!h){Se(0,3,41858,o);Ea(1)}e=dp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;ne(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;ne(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;ne(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;ne(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;ne(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=fp(c[a>>2]|0)|0,q=ap(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=cp(c[a>>2]|0,q)|0,n=dp(c[a>>2]|0)|0,o=c[b>>2]|0,(xg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Se(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{EO(s);d=0}}else{Se(0,3,22543,d);d=-1}while(0);yb=u;return d|0}function xg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=yb;yb=yb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=DO(b<<1)|0;if(!o){Se(0,3,41858,j);Ea(1)}n=DO(m*24|0)|0;if(!n){Se(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Ke(b,o,n,m,q)|0)<0){EO(o);EO(n);b=-1;break}b=Ce(b)|0;c[s>>2]=b;if(!b){EO(o);EO(n);b=-1;break}if((Fe(b,p,q,r,t)|0)<0){EO(o);EO(n);De(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}De(s)|0;EO(o);EO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);yb=u;return b|0}function yg(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function zg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Ag(a,b,c,e,f)|0;break}case 5:{a=Bg(a,b,c,e,f)|0;break}case 2:{a=Cg(a,b,c,e,f)|0;break}case 4:{a=Dg(a,b,c,e,f)|0;break}default:a=Eg(a,b,c,e,f)|0}return a|0}function Ag(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=yb;yb=yb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=DO(b)|0;if(!d){Se(0,3,41858,g);Ea(1)}else{YO(d|0,a|0,b|0)|0;yb=g;return d|0}return 0}function Bg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=yb;yb=yb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=DO(B(m,p)|0)|0;if(!m){Se(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}yb=q;return m|0}function Cg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=DO(B(l,m)|0)|0;if(!k){Se(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}yb=n;return k|0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=DO(B(m,n)|0)|0;if(!l){Se(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}yb=o;return l|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=DO(B(n,o)|0)|0;if(!m){Se(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}yb=p;return m|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=pz(a,d)|0;break}f=Oy(a)|0;f=DO(f+2+(Oy(b)|0)|0)|0;if(!f){Se(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Fx(f,22627,h)|0;e=pz(f,d)|0;EO(f);break}}else e=0;while(0);yb=i;return e|0}function Gg(a){a=a|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;return}function Hg(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;m=yb;yb=yb+16|0;d=m;if(!(Ig(b)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;GE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(d,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(d);OE(l,k)|0;KE(l)|0;ua()}i=Kg(Jg(b,0,0)|0)|0;j=Lg(Jg(b,0,0)|0)|0;k=Mg(Jg(b,0,0)|0)|0;l=a+12|0;c[l>>2]=Ng(b)|0;b=(Og(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Pg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;aq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}yb=m;return}function Ig(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=yb;yb=yb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Vf(Vf(NE(Vf(Vf(Vf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;GE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=VF(f,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(f);OE(e,h)|0;KE(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;yb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Vf(Vf(NE(Vf(Vf(Vf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;GE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=VF(f,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(f);OE(h,g)|0;KE(h)|0;ua()}return 0}function Kg(a){a=a|0;return c[a>>2]|0}function Lg(a){a=a|0;return c[a+4>>2]|0}function Mg(a){a=a|0;return c[a+8>>2]|0}function Ng(a){a=a|0;return c[a+16>>2]|0}function Og(a){a=a|0;return c[a+20>>2]|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;pq(f);d=f}c[g>>2]=a}}else Qg(a,b-e|0);return}function Qg(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Sg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Tg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Ug(f,b);Vg(a,f);Wg(f);break}}else Rg(a,b);while(0);yb=i;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Yp(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Sg(a){a=a|0;return 134217727}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Ug(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Yp(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;$p((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Wg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;pq(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Xg(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;h=yb;yb=yb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Vf(Vf(NE(Vf(Vf(Vf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if((Ng(b)|0)<=0){g=Vf(Vf(NE(Vf(Vf(Vf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if(b|0?LA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=Yg(a,e,d)|0;j=Jg(b,e,d)|0;i=d+1|0;Zg(0,k,j,Jg(b,e,i)|0);d=i}e=e+1|0}yb=h;return}k=Vf(Vf(NE(Vf(Vf(Vf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;GE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=VF(d,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(d);OE(k,j)|0;KE(k)|0;ua()}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function Zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;a=k;if((Kg(b)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((Kg(d)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((Kg(e)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(b)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(d)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(e)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Lg(b)|0;if((j|0)!=(Lg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Mg(b)|0;if((j|0)!=(Mg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Lg(d)|0;if((j|0)!=(Lg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Mg(d)|0;if((j|0)!=(Mg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}g=0;while(1){if(g>>>0>=(Mg(d)|0)>>>0)break;h=$g(b,g)|0;i=ah(d,g)|0;j=ah(e,g)|0;a=0;while(1){if(a>>>0>=(Lg(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}yb=k;return}function _g(a){a=a|0;return c[a+16>>2]|0}function $g(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;yb=e;return d|0}else{e=Vf(Vf(NE(Vf(Vf(Vf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;GE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=VF(d,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(d);OE(e,b)|0;KE(e)|0;ua()}return 0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;yb=e;return d|0}else{e=Vf(Vf(NE(Vf(Vf(Vf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;GE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=VF(d,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(d);OE(e,b)|0;KE(e)|0;ua()}return 0}function bh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Gg(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|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;f[b+88>>2]=9.0;qj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;ch(b,5e3);dh(d,36);return}function ch(a,b){a=a|0;b=b|0;c[a+84>>2]=b;sh(a+60|0,b);return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else lh(a,b-e|0);return}function eh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function fh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function gh(a){a=a|0;kh(a);return}function hh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;ih(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;jh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function jh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;pq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function lh(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=nh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;oh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);ph(f,b);qh(a,f);rh(f);break}}else mh(a,b);while(0);yb=i;return}function mh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function nh(a){a=a|0;return 1073741823}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function ph(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function rh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){th(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);uh(a,d);vh(d)}yb=f;return}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function vh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function wh(a){a=a|0;eh(a+144|0);rj(a+92|0);fh(a+72|0);fh(a+60|0);gh(a+32|0);hh(a+16|0);return} -function Lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=NO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Hb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Ib[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Mz(a,b){a=a|0;b=b|0;return Nz(a,b,(Oy(a)|0)+1|0)|0}function Nz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;return Vy(0,a,b,(c|0)==0?55652:c)|0}function Pz(a,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;n=yb;yb=yb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Qz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Vy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];yb=n;return e|0}function Qz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(Rz()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Oy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(mx()|0)>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(mx()|0)>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Rz(){return _x()|0}function Sz(a,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;l=yb;yb=yb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Tz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=Yx(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];yb=l;return f|0}function Tz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=Yx(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Yx(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=Yx(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}Yx(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);yb=j;return e|0}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;Vz(a,b,c)|0;return a|0}function Vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{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}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)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);_O(b|0,0,e|0)|0;return b|0}function Wz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=yb;yb=yb+32|0;f=g;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+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);yb=g;return d|0}function Xz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Nx(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=yx(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=yx(a)|0;break}}while(0);return b|0}function Yz(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function Zz(){var a=0,b=0,d=0;b=54792;b=LO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=MO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=RO(b|0,a|0,33)|0;F()|0;return a|0}function _z(a,b){a=a|0;b=b|0;az(a+(Oy(a)|0)|0,b)|0;return a|0}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=yb;yb=yb+16|0;e=h;c[e>>2]=c[d>>2];e=Hx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=DO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Hx(g,f,b,d)|0;else a=-1;yb=h;return a|0}function aA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Nx(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){zx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Ox(d);break}if(g){Ox(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function bA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Nx(a)|0)==0;d=cA(a)|0;b=F()|0;if(e)a=d;else{Ox(a);a=d}}else{a=cA(a)|0;b=F()|0}E(b|0);return a|0}function cA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ib[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=NO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=MO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function dA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Nx(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=mz(d,b)|0;Ox(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=mz(d,b)|0}while(0);return e|0}function eA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Nx(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;YO(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(zx(f)|0)break;h=Hb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Ox(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Ox(f);return e|0}function fA(a){a=a|0;var b=0;a=bA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){c[(mx()|0)>>2]=61;a=-1}return a|0}function gA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Nx(a)|0)==0;Lz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Ox(a)}else{Lz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function hA(a,b){a=a|0;b=b|0;return +(+iA(a,b,1))}function iA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=yb;yb=yb+144|0;e=g;_O(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;ux(e,0,0);f=+By(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=MO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;yb=g;return +f}function jA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(xx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Ex(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Ex(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function kA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=yb;yb=yb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){_O(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ry(b,e<<24>>24)|0;yb=h;return e-b|0}function lA(a,b){a=a|0;b=b|0;return +(+iA(a,b,0))}function mA(a,b){a=a|0;b=b|0;return +(+iA(a,b,2))}function nA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+lA(a,b))}function oA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+hA(a,b))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+mA(a,b))}function qA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Oy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function rA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Wz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(kA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function uA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=yb;yb=yb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=vA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(wA(a)|0)){c[b>>2]=46910;yA(46860,b)}b=xA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Hb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Eb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;yA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;yA(46819,h)}}yA(46898,g)}function vA(){return 55660}function wA(a){a=a|0;return 0}function xA(a){a=a|0;E(0);return 0}function yA(a,b){a=a|0;b=b|0;var d=0;d=yb;yb=yb+16|0;c[d>>2]=b;b=c[4001]|0;Ix(b,a,d)|0;dA(10,b)|0;ua()}function zA(a){a=a|0;return}function AA(a){a=a|0;zA(a);QA(a);return}function BA(a){a=a|0;return}function CA(a){a=a|0;return}function DA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+64|0;j=l;if(!(HA(d,e,0)|0))if((e|0)!=0?(k=LA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Vb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;yb=l;return d|0}function EA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(HA(a,c[b+8>>2]|0,g)|0)KA(0,b,d,e,f);return}function FA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(HA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else JA(0,d,e,f);while(0);return}function GA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HA(a,c[b+8>>2]|0,0)|0)IA(0,b,d,e);return}function HA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Dx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function IA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function JA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function KA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function LA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(HA(m,f,0)|0){c[n+48>>2]=1;Xb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Wb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);yb=p;return d|0}function MA(a){a=a|0;zA(a);QA(a);return}function NA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(HA(a,c[b+8>>2]|0,g)|0)KA(0,b,d,e,f);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function OA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(!(HA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Wb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Xb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else JA(0,d,e,f);while(0);return}function PA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HA(a,c[b+8>>2]|0,0)|0)IA(0,b,d,e);else{a=c[a+8>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function QA(a){a=a|0;EO(a);return}function RA(a){a=a|0;return}function SA(){var a=0,b=0;a=vA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?wA(b+48|0)|0:0)TA(c[b+12>>2]|0);TA(UA()|0)}function TA(a){a=a|0;var b=0;b=yb;yb=yb+16|0;Pb[a&1]();yA(47049,b)}function UA(){return 1}function VA(a){a=a|0;return}function WA(a){a=a|0;c[a>>2]=16372;_A(a+4|0);return}function XA(a){a=a|0;WA(a);QA(a);return}function YA(a){a=a|0;return ZA(a+4|0)|0}function ZA(a){a=a|0;return c[a>>2]|0}function _A(a){a=a|0;var b=0,d=0;if($A(a)|0?(b=aB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)QA(b);return}function $A(a){a=a|0;return 1}function aB(a){a=a|0;return a+-12|0}function bB(a){a=a|0;WA(a);QA(a);return}function cB(a){a=a|0;zA(a);QA(a);return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;return HA(a,b,0)|0}function eB(a){a=a|0;zA(a);QA(a);return}function fB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(HA(b,c[d+8>>2]|0,h)|0)KA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;jB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;jB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function gB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(!(HA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;kB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;jB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else JA(0,d,e,f);while(0);return}function hB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(HA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;iB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{iB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else IA(0,d,e,f);while(0);return}function iB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function jB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function kB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Wb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function lB(a){a=a|0;return ((mB(a)|0)^1)&1|0}function mB(b){b=b|0;return (a[b>>0]|0)!=0|0}function nB(a){a=a|0;c[a>>2]=0;oB(a);return}function oB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function pB(a){a=a|0;c[a>>2]=0;return}function qB(){return 0}function rB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=DO(b)|0;if(a|0)break;a=qB()|0;if(!a){a=0;break}Pb[a&1]()}return a|0}function sB(a){a=a|0;return rB(a)|0}function tB(a){a=a|0;QA(a);return}function uB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=c[d>>2];a=Hb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];yb=f;return a&1|0}function vB(a){a=a|0;if(!a)a=0;else a=(LA(a,13904,13992,0)|0)!=0&1;return a|0}function wB(){return 0}function xB(){N(55684);return}function yB(){return 55668}function zB(){return 55676}function AB(){return 55680}function BB(){return 55684}function CB(){DB();return}function DB(){EB(57670);return}function EB(a){a=a|0;var b=0;b=yb;yb=yb+16|0;c[b>>2]=a;FB();yb=b;return}function FB(){pa(GB()|0,47294);ga(HB()|0,47299,1,1,0);IB(47304);JB(47309);KB(47321);LB(47335);MB(47341);NB(47356);OB(47360);PB(47373);QB(47378);RB(47392);SB(47398);na(TB()|0,47405);na(UB()|0,47417);oa(VB()|0,4,47450);ia(WB()|0,47463);XB(47479);YB(47509);ZB(47546);_B(47585);$B(47616);aC(47656);bC(47685);cC(47723);dC(47753);YB(47792);ZB(47824);_B(47857);$B(47890);aC(47924);bC(47957);eC(47991);fC(48022);gC(48054);return}function GB(){return qD()|0}function HB(){return pD()|0}function IB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);yb=b;return}function JB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);yb=b;return}function KB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,1,0,255);yb=b;return}function LB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);yb=b;return}function MB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,2,0,65535);yb=b;return}function NB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);yb=b;return}function OB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,0,-1);yb=b;return}function PB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);yb=b;return}function QB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=ZC()|0;la(a|0,c[d>>2]|0,4,0,-1);yb=b;return}function RB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,4);yb=b;return}function SB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=VC()|0;ja(a|0,c[d>>2]|0,8);yb=b;return}function TB(){return UC()|0}function UB(){return TC()|0}function VB(){return SC()|0}function WB(){return RC()|0}function XB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=OC()|0;a=PC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function YB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=LC()|0;a=MC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function ZB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=IC()|0;a=JC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=FC()|0;a=GC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=CC()|0;a=DC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=zC()|0;a=AC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=wC()|0;a=xC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=tC()|0;a=uC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=qC()|0;a=rC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=nC()|0;a=oC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=kC()|0;a=lC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=hC()|0;a=iC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function hC(){return jC()|0}function iC(){return 7}function jC(){return 14144}function kC(){return mC()|0}function lC(){return 7}function mC(){return 14152}function nC(){return pC()|0}function oC(){return 6}function pC(){return 14160}function qC(){return sC()|0}function rC(){return 5}function sC(){return 14168}function tC(){return vC()|0}function uC(){return 4}function vC(){return 14176}function wC(){return yC()|0}function xC(){return 5}function yC(){return 14184}function zC(){return BC()|0}function AC(){return 4}function BC(){return 14192}function CC(){return EC()|0}function DC(){return 3}function EC(){return 14200}function FC(){return HC()|0}function GC(){return 2}function HC(){return 14208}function IC(){return KC()|0}function JC(){return 1}function KC(){return 14216}function LC(){return NC()|0}function MC(){return 0}function NC(){return 14224}function OC(){return QC()|0}function PC(){return 0}function QC(){return 14232}function RC(){return 14240}function SC(){return 14248}function TC(){return 14272}function UC(){return 13272}function VC(){return WC()|0}function WC(){return 14120}function XC(){return YC()|0}function YC(){return 14112}function ZC(){return _C()|0}function _C(){return 14104}function $C(){return aD()|0}function aD(){return 14096}function bD(){return cD()|0}function cD(){return 14088}function dD(){return eD()|0}function eD(){return 14080}function fD(){return gD()|0}function gD(){return 14072}function hD(){return iD()|0}function iD(){return 14064}function jD(){return kD()|0}function kD(){return 14048}function lD(){return mD()|0}function mD(){return 14056}function nD(){return oD()|0}function oD(){return 14040}function pD(){return 14032}function qD(){return 14024}function rD(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=hz(c[(c[d>>2]|0)+4>>2]|0)|0;yb=b;return a|0}function sD(a){a=a|0;return 0}function tD(a){a=a|0;return 0}function uD(a,b){a=a|0;b=b|0;return 0}function vD(a){a=a|0;return 0}function wD(){return (xD()|0)>0|0}function xD(){return wB()|0}function yD(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;k=yb;yb=yb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(zD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else a=c[(zD(12544,12736,i,d)|0)>>2]|0;while(0);yb=k;return a|0}function zD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function AD(a){a=a|0;BD(a);return}function BD(a){a=a|0;c[a>>2]=16480;CD(a,0);WF(a+28|0);EO(c[a+32>>2]|0);EO(c[a+36>>2]|0);EO(c[a+48>>2]|0);EO(c[a+60>>2]|0);return}function CD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Ub[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function DD(a){a=a|0;BD(a);QA(a);return}function ED(a){a=a|0;BD(a);return}function FD(a){a=a|0;c[a>>2]=16496;WF(a+4|0);return}function GD(a){a=a|0;FD(a);QA(a);return}function HD(a,b){a=a|0;b=b|0;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function JD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function KD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function LD(a){a=a|0;return 0}function MD(a){a=a|0;return 0}function ND(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Uf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;TD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;a[d>>0]=cg(f)|0;d=d+1|0;f=1}h=f+h|0}return h|0}function OD(a){a=a|0;return Uf()|0}function PD(b){b=b|0;var d=0;d=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Uf()|0))b=Uf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=ag(a[b>>0]|0)|0}return b|0}function QD(a,b){a=a|0;b=b|0;return Uf()|0}function RD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Uf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;TD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=ag(a[d>>0]|0)|0;if((Gb[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function SD(a,b){a=a|0;b=b|0;return Uf()|0}function TD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)YO(a|0,b|0,c|0)|0;return a|0}function UD(a){a=a|0;c[a>>2]=16560;WF(a+4|0);return}function VD(a){a=a|0;UD(a);QA(a);return}function WD(a,b){a=a|0;b=b|0;return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function YD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function ZD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function _D(a){a=a|0;return 0}function $D(a){a=a|0;return 0}function aE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;gE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;iE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;c[b>>2]=jE(e)|0;b=b+4|0;e=1}g=e+g|0}return g|0}function bE(a){a=a|0;return gE()|0}function cE(a){a=a|0;var b=0;b=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(gE()|0))a=gE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=hE(c[a>>2]|0)|0}return a|0}function dE(a,b){a=a|0;b=b|0;return gE()|0}function eE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=gE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;iE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=hE(c[b>>2]|0)|0;if((Gb[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function fE(a,b){a=a|0;b=b|0;return gE()|0}function gE(){return -1}function hE(a){a=a|0;return a|0}function iE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)ez(a,b,c)|0;return a|0}function jE(a){a=a|0;return a|0}function kE(a){a=a|0;oE(a,16656);AD(a+8|0);return}function lE(a){a=a|0;kE(a);QA(a);return}function mE(a){a=a|0;kE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function nE(a){a=a|0;lE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oE(a,b){a=a|0;b=b|0;return}function pE(a){a=a|0;tE(a,16704);ED(a+8|0);return}function qE(a){a=a|0;pE(a);QA(a);return}function rE(a){a=a|0;pE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function sE(a){a=a|0;qE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function tE(a,b){a=a|0;b=b|0;return}function uE(a){a=a|0;yE(a,16752);AD(a+4|0);return}function vE(a){a=a|0;uE(a);QA(a);return}function wE(a){a=a|0;uE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function xE(a){a=a|0;vE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function yE(a,b){a=a|0;b=b|0;return}function zE(a){a=a|0;DE(a,16800);ED(a+4|0);return}function AE(a){a=a|0;zE(a);QA(a);return}function BE(a){a=a|0;zE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function CE(a){a=a|0;AE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function DE(a,b){a=a|0;b=b|0;return}function EE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function FE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));WN(d);return}function GE(a,b){a=a|0;b=b|0;UN(a,b+28|0);return}function HE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function IE(a){a=a|0;c[a>>2]=16496;WN(a+4|0);a=a+8|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;return}function JE(a){a=a|0;c[a>>2]=16560;WN(a+4|0);a=a+8|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;return}function KE(b){b=b|0;var d=0,e=0,f=0;e=yb;yb=yb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){LE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(f,c[f+16>>2]|1)}ME(d)}yb=e;return b|0}function LE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)KE(d)|0;a[b>>0]=1}return}function ME(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(wD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(b,c[b+16>>2]|1)}return}function NE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;f=l+12|0;j=l+8|0;k=l;LE(k,b);if(a[k>>0]|0){GE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=VF(f,56792)|0;WF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Uf()|0;e=h+76|0;if(Yf(m,c[e>>2]|0)|0){GE(f,h);m=VF(f,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;WF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Kb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(m,c[m+16>>2]|5)}}ME(k);yb=l;return b|0}function OE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;LE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=ag(d)|0;d=Gb[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=ag(d)|0}if(!(Yf(d,Uf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(h,c[h+16>>2]|1)}while(0);ME(i);yb=j;return b|0}function PE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function QE(){SE();return}function RE(){return}function SE(){TE(0);return}function TE(a){a=a|0;var b=0,d=0;b=c[4002]|0;UE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;FE(55696,56368);c[13942]=0;c[13943]=Uf()|0;VE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;FE(55784,56432);c[13964]=0;c[13965]=gE()|0;b=c[4003]|0;WE(56496,b,56544);c[13966]=16724;c[13967]=16744;FE(55868,56496);c[13985]=0;c[13986]=Uf()|0;XE(56552,b,56600);c[13987]=16772;c[13988]=16792;FE(55952,56552);c[14006]=0;c[14007]=gE()|0;b=c[4001]|0;WE(56608,b,56656);c[14008]=16724;c[14009]=16744;FE(56036,56608);c[14027]=0;c[14028]=Uf()|0;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;FE(56204,a);c[14069]=0;c[14070]=Uf()|0;XE(56664,b,56712);c[14029]=16772;c[14030]=16792;FE(56120,56664);c[14048]=0;c[14049]=gE()|0;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;FE(56288,b);c[14090]=0;c[14091]=gE()|0;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function UE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;IE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=Uf()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;UN(g,b+4|0);Sb[e&63](b,g);WF(g);yb=f;return}function VE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;JE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=gE()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;UN(g,b+4|0);Sb[e&63](b,g);WF(g);yb=f;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;IE(b);c[b>>2]=16880;c[b+32>>2]=d;UN(g,b+4|0);d=VF(g,57040)|0;WF(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;yb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;JE(b);c[b>>2]=16816;c[b+32>>2]=d;UN(g,b+4|0);d=VF(g,57048)|0;WF(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;yb=f;return}function YE(a){a=a|0;UD(a);QA(a);return}function ZE(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=VF(d,57048)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function _E(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;k=yb;yb=yb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((jz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((wz(c[b>>2]|0)|0)!=0)<<31>>31;yb=k;return a|0}function $E(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=hE(c[d>>2]|0)|0;g=Gb[h&63](b,g)|0;if((g|0)==(gE()|0))break a;f=f+1|0;d=d+4|0}}else f=jz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function aF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(HE(d,gE()|0)|0)){c[f>>2]=jE(d)|0;if(a[b+44>>0]|0){if((jz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=gE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Ob[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((jz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((jz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=gE()|0;break}}else e=15;while(0);if((e|0)==15)b=bF(d)|0;yb=o;return b|0}function bF(a){a=a|0;if(HE(a,gE()|0)|0)a=~(gE()|0);return a|0}function cF(a){a=a|0;FD(a);QA(a);return}function dF(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=VF(d,57040)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function eF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((jz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((wz(c[b>>2]|0)|0)!=0)<<31>>31;yb=k;return a|0}function fF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=ag(a[d>>0]|0)|0;g=Gb[h&63](b,g)|0;if((g|0)==(Uf()|0))break a;f=f+1|0;d=d+1|0}}else f=jz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function gF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(Yf(d,Uf()|0)|0)){a[f>>0]=cg(d)|0;if(a[b+44>>0]|0){if((jz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Uf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Ob[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((jz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((jz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Uf()|0;break}}else e=15;while(0);if((e|0)==15)b=bg(d)|0;yb=o;return b|0}function hF(a){a=a|0;UD(a);QA(a);return}function iF(b,d){b=b|0;d=d|0;var e=0,f=0;f=VF(d,57048)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)lJ(49046);else return}function jF(a){a=a|0;return mF(a,0)|0}function kF(a){a=a|0;return mF(a,1)|0}function lF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=HE(d,gE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((HE(e,gE()|0)|0)^1)&1}else{if(e){j=b+48|0;c[f>>2]=jE(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Ob[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((aA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=gE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);yb=l;return e|0}function mF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=gE()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Xz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=gE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Ob[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Xz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=gE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=hE(c[q>>2]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=hE(a[p+e>>0]|0)|0}while((aA(t,c[o>>2]|0)|0)!=-1);e=gE()|0;break b}while(0);e=hE(c[q>>2]|0)|0}while(0)}}yb=r;return e|0}function nF(a){a=a|0;FD(a);QA(a);return}function oF(b,d){b=b|0;d=d|0;var e=0,f=0;f=VF(d,57040)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)lJ(49046);else return}function pF(a){a=a|0;return sF(a,0)|0}function qF(a){a=a|0;return sF(a,1)|0}function rF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=Yf(d,Uf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((Yf(e,Uf()|0)|0)^1)&1}else{if(e){j=b+48|0;a[f>>0]=cg(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Ob[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((aA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Uf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);yb=l;return e|0}function sF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=Uf()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Xz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Uf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Ob[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Xz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Uf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=ag(a[q>>0]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=ag(a[p+e>>0]|0)|0}while((aA(t,c[o>>2]|0)|0)!=-1);e=Uf()|0;break b}while(0);e=ag(a[q>>0]|0)|0}while(0)}}yb=r;return e|0}function tF(a){a=a|0;AF(a);return}function uF(a){a=a|0;tF(a);QA(a);return}function vF(a){a=a|0;if(a|0)Qb[c[(c[a>>2]|0)+4>>2]&255](a);return}function wF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function xF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;zF(a,d,e);return}function yF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function zF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)cO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=rB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;$f(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;$f(h+f|0,i);yb=j;return}function AF(a){a=a|0;return}function BF(a){a=a|0;AF(a);return}function CF(a){a=a|0;BF(a);QA(a);return}function DF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function EF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;GF(a,d,e);return}function FF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function GF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)cO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;HF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;HF(f,i);yb=j;return}function HF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function IF(a){a=a|0;AF(a);return}function JF(a){a=a|0;AF(a);QA(a);return}function KF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=Mb[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{GE(i,f);l=VF(i,56736)|0;WF(i);GE(i,f);b=VF(i,56752)|0;WF(i);Sb[c[(c[b>>2]|0)+24>>2]&63](n,b);Sb[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(DG(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;hO(b)}while((b|0)!=(n|0))}yb=o;return i|0}function LF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;yb=h;return g|0}function MF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;yb=h;return g|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;yb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;yb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=tG(a,j,i,e,f,g)|0;yb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;yb=h;return g|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,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;yb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=jG(a,j,i,e,f,g)|0;yb=h;return g|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,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eG(a,j,i,e,f,g)|0;yb=h;return g|0}function UF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=yb;yb=yb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}GE(x,f);b=VF(x,56736)|0;Ib[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;WF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){mO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}mO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=YF()|0;c[v>>2]=h;if((ZF(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;hO(x);hO(w);yb=y;return z|0}function VF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return $F(a,_F(b)|0)|0}function WF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Qb[c[(c[a>>2]|0)+8>>2]&255](a);return}function XF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function YF(){if((a[54800]|0)==0?lB(54800)|0:0){c[14186]=_y(2147483647,49197,0)|0;nB(54800)}return c[14186]|0}function ZF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=cz(b)|0;b=Bz(a,d,g)|0;if(e|0)cz(e)|0;yb=f;return b|0}function _F(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=yb;yb=yb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];bG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;ZN(a,d,144)}yb=f;return (c[a+4>>2]|0)+-1|0}function $F(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function aG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function cG(a){a=a|0;dG(c[c[a>>2]>>2]|0);return}function dG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Qb[a&255](d);return}function eG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(gG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;ag(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+hG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function fG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;i=h;GE(i,d);d=VF(i,56736)|0;Ib[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=VF(i,56752)|0;a[f>>0]=Eb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=Eb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](b,e);WF(i);yb=h;return}function gG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function hG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+pA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function iG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function jG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(gG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;ag(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+kG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function kG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+oA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function lG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){mO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(gG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;ag(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+mG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+nA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function nG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=rG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function oG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function pG(a,b,c){a=a|0;b=b|0;c=c|0;return sG(a,b,c)|0}function qG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;GE(g,d);d=VF(g,56752)|0;a[e>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](b,d);WF(g);yb=f;return}function rG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;g=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{i=NO(0,0,b|0,g|0)|0;f=F()|0;b=j?i:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);yb=k;return b|0}function sG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function tG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=uG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function uG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=wG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function xG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=oG(g)|0;r=pG(d,g,C+160|0)|0;qG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){mO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(XF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;ag(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=yG(d,c[t>>2]|0,h,y)|0;iG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=ag(a[d>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;hO(A);hO(z);yb=C;return B|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function zG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=AG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|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,i=0;i=yb;yb=yb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;a=Ax(a,g,e,YF()|0)|0;e=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);yb=i;return a|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=CG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}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,i=0;i=yb;yb=yb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;a=Ax(a,g,e,YF()|0)|0;e=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}yb=i;return a|0}function DG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=yb;yb=yb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=DO(l)|0;if(!k)_N();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=ag(a[m>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=ag(a[k>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=ag(a[k>>0]|0)|0;k=k&255;if(!i)k=Gb[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Gb[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;ag(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=ag(a[k>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=ag(a[k>>0]|0)|0;if(!(Yf(k,Uf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}EO(u);yb=w;return e|0}function EG(a){a=a|0;AF(a);return}function FG(a){a=a|0;AF(a);QA(a);return}function GG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=Mb[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{GE(i,f);l=VF(i,56768)|0;WF(i);GE(i,f);b=VF(i,56776)|0;WF(i);Sb[c[(c[b>>2]|0)+24>>2]&63](n,b);Sb[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(eH(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;uO(b)}while((b|0)!=(n|0))}yb=o;return i|0}function HG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;yb=h;return g|0}function IG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;yb=h;return g|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;yb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=aH(a,j,i,e,f,g)|0;yb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=$G(a,j,i,e,f,g)|0;yb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;yb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=WG(a,j,i,e,f,g)|0;yb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=VG(a,j,i,e,f,g)|0;yb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=SG(a,j,i,e,f,g)|0;yb=h;return g|0}function QG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=yb;yb=yb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}GE(x,f);b=VF(x,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;WF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){mO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}mO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=YF()|0;c[v>>2]=h;if((ZF(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;hO(x);hO(w);yb=y;return z|0}function RG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function SG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(UG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;hE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+hG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function TG(a,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=yb;yb=yb+16|0;h=g;GE(h,b);b=VF(h,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=VF(h,56776)|0;c[e>>2]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](a,d);WF(h);yb=g;return}function UG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function VG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(UG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;hE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+kG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function WG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(HE(g,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){mO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(UG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;hE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+mG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function XG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=rG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function YG(a,b,c){a=a|0;b=b|0;c=c|0;return _G(a,b,c)|0}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;GE(f,b);b=VF(f,56776)|0;c[d>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Sb[c[(c[b>>2]|0)+20>>2]&63](a,b);WF(f);yb=e;return}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=yb;yb=yb+16|0;e=a;GE(e,b);b=VF(e,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;WF(e);yb=a;return d|0}function $G(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=uG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function aH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=wG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function bH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=oG(g)|0;r=YG(d,g,C+160|0)|0;ZG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(HE(g,gE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){mO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(RG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;hE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=yG(d,c[t>>2]|0,h,y)|0;iG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=hE(c[d>>2]|0)|0;if(HE(d,gE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=hE(c[d>>2]|0)|0;if(!(HE(d,gE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;hO(A);hO(z);yb=C;return B|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=AG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function dH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=CG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function eH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=yb;yb=yb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=DO(l)|0;if(!k)_N();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=hE(c[m>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(!i)k=Gb[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Gb[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;hE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=hE(c[k>>2]|0)|0;if(!(HE(k,gE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}EO(u);yb=w;return e|0}function fH(a){a=a|0;AF(a);return}function gH(a){a=a|0;AF(a);QA(a);return}function hH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Kb[j&31](b,k,e,f,g&1)|0}else{GE(k,e);b=VF(k,56752)|0;WF(k);e=c[b>>2]|0;if(g)Sb[c[e+24>>2]&63](k,b);else Sb[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=ag(b)|0;b=Gb[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=ag(b)|0}if(Yf(b,Uf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;hO(k)}yb=l;return b|0}function iH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;GE(j,e);vH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function jH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;GE(j,d);vH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*(p<<1|21)|0)+15&-16)|0;GE(j,e);vH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1)+-1|0)|0)+15&-16)|0;GE(j,d);vH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function mH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=yb;yb=yb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=qH(z,h,d)|0;if((z|0)!=(o|0)){a=DO(q<<1)|0;if(!a)_N();else{w=a;x=a}}else{w=p;x=0}GE(r,d);tH(z,i,h,w,u,s,r);WF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Zf(r,w,b,z,d,e)|0;EO(x);EO(y);yb=v;return z|0} -function nH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=yb;yb=yb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=qH(z,h,d)|0;if((z|0)!=(o|0)){a=DO(q<<1)|0;if(!a)_N();else{w=a;x=a}}else{w=p;x=0}GE(r,d);tH(z,i,h,w,u,s,r);WF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Zf(r,w,b,z,d,e)|0;EO(x);EO(y);yb=v;return z|0}function oH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=yb;yb=yb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=YF()|0;c[l>>2]=g;g=pH(h,20,i,k,l)|0;k=h+g|0;i=qH(h,k,e)|0;GE(l,e);n=VF(l,56736)|0;WF(l);Ib[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Zf(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;yb=b;return g|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;g=yb;yb=yb+16|0;h=g;c[h>>2]=f;f=cz(d)|0;d=Hx(a,b,e,h)|0;if(f|0)cz(f)|0;yb=g;return d|0}function qH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function rH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function sH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=cz(b)|0;b=$z(a,d,g)|0;if(e|0)cz(e)|0;yb=f;return b|0}function tH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=yb;yb=yb+16|0;s=v;t=VF(i,56736)|0;r=VF(i,56752)|0;Sb[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Gb[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Gb[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(Yy(p,YF()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Xy(p,YF()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Eb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Ib[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Gb[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Eb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Ib[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;hO(s);yb=v;return}function uH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+16|0;q=r;p=VF(i,56736)|0;l=VF(i,56752)|0;Sb[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Gb[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Gb[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Gb[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Eb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Gb[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Ib[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;hO(q);yb=r;return}function wH(a){a=a|0;AF(a);return}function xH(a){a=a|0;AF(a);QA(a);return}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,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Kb[j&31](b,k,e,f,g&1)|0}else{GE(k,e);b=VF(k,56776)|0;WF(k);e=c[b>>2]|0;if(g)Sb[c[e+24>>2]&63](k,b);else Sb[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=hE(b)|0;b=Gb[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=hE(b)|0}if(HE(b,gE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;uO(k)}yb=l;return b|0}function zH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;GE(j,e);IH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function AH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;GE(j,d);IH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|21)<<2)|0)+15&-16)|0;GE(j,e);IH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;GE(j,d);IH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function DH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=yb;yb=yb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=qH(w,h,d)|0;do if((w|0)!=(o|0)){a=DO(q<<3)|0;if(!a)_N();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);GE(r,d);HH(w,i,h,v,u,s,r);WF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=GH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)EO(A);EO(z);yb=x;return a|0}function EH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=yb;yb=yb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=qH(w,h,d)|0;do if((w|0)!=(o|0)){a=DO(q<<3)|0;if(!a)_N();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);GE(r,d);HH(w,i,h,v,u,s,r);WF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=GH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)EO(A);EO(z);yb=x;return a|0}function FH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=yb;yb=yb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=YF()|0;c[l>>2]=g;g=pH(h,20,i,k,l)|0;k=h+g|0;i=qH(h,k,e)|0;GE(l,e);n=VF(l,56768)|0;WF(l);Ib[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=GH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;yb=b;return g|0}function GH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=yb;yb=yb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;sO(m,g,h);if((Hb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){uO(m);break}else{c[b>>2]=0;uO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);yb=n;return i|0}function HH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=yb;yb=yb+16|0;s=v;t=VF(i,56768)|0;q=VF(i,56776)|0;Sb[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Gb[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Gb[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Gb[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(Yy(p,YF()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Xy(p,YF()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Eb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Gb[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Ib[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Gb[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Eb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Ib[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;hO(s);yb=v;return}function IH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+16|0;q=r;p=VF(i,56768)|0;l=VF(i,56776)|0;Sb[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Gb[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Gb[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Gb[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Eb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Gb[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Ib[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;hO(q);yb=r;return}function JH(a){a=a|0;AF(a);return}function KH(a){a=a|0;AF(a);QA(a);return}function LH(a){a=a|0;return 2}function MH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cI(a,j,i,e,f,g,49940,49948)|0;yb=h;return g|0}function NH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=yb;yb=yb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=cI(b,k,j,f,g,h,d,e)|0;yb=i;return h|0}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];aI(a,g+24|0,b,i,f,e);yb=h;return c[b>>2]|0}function PH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];bI(a,g+16|0,b,i,f,e);yb=h;return c[b>>2]|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];nI(a,g+20|0,b,i,f,e);yb=h;return c[b>>2]|0}function RH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=yb;yb=yb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;GE(k,f);O=VF(k,56736)|0;WF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];aI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];bI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=cI(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];dI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=cI(b,j,k,f,g,h,49900,49908)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=cI(b,j,k,f,g,h,49908,49916)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];eI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];fI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];gI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];hI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];iI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];jI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];kI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=cI(b,j,k,f,g,h,49916,49927)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=cI(b,j,k,f,g,h,49927,49932)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];lI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=cI(b,j,k,f,g,h,49932,49940)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];mI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Mb[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=cI(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];nI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];oI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];pI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;yb=R;return j|0}function SH(b){b=b|0;if((a[54872]|0)==0?lB(54872)|0:0){$H();c[14216]=53856;nB(54872)}return c[14216]|0}function TH(b){b=b|0;if((a[54856]|0)==0?lB(54856)|0:0){_H();c[14215]=53568;nB(54856)}return c[14215]|0}function UH(b){b=b|0;if((a[54840]|0)==0?lB(54840)|0:0){ZH();c[14214]=53536;nB(54840)}return c[14214]|0}function VH(b){b=b|0;if((a[54832]|0)==0?lB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;eO(56844,49658,Wf(49658)|0);nB(54832)}return 56844}function WH(b){b=b|0;if((a[54824]|0)==0?lB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;eO(56832,49646,Wf(49646)|0);nB(54824)}return 56832}function XH(b){b=b|0;if((a[54816]|0)==0?lB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;eO(56820,49637,Wf(49637)|0);nB(54816)}return 56820}function YH(b){b=b|0;if((a[54808]|0)==0?lB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;eO(56808,49628,Wf(49628)|0);nB(54808)}return 56808}function ZH(){var b=0,d=0;if((a[54848]|0)==0?lB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);nB(54848)}lO(53536,49679)|0;lO(53548,49682)|0;return}function _H(){var b=0,d=0;if((a[54864]|0)==0?lB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);nB(54864)}lO(53568,49685)|0;lO(53580,49693)|0;lO(53592,49702)|0;lO(53604,49708)|0;lO(53616,49714)|0;lO(53628,49718)|0;lO(53640,49723)|0;lO(53652,49728)|0;lO(53664,49735)|0;lO(53676,49745)|0;lO(53688,49753)|0;lO(53700,49762)|0;lO(53712,49771)|0;lO(53724,49775)|0;lO(53736,49779)|0;lO(53748,49783)|0;lO(53760,49714)|0;lO(53772,49787)|0;lO(53784,49791)|0;lO(53796,49795)|0;lO(53808,49799)|0;lO(53820,49803)|0;lO(53832,49807)|0;lO(53844,49811)|0;return}function $H(){var b=0,d=0;if((a[54880]|0)==0?lB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);nB(54880)}lO(53856,49815)|0;lO(53868,49822)|0;lO(53880,49829)|0;lO(53892,49837)|0;lO(53904,49847)|0;lO(53916,49856)|0;lO(53928,49863)|0;lO(53940,49872)|0;lO(53952,49876)|0;lO(53964,49880)|0;lO(53976,49884)|0;lO(53988,49888)|0;lO(54e3,49892)|0;lO(54012,49896)|0;return}function aI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(DG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;yb=h;return}function bI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(DG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;yb=h;return}function cI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=yb;yb=yb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;GE(s,g);t=VF(s,56736)|0;WF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if(Yf(m,Uf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=ag(a[n>>0]|0)|0;if(!(Yf(n,Uf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];c[e>>2]=Ob[p&15](d,r,s,g,h,i,l,o)|0;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if(Yf(m,Uf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=ag(a[m>>0]|0)|0;if(!(Yf(m,Uf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Eb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;ag(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;q=Gb[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Gb[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Eb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;ag(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=ag(a[m>>0]|0)|0;if(!(Yf(j,Uf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;yb=z;return l|0}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function eI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;yb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function jI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Eb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;ag(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function kI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;k=m+4|0;l=m;j=b+8|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(DG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);yb=m;return}function lI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function mI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}yb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;yb=h;return}function pI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if((Hb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;ag(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function qI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=ag(a[j>>0]|0)|0;if(Yf(i,Uf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=ag(a[i>>0]|0)|0;if(!(Yf(i,Uf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=ag(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Hb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;ag(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=ag(a[k>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=ag(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Hb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;ag(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=ag(a[j>>0]|0)|0;if(!(Yf(j,Uf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function rI(a){a=a|0;AF(a);return}function sI(a){a=a|0;AF(a);QA(a);return}function tI(a){a=a|0;return 2}function uI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=NI(a,j,i,e,f,g,13152,13184)|0;yb=h;return g|0}function vI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=yb;yb=yb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=NI(b,k,j,f,g,h,d,e)|0;yb=i;return h|0}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];LI(a,g+24|0,b,i,f,e);yb=h;return c[b>>2]|0}function xI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];MI(a,g+16|0,b,i,f,e);yb=h;return c[b>>2]|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];YI(a,g+20|0,b,i,f,e);yb=h;return c[b>>2]|0}function zI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=yb;yb=yb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;GE(k,f);O=VF(k,56768)|0;WF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];LI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];MI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=NI(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];OI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=NI(b,j,k,f,g,h,12976,13008)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=NI(b,j,k,f,g,h,13008,13040)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];PI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];QI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];RI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];SI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];TI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];UI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];VI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=NI(b,j,k,f,g,h,13040,13084)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=NI(b,j,k,f,g,h,13088,13108)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];WI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=NI(b,j,k,f,g,h,13120,13152)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];XI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Mb[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=NI(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];YI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];ZI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];_I(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;yb=R;return j|0}function AI(b){b=b|0;if((a[54952]|0)==0?lB(54952)|0:0){KI();c[14233]=54352;nB(54952)}return c[14233]|0}function BI(b){b=b|0;if((a[54936]|0)==0?lB(54936)|0:0){JI();c[14232]=54064;nB(54936)}return c[14232]|0}function CI(b){b=b|0;if((a[54920]|0)==0?lB(54920)|0:0){II();c[14231]=54032;nB(54920)}return c[14231]|0}function DI(b){b=b|0;if((a[54912]|0)==0?lB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;rO(56912,17648,HI(17648)|0);nB(54912)}return 56912}function EI(b){b=b|0;if((a[54904]|0)==0?lB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;rO(56900,17600,HI(17600)|0);nB(54904)}return 56900}function FI(b){b=b|0;if((a[54896]|0)==0?lB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;rO(56888,17564,HI(17564)|0);nB(54896)}return 56888}function GI(b){b=b|0;if((a[54888]|0)==0?lB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;rO(56876,17528,HI(17528)|0);nB(54888)}return 56876}function HI(a){a=a|0;return jy(a)|0}function II(){var b=0,d=0;if((a[54928]|0)==0?lB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);nB(54928)}yO(54032,17732)|0;yO(54044,17744)|0;return}function JI(){var b=0,d=0;if((a[54944]|0)==0?lB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);nB(54944)}yO(54064,17756)|0;yO(54076,17788)|0;yO(54088,17824)|0;yO(54100,17848)|0;yO(54112,17872)|0;yO(54124,17888)|0;yO(54136,17908)|0;yO(54148,17928)|0;yO(54160,17956)|0;yO(54172,17996)|0;yO(54184,18028)|0;yO(54196,18064)|0;yO(54208,18100)|0;yO(54220,18116)|0;yO(54232,18132)|0;yO(54244,18148)|0;yO(54256,17872)|0;yO(54268,18164)|0;yO(54280,18180)|0;yO(54292,18196)|0;yO(54304,18212)|0;yO(54316,18228)|0;yO(54328,18244)|0;yO(54340,18260)|0;return}function KI(){var b=0,d=0;if((a[54960]|0)==0?lB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);nB(54960)}yO(54352,18276)|0;yO(54364,18304)|0;yO(54376,18332)|0;yO(54388,18364)|0;yO(54400,18404)|0;yO(54412,18440)|0;yO(54424,18468)|0;yO(54436,18504)|0;yO(54448,18520)|0;yO(54460,18536)|0;yO(54472,18552)|0;yO(54484,18568)|0;yO(54496,18584)|0;yO(54508,18600)|0;return}function LI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(eH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;yb=h;return}function MI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(eH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;yb=h;return}function NI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=yb;yb=yb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;GE(q,e);r=VF(q,56768)|0;WF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=hE(c[l>>2]|0)|0;if(!(HE(l,gE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];c[b>>2]=Ob[n&15](a,p,q,e,f,g,j,m)|0;h=h+8|0}else{if(!(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;o=Gb[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Gb[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;hE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(!(HE(k,gE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(!(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;hE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=hE(c[k>>2]|0)|0;if(!(HE(h,gE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;yb=v;return j|0}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function PI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;yb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function UI(a,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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(!(Hb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function VI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;k=m+4|0;l=m;j=b+8|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(eH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);yb=m;return}function WI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function XI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}yb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;yb=h;return}function _I(a,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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if((Hb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function $I(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=hE(c[h>>2]|0)|0;if(HE(g,gE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=hE(c[i>>2]|0)|0;if(!(Hb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Hb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;hE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=hE(c[i>>2]|0)|0;if(HE(h,gE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=hE(c[h>>2]|0)|0;if(!(Hb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Hb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;hE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=hE(c[h>>2]|0)|0;if(!(HE(h,gE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function aJ(a){a=a|0;fJ(a+8|0);AF(a);return}function bJ(a){a=a|0;fJ(a+8|0);AF(a);QA(a);return}function cJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=yb;yb=yb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;dJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=ag(f)|0;f=Gb[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=ag(f)|0}d=Yf(f,Uf()|0)|0;e=d?0:e}h=h+1|0}yb=j;return e|0}function dJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=eJ(d,c[e>>2]|0)|0;c[e>>2]=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0);yb=l;return}function eJ(a,b){a=a|0;b=b|0;return b-a|0}function fJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(YF()|0))Ty(c[a>>2]|0);return}function gJ(a){a=a|0;fJ(a+8|0);AF(a);return}function hJ(a){a=a|0;fJ(a+8|0);AF(a);QA(a);return}function iJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=yb;yb=yb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;jJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=hE(e)|0;e=Gb[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=hE(e)|0}b=HE(e,gE()|0)|0;d=b?0:d}g=g+4|0}yb=i;return d|0}function jJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;dJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=kJ(b,c[d>>2]|0)|0;a=cz(c[a>>2]|0)|0;e=Qz(b,j,e,i)|0;if(a|0)cz(a)|0;if((e|0)==-1)lJ(0);else{c[d>>2]=b+(e<<2);yb=h;return}}function kJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function lJ(a){a=a|0;ua()}function mJ(a){a=a|0;AF(a);return}function nJ(a){a=a|0;AF(a);QA(a);return}function oJ(a){a=a|0;return 127}function pJ(a){a=a|0;return 127}function qJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function rJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;fO(a,1,45);return}function uJ(a){a=a|0;return 0}function vJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function wJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function xJ(a){a=a|0;AF(a);return}function yJ(a){a=a|0;AF(a);QA(a);return}function zJ(a){a=a|0;return 127}function AJ(a){a=a|0;return 127}function BJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function CJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;fO(a,1,45);return}function FJ(a){a=a|0;return 0}function GJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function HJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function IJ(a){a=a|0;AF(a);return}function JJ(a){a=a|0;AF(a);QA(a);return}function KJ(a){a=a|0;return 2147483647}function LJ(a){a=a|0;return 2147483647}function MJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function NJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;sO(a,1,45);return}function QJ(a){a=a|0;return 0}function RJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function SJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function TJ(a){a=a|0;AF(a);return}function UJ(a){a=a|0;AF(a);QA(a);return}function VJ(a){a=a|0;return 2147483647}function WJ(a){a=a|0;return 2147483647}function XJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function YJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;sO(a,1,45);return}function $J(a){a=a|0;return 0}function aK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function bK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function cK(a){a=a|0;AF(a);return}function dK(a){a=a|0;AF(a);QA(a);return}function eK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;GE(s,g);b=VF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(hK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Ib[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=DO(b+2|0)|0;if(!b)_N();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Az(o,50476,q)|0)!=1)lJ(0);if(r|0)EO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[f>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[f>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;WF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Qb[c[u+4>>2]&255](b);yb=v;return f|0}function fK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;GE(p,g);l=VF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(hK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;$f(f,j);c[i+4>>2]=0}else{a[j>>0]=0;$f(i,j);a[b>>0]=0}if(a[k>>0]|0)qO(i,Gb[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Gb[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}iK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[g>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Eb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;WF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Qb[c[r+4>>2]&255](b);yb=s;return g|0}function gK(a){a=a|0;return}function hK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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,N=0,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=yb;yb=yb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}kK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=ag(a[h>>0]|0)|0}qO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Eb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;ag(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=ag(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=ag(a[h>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=ag(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){lK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){mK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;ag(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){mK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))lK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=ag(a[h>>0]|0)|0}qO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;iG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);hO(W);hO(V);hO(U);hO(T);hO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Qb[c[X+4>>2]&255](o);yb=Y;return g|0}function iK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(jK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;_f(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;pO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;hO(m);break}if((i-l|0)>>>0>>0)oO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;$f(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;$f(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);yb=o;return b|0}function jK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function kK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=yb;yb=yb+16|0;m=o+12|0;n=o;if(b){d=VF(d,56968)|0;Sb[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;$f(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Nf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;$f(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;$f(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Nf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;$f(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);a[f>>0]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;$f(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;$f(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;$f(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Nf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;$f(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);b=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=VF(d,56960)|0;Sb[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;$f(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Nf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;$f(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;$f(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Nf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;$f(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);a[f>>0]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;$f(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;$f(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;$f(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Nf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;$f(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);b=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;yb=o;return}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function mK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function nK(a){a=a|0;AF(a);return}function oK(a){a=a|0;AF(a);QA(a);return}function pK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;GE(s,g);b=VF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(rK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Ib[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=DO((b>>>2)+2|0)|0;if(!b)_N();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Az(o,50476,q)|0)!=1)lJ(0);if(r|0)EO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[f>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[f>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;WF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Qb[c[u+4>>2]&255](b);yb=v;return f|0}function qK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;GE(p,g);l=VF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(rK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;HF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;HF(i,j);a[b>>0]=0}if(a[k>>0]|0)BO(i,Gb[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Gb[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}sK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[g>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Eb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;WF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Qb[c[r+4>>2]&255](b);yb=s;return g|0}function rK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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,W=0,X=0,Y=0;X=yb;yb=yb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}vK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=hE(c[g>>2]|0)|0}BO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=hE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=hE(c[g>>2]|0)|0;if(HE(f,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=hE(c[g>>2]|0)|0;if(Hb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){wK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){mK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Eb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;hE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){mK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))wK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=hE(c[g>>2]|0)|0}BO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;iG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);uO(V);uO(U);uO(T);uO(S);hO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Qb[c[W+4>>2]&255](n);yb=X;return f|0}function sK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(tK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;uK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;AO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;uO(k);break}if((h-l|0)>>>0>>0)zO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;HF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;HF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);yb=n;return b|0}function tK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)cO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;HF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;HF(f,i);yb=j;return}function vK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(d,56984)|0;Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;HF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;HF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);c[f>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;$f(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;$f(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;HF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(d,56976)|0;Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;HF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;HF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);c[f>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;$f(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;$f(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;HF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function wK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function xK(a){a=a|0;AF(a);return}function yK(a){a=a|0;AF(a);QA(a);return}function zK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=yb;yb=yb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=$y(b,100,50681,q)|0;if(b>>>0>99){b=YF()|0;g[k>>3]=i;b=sH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)_N();k=DO(b)|0;if(!k)_N();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}GE(D,f);n=VF(D,56736)|0;m=c[l>>2]|0;Ib[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}BK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=DO(b)|0;if(!b)_N();else{y=b;F=b}}else{y=p;F=0}CK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=Zf(q,y,d,b,f,h)|0;if(F|0)EO(F);hO(C);hO(B);hO(A);WF(D);if(G|0)EO(G);if(H|0)EO(H);yb=E;return b|0}function AK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=yb;yb=yb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;GE(B,f);t=VF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Gb[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}BK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=DO(b)|0;if(!b)_N();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;CK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=Zf(p,x,h,b,f,g)|0;if(D|0)EO(D);hO(A);hO(z);hO(y);WF(B);yb=C;return b|0}function BK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(e,56968)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}a[g>>0]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;$f(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Nf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;$f(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(e,56960)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}a[g>>0]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;$f(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Nf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;$f(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function CK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Gb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Gb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Gb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function DK(a){a=a|0;AF(a);return}function EK(a){a=a|0;AF(a);QA(a);return}function FK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=yb;yb=yb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=$y(b,100,50681,q)|0;if(b>>>0>99){b=YF()|0;g[k>>3]=i;b=sH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)_N();k=DO(b<<2)|0;if(!k)_N();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}GE(D,f);n=VF(D,56768)|0;m=c[l>>2]|0;Ib[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}HK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=DO(b<<2)|0;if(!b)_N();else{y=b;F=b}}else{y=p;F=0}IK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=GH(q,y,d,b,f,h)|0;if(F|0)EO(F);uO(C);uO(B);hO(A);WF(D);if(G|0)EO(G);if(H|0)EO(H);yb=E;return b|0}function GK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=yb;yb=yb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;GE(B,f);t=VF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Gb[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}HK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=DO(b<<2)|0;if(!b)_N();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;IK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=GH(p,x,h,b,f,g)|0;if(D|0)EO(D);uO(A);uO(z);hO(y);WF(B);yb=C;return b|0}function HK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(e,56984)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}c[g>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[h>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;HF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(e,56976)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}c[g>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[h>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;HF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function IK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Hb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function JK(a){a=a|0;AF(a);return}function KK(a){a=a|0;AF(a);QA(a);return}function LK(b,d,e){b=b|0;d=d|0;e=e|0;e=Ny((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function MK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;qO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=My((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Oy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;qO(b,a[d>>0]|0);d=d+1|0}hO(i);yb=j;return}function NK(a,b){a=a|0;b=b|0;return}function OK(a){a=a|0;AF(a);return}function PK(a){a=a|0;AF(a);QA(a);return}function QK(b,d,e){b=b|0;d=d|0;e=e|0;e=Ny((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function RK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=yb;yb=yb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Ob[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;qO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)lJ(0);AF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=My((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Oy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Ob[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;BO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)lJ(0);else if((m|0)==23){AF(o);hO(n);yb=t;return}}function SK(a,b){a=a|0;b=b|0;return}function TK(a){a=a|0;AF(a);QA(a);return}function UK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=bL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function VK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=aL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function WK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function XK(a){a=a|0;return 0}function YK(a){a=a|0;return 0}function ZK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return $K(c,d,e,1114111,0)|0}function _K(a){a=a|0;return 4}function $K(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function aL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function bL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function cL(a){a=a|0;AF(a);QA(a);return}function dL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function eL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function fL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function gL(a){a=a|0;return 1}function hL(a){a=a|0;return 1}function iL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function jL(a){a=a|0;return 1}function kL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=yb;yb=yb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=cz(c[o>>2]|0)|0;l=Sz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)cz(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=cz(c[o>>2]|0)|0;e=Yx(n,0,d)|0;if(h|0)cz(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=cz(c[o>>2]|0)|0;h=Yx(h,r,p)|0;if(k|0)cz(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;yb=q;return e|0} -function Zb(a){a=a|0;var b=0;b=yb;yb=yb+a|0;yb=yb+15&-16;return b|0}function _b(){return yb|0}function $b(a){a=a|0;yb=a}function ac(a,b){a=a|0;b=b|0;yb=a;zb=b}function bc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=yb;yb=yb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Se(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{_O(m|0,0,j<<2|0)|0;_O(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);yb=y;return f|0}function cc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{_O(n|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{_O(h|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=yb;yb=yb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Se(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{_O(m|0,0,j<<2|0)|0;_O(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);yb=y;return f|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{_O(n|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{_O(h|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function hc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Se(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{_O(n|0,0,k<<2|0)|0;_O(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);yb=A;return h|0}function ic(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{_O(o|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{_O(i|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Se(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{_O(n|0,0,k<<2|0)|0;_O(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);yb=A;return h|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{_O(o|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{_O(i|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function nc(a){a=a|0;return oc(a+8|0)|0}function oc(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=DO(4)|0;if(!b){Se(0,3,41858,d);Ea(1)}a=Ce(a)|0;c[b>>2]=a;if(!a){EO(b);b=0}yb=d;return b|0}function pc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{De(b)|0;EO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function qc(a){a=a|0;var b=0,d=0,e=0;d=yb;yb=yb+16|0;b=DO(7062432)|0;if(!b){Se(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=DO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Se(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;rc(b,0)|0;c[b+7062388>>2]=-1;sc(b,0)|0;tc(b,7)|0;yb=d;return b|0}return 0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;EO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=DO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Se(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);yb=f;return d|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Xc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{c[d>>2]=Wc(c[a+36>>2]|0,c[a+40>>2]|0)|0;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Se(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Se(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;yb=i;return b|0}function tc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function uc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Xc(d);c[b>>2]=0}EO(c[a+4834144>>2]|0);EO(c[a+4834148>>2]|0);EO(a);a=0}return a|0}function vc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function wc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Hc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Se(0,3,19909,e);a=-1;break}c[d>>2]=b;c[a+8>>2]=xd(b)|0;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);yb=f;return a|0}function Kc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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.0,O=0,P=0,Q=0.0,R=0.0;P=yb;yb=yb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((cd(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Mc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Rc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Se(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Se(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=bd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=cd(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=$c(e,f,J)|0;else e=ad(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Se(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((cd(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Mc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Rc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Lc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Lc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))YO(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}YO(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){YO(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);yb=P;return e|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Mc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Nc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Oc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;YO(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Nc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=yb;yb=yb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Se(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Se(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Se(0,3,20145,j);e=-1}yb=w;return e|0}function Oc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=yb;yb=yb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Pc(m,n,0,e,d,o,k)|0)>=0?(Pc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Pc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Pc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Pc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Pc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);yb=r;return e|0}function Pc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Pc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Pc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Qc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=yb;yb=yb+16|0;r=y+4|0;s=y;x=oe(2)|0;u=oe(2)|0;v=Bd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Bd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((ne(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Nd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Jd(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Jd(v)|0;pe(u)|0;pe(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Jd(w)|0;Jd(v)|0;pe(u)|0;pe(x)|0;d=-1}yb=y;return d|0}function Rc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;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;G=yb;yb=yb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((ne(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Qc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=md(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;yb=G;return 0}function Sc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=yb;yb=yb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Ke(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(Fe(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}yb=m;return +d}function Tc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=yb;yb=yb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(Fe(c[a>>2]|0,k,d,f,l)|0)<0;yb=m;return +(k?1.0e8:+g[l>>3])}function Uc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+20|0;m=o;n=DO(f<<4)|0;c[l>>2]=n;if(!n){Se(0,3,41858,o+8|0);Ea(1)}j=DO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Se(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Fe(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;EO(c[l>>2]|0);EO(c[k>>2]|0);yb=o;return +(+g[m>>3])}function Vc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+20|0;m=o;n=DO(f<<4)|0;c[l>>2]=n;if(!n){Se(0,3,41858,o+8|0);Ea(1)}j=DO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Se(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;EO(c[l>>2]|0);EO(c[k>>2]|0);yb=o;return +(+g[m>>3])}function Wc(a,b){a=a|0;b=b|0;var d=0;d=DO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Xc(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return}function Yc(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){_O(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function Zc(a,b){a=a|0;b=b|0;var d=0;b=Yc(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=Zc(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,.5,c)|0}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=Yc(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function bd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=Yc(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=DO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}a[(c[b>>2]|0)+((B(n,o)|0)+l)>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function cd(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;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=dc(a,b,c,i,h)|0;break}if(!g){e=cc(a,b,c,f,h)|0;break}else{e=bc(a,b,c,f,h)|0;break}}else{if(j){e=gc(a,b,c,i,h)|0;break}if(!g){e=fc(a,b,c,f,h)|0;break}else{e=ec(a,b,c,f,h)|0;break}}else if(e){if(j){e=jc(a,b,c,i,h)|0;break}if(!g){e=ic(a,b,c,f,h)|0;break}else{e=hc(a,b,c,f,h)|0;break}}else{if(j){e=mc(a,b,c,i,h)|0;break}if(!g){e=lc(a,b,c,f,h)|0;break}else{e=kc(a,b,c,f,h)|0;break}}while(0);return e|0}function dd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function ed(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function fd(){return gd(16,50)|0}function gd(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;q=yb;yb=yb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=DO(32)|0;if(!m){Se(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=DO(b<<2)|0;c[m+8>>2]=l;if(!l){Se(0,3,41858,e);Ea(1)}d=b<<4;k=DO(d)|0;c[m+12>>2]=k;if(!k){Se(0,3,41858,f);Ea(1)}f=DO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Se(0,3,41858,g);Ea(1)}d=b<<5;g=DO(d)|0;c[m+16>>2]=g;if(!g){Se(0,3,41858,h);Ea(1)}h=DO(d)|0;c[m+24>>2]=h;if(!h){Se(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=DO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=DO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Se(0,3,41858,o);Ea(1)}else if((d|0)==21){Se(0,3,41858,p);Ea(1)}}else n=0;while(0);yb=q;return n|0}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)rd(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;EO(c[(c[h>>2]|0)+(j<<2)>>2]|0);EO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}EO(c[h>>2]|0);EO(c[i>>2]|0);EO(c[g>>2]|0);EO(c[a+16>>2]|0);EO(c[a+24>>2]|0);EO(a);b=0}return b|0}function id(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=yb;yb=yb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;c[o+4>>2]=B(s,e)|0;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+((B(n,e)|0)+o)>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+((B(n,e)|0)+o)>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=kd(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);yb=u;return l|0}function jd(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=DO(x*12|0)|0;if(!x){Se(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;EO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;EO(x);d=0;break a}case 1:{w=B(f,f)|0;x=DO(w<<2)|0;if(!x){Se(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;EO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;EO(x);d=0;break a}default:{d=-1;break a}}while(0);yb=z;return d|0}function kd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=yb;yb=yb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=RO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){b=b^c[x+(((B(e,i)|0)%(n|0)|0)<<2)>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=LO(g|0,e|0,d[l+b>>0]|0,0)|0;E=MO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=SO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);yb=I;return b|0}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Bd(8,8)|0;h=Bd(8,1)|0;i=Bd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Vd(f)|0;Ld(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Jd(f)|0;Jd(h)|0;Jd(i)|0;return}function md(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=yb;yb=yb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((nd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=id(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((nd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=od(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((nd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=jd(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((nd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=jd(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;yb=w;return u|0}function nd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=yb;yb=yb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}ld(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=FO(H,4)|0;if(!r){Se(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=d[j+((B(t,k)|0)+s)>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Se(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}EO(r);r=0}else{r=FO(H,4)|0;if(!r){Se(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s<<1|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s<<1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Se(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}EO(r);r=0}while(0);if((Q|0)==306){EO(r);r=-1}yb=R;return r|0}function od(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,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=yb;yb=yb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=kd(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);yb=y;return j|0}function pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Se(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=hz(b)|0;if(!x){Se(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=rA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=jA(e)|0;e=rA(0,20293)|0;f=255-f|0;c[(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Se(0,3,20298,z);EO(x);d=-1;break}else if((e|0)==36){EO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Se(0,3,20200,A);d=-1}while(0);yb=A;return d|0} -function rw(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=yb;yb=yb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(ow(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Qb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Sb[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Qb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!(ww(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!(ww(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!(ww(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!(ww(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!(ww(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Qb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Qb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Qb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Qb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Sb[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Sb[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Qb[c[Qa>>2]&255](f)}_O(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Qb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=hw(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;YO((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Eb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Eb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Qb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=xw(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3792;break}case 9:{g=3680;break}case 16:{g=3552;break}case 25:{g=3376;break}case 36:{g=3168;break}case 49:{g=2896;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2576;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2576;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Sb[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Uz(Qa+24|0,46637,80)|0;Qb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Qb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Qb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Eb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Eb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Eb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Eb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Sb[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Qb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Uz(Qa+24|0,46633,80)|0;Qb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Qb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Eb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Qb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Eb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Sb[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){yb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Sb[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;yb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Sb[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;yb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;yb=Pa;return Qa|0}else if((Aa|0)==350){yb=Pa;return xa|0}return 0}function sw(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(ow(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Gb[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Sb[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function tw(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Eb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Eb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Sb[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Sb[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function uw(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Eb[c[n+12>>2]&127](b)|0)){o=0;yb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Eb[c[n+12>>2]&127](b)|0)){o=0;yb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Eb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}yb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{vw(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Sb[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Sb[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Qb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;yb=p;return o|0}Sb[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;yb=p;return o|0}function vw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Sb[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Sb[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Sb[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Sb[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function ww(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Sb[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Qb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Qb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Qb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0))c[l>>2]=Hb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Sb[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function xw(a){a=a|0;a=Hb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function yw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=zw(b)|0;c[g>>2]=e;f=Aw(b,84)|0;if(!f){Bw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Qb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){yb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Az(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}yb=k;return}function zw(a){a=a|0;return 0}function Aw(a,b){a=a|0;b=b|0;return DO(b)|0}function Bw(a){a=a|0;return}function Cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Qb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Aw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Qb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Aw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Rw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Qb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Cw(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Dw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}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,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Qb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Cw(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Dw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Gw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=Cw(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Hw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=Cw(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Iw(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;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Pw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){p=b+16|0;c[p>>2]=B(d,t)|0;d=b+8|0;Qw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Qb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Cw(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Rw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){s=b+16|0;c[s>>2]=B(d,t)|0;d=b+8|0;Qw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Qb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Cw(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Rw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Jw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Qb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Qb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Wb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Wb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Qb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Qb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{_O(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Kw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Qb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Qb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Wb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Wb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Qb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Qb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{_O(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Sb[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Sb[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Ow(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Nw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Mw(a){a=a|0;var b=0;Lw(a,1);Lw(a,0);b=a+4|0;Nw(a,c[b>>2]|0,84);c[b>>2]=0;Bw(a);return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;EO(b);return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;EO(b);return}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Qb[c[d>>2]&255](a);return}function Rw(a,b){a=a|0;b=b|0;return DO(b)|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Qb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;_O(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;yw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));pw(a);Tw(a);c[a+20>>2]=200;return}function Tw(a){a=a|0;var b=0;b=Hb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Uw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Eb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Qb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Qb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Qb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Qb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2576;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3792;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3680;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3552;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=3376;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=3168;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2896;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2576;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2576;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2576;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2576;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2576;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2576;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2576;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2576;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2576;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Qb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2576;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;c[e+28>>2]=fw(j,B(c[p>>2]|0,b)|0)|0;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;c[e+32>>2]=fw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;k=B(c[k>>2]|0,c[n>>2]|0)|0;c[e+44>>2]=fw(k,c[p>>2]|0)|0;b=B(c[b>>2]|0,c[l>>2]|0)|0;c[e+48>>2]=fw(b,c[q>>2]|0)|0;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}c[A>>2]=fw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){Ww(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Qb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Vw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Qb[c[(c[a>>2]|0)+16>>2]&255](a);Qb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function Ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}f=a+428|0;c[a+360>>2]=fw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+364>>2]=fw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Qb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Qb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;c[g+68>>2]=B(c[g+36>>2]|0,k)|0;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Qb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Qb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Qb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a)}k=Hb[c[c[g>>2]>>2]&63](a,1,132)|0;YO(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Qb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Qb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function Xw(a){a=a|0;Qb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function Yw(a){a=a|0;Zw(a);return}function Zw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Qb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function _w(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Sb[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function $w(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a)}d=ax(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Qb[c[e>>2]&255](a)}_w(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function ax(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Qb[c[(c[d>>2]|0)+4>>2]&255](b);Qb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Eb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Eb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Sb[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function bx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Qb[c[d>>2]&255](a)}Qb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Eb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Qb[c[(c[a+24>>2]|0)+24>>2]&255](a);_w(a);a=1;return a|0}function cx(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=2064;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function dx(a){a=a|0;Qb[c[(c[a>>2]|0)+8>>2]&255](a);Zw(a);Ea(1)}function ex(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Qb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Qb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function fx(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+208|0;d=b+200|0;e=b;Sb[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Jz(a,46655,d)|0;yb=b;return}function gx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=yb;yb=yb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Fx(d,b,i)|0;yb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Fx(d,b,j)|0;yb=k;return}function hx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function ix(a){a=a|0;return (aa(nx(c[a+60>>2]|0)|0)|0)&65535|0}function jx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=yb;yb=yb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(lx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}yb=l;return d|0}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=yb;yb=yb+16|0;f=g;if(!(lx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);yb=g;return b|0}function lx(a){a=a|0;if(!(a<<16>>16))a=0;else{c[(mx()|0)>>2]=a&65535;a=-1}return a|0}function mx(){return 55620}function nx(a){a=a|0;return a|0}function ox(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(lx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];yb=l;return f|0}function px(a){a=a|0;return 0}function qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=sx(a,b,c)|0;E(F()|0);return d|0}function sx(a,b,c){a=a|0;b=b|0;c=c|0;c=tx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function tx(a,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;j=yb;yb=yb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;ux(h,0,0);d=vx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);yb=j;return d|0}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function vx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(mx()|0)>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0}while((xx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=wx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){ux(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;ux(b,0,0);c[(mx()|0)>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=LO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=MO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=RO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=SO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=QO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=LO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=MO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);c[(mx()|0)>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(mx()|0)>>2]=68;g=MO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(mx()|0)>>2]=68;break}}g=((j|0)<0)<<31>>31;g=NO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function wx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=yx(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=NO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=MO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function xx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function yx(a){a=a|0;var b=0,e=0;e=yb;yb=yb+16|0;b=e;if((zx(a)|0)==0?(Hb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;yb=e;return a|0}function zx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Hb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Bx(a,b,c)|0;E(F()|0);return d|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;c=tx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Cx(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Dx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Ex(a){a=a|0;return (a+-48|0)>>>0<10|0}function Fx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Gx(a,b,f)|0;yb=e;return d|0}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;return Hx(a,2147483647,b,c)|0}function Hx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+160|0;g=j+144|0;i=j;YO(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(mx()|0)>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ix(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}yb=j;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Lx(a,b,c,1,55)|0}function Jx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=yb;yb=yb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;by(e)|0;j=F()|0;if((j|0)<0){e=-e;by(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Wx(b,32,f,j,h&-65537);Px(b,A,C);Px(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Wx(b,32,f,j,h^8192)}else{q=+cy(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Ux(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Wx(b,32,f,D,h);Px(b,r,p);Wx(b,48,f,D,h^65536);E=m-E|0;Px(b,G,E);G=k-l|0;Wx(b,48,j-(E+G)|0,0,0);Px(b,n,G);Wx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=SO(c[j>>2]|0,0,n|0)|0;s=MO(s|0,F()|0,m|0,0)|0;v=F()|0;m=QO(s|0,v|0,1e9,0)|0;w=LO(m|0,F()|0,1e9,0)|0;w=NO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Ux(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Wx(b,32,f,j,h);Px(b,A,C);Wx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Ux(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){_O(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Px(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Px(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Ux(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){_O(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Px(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Wx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Ux(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Px(b,l,1);if(s&(k|0)<1){l=m;break}Px(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;_O(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Px(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Wx(b,48,k+18|0,18,0);Px(b,v,D-v|0)}Wx(b,32,f,j,h^8192)}while(0);yb=H;return ((j|0)<(f|0)?f:j)|0}function Kx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Lx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=yb;yb=yb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Mx(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Nx(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Mx(b,d,p,r,q,f,g)|0;if(j){Hb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Mx(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Ox(b);e=(h&32|0)==0?e:-1}yb=t;return e|0}function Mx(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=yb;yb=yb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(mx()|0)>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Px(d,r,l)}while((l|0)!=0);v=(Ex(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Ex(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Qx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Qx(G)|0;m=c[G>>2]|0;break}if(Ex(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Rx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Tx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=NO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Vx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Wx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Fb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Sx(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Ux(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Xx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Wx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Xx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Px(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Wx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Wx(d,32,l,K,m);Px(d,p,o);Wx(d,48,l,K,m^65536);Wx(d,48,s,t,0);Px(d,r,t);Wx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Rx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);yb=J;return e|0}function Nx(a){a=a|0;return 1}function Ox(a){a=a|0;return}function Px(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))$x(b,d,a)|0;return}function Qx(b){b=b|0;var d=0,e=0;if(!(Ex(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ex(a[e>>0]|0)|0)!=0)}return d|0}function Rx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Sb[e&63](a,d);break a}default:break a}while(0);while(0);return}function Sx(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=RO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Tx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=RO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Ux(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=QO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=LO(b|0,c|0,10,0)|0;g=NO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Vx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Wx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=yb;yb=yb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;_O(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Px(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Px(a,f,e)}yb=g;return}function Xx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Yx(a,b,0)|0;return a|0}function Yx(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Zx()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(mx()|0)>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(mx()|0)>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function Zx(){return _x()|0}function _x(){return 16020}function $x(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(ay(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Hb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Hb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);YO(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function ay(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function by(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function cy(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=RO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+cy(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;YO(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ey(){return 16264}function fy(){var a=0;a=(c[c[(gy()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function gy(){return _x()|0}function hy(){return 16268}function iy(){return 16272}function jy(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ky(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Ex(a)|0)!=0)&1|0}function ly(a){a=a|0;if(a>>>0>4294963200){c[(mx()|0)>>2]=0-a;a=-1}return a|0}function my(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=yb;yb=yb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)ny(a,d,e,f,j);else py(a,d,e,k,f,0,j);if((f|0)==1){qy(k,1);f=0;break}else{qy(k,b);f=1;break}}else{ny(a,d,e,f,j);oy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}py(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{qy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;oy(k,1);py(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);qy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;py(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ry(k)|0;oy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);yb=m;return}function ny(a,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;m=yb;yb=yb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Gb[d&63](h,a)|0)>-1?(Gb[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Gb[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);ty(b,l,e);yb=m;return}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function py(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=yb;yb=yb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Gb[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Gb[d&63](g,j)|0)>-1){i=10;break a}if((Gb[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ry(m)|0;oy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Gb[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){ty(b,n,e);ny(a,b,d,f,h)}yb=o;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=sy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function sy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=yb;yb=yb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;YO(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;YO(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);yb=h;return}function uy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return vy(f,c[e+20>>2]|0)|0}function vy(a,b){a=a|0;b=b|0;return wy(a,b)|0}function wy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=xy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function xy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=yy(c[b+8>>2]|0,o)|0;f=yy(c[b+12>>2]|0,o)|0;g=yy(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=yy(c[b+(g<<2)>>2]|0,o)|0;g=yy(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Dx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=yy(c[b+(f<<2)>>2]|0,o)|0;f=yy(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function yy(a,b){a=a|0;b=b|0;var c=0;c=UO(a|0)|0;return ((b|0)==0?a:c)|0}function zy(a){a=a|0;return uy(a,c[(Ay()|0)+188>>2]|0)|0}function Ay(){return _x()|0}function By(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0}while((xx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=wx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=wx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=wx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=wx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(mx()|0)>>2]=28;ux(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0;if((e|32|0)==120){g=+Cy(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Dy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(mx()|0)>>2]=28;ux(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Cy(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;l=MO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=MO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else ux(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=MO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Ey(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){ux(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=SO(p|0,o|0,2)|0;l=MO(l|0,F()|0,-32,-1)|0;l=MO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(mx()|0)>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(mx()|0)>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=MO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=NO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=MO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Gy(+Fy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(mx()|0)>>2]=68;h=+Iy(h,l)}while(0);return +h}function Dy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=yb;yb=yb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=MO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=MO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Ey(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){ux(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=MO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(mx()|0)>>2]=28;ux(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){c[(mx()|0)>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){c[(mx()|0)>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=SO(c[o>>2]|0,0,29)|0;l=MO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=QO(l|0,n|0,1e9,0)|0;a=LO(s|0,F()|0,1e9,0)|0;l=NO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Gy(+Fy(1.0,105-m|0),k);q=+Hy(k,+Fy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Hy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;c[(mx()|0)>>2]=68}while(0);i=+Iy(i,b)}while(0);yb=I;return +i}function Ey(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=wx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=LO(f|0,h|0,10,0)|0;b=F()|0;e=MO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=MO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=NO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Fy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=SO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Gy(a,b){a=+a;b=+b;return +(+Cx(a,b))}function Hy(a,b){a=+a;b=+b;return +(+Jy(a,b))}function Iy(a,b){a=+a;b=b|0;return +(+Fy(a,b))}function Jy(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=RO(j|0,l|0,52)|0;F()|0;e=e&2047;m=RO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=SO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=Ky(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=SO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=SO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=SO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=SO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=SO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=SO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=SO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=NO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=SO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=NO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=SO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=MO(f|0,d|0,0,-1048576)|0;d=F()|0;e=SO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=RO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ky(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ly(a){a=a|0;return 0}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Ny(a,b){a=a|0;b=b|0;return -1|0}function Oy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){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 Py(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ly(_(91,e|0)|0)|0;yb=d;return b|0}function Qy(b,c){b=b|0;c=c|0;b=Ry(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Oy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Sy(){return}function Ty(a){a=a|0;if(Uy(a)|0)EO(a);return}function Uy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Vy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(Wy()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(mx()|0)>>2]=25;g=-1}yb=l;return g|0}function Wy(){return _x()|0}function Xy(a,b){a=a|0;b=b|0;return Ex(a)|0}function Yy(a,b){a=a|0;b=b|0;return ky(a)|0}function Zy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Dx(k,46743)|0)!=0?(Dx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Dx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Dx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ry(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){YO(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;YO(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=DO(28)|0;if(!d){Py(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;YO(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=DO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;YO(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);yb=o;return d|0}function _y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+32|0;i=j;a:do if(!(Uy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=Zy(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=Zy(e,b)|0;e=e+1|0}while((e|0)!=6)}while(0);yb=j;return d|0}function $y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=Hx(a,b,d,g)|0;yb=f;return e|0}function az(a,b){a=a|0;b=b|0;bz(a,b)|0;return a|0}function bz(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|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){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 cz(a){a=a|0;var b=0,d=0;b=(dz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function dz(){return _x()|0}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function fz(a,b){a=+a;b=b|0;return +(+Fy(a,b))}function gz(a){a=+a;return ~~+$O(+a)|0}function hz(a){a=a|0;var b=0,c=0;b=(Oy(a)|0)+1|0;c=DO(b)|0;if(!c)a=0;else a=YO(c|0,a|0,b|0)|0;return a|0}function iz(a,b){a=a|0;b=b|0;var c=0;c=Oy(a)|0;return ((jz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Nx(e)|0)==0;a=$x(a,f,e)|0;if(!g)Ox(e)}else a=$x(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function kz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(lz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function lz(){return _x()|0}function mz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(ay(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Hb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);yb=l;return f|0}function nz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(oz()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(mx()|0)>>2]=25;b=-1}while(0);yb=j;return b|0}function oz(){return _x()|0}function pz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=yb;yb=yb+16|0;e=f;if(Qy(46770,a[d>>0]|0)|0){g=qz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ly(Y(5,e|0)|0)|0;if((e|0)>=0){b=rz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{c[(mx()|0)>>2]=28;b=0}yb=f;return b|0}function qz(b){b=b|0;var c=0,d=0,e=0;d=(Qy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Qy(b,120)|0)==0;d=e?d:d|128;b=(Qy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Qy(46770,a[d>>0]|0)|0){e=DO(1176)|0;if(!e)e=0;else{_O(e|0,0,144)|0;k=(Qy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;sz(e)|0}}else{c[(mx()|0)>>2]=28;e=0}yb=j;return e|0}function sz(a){a=a|0;var b=0,d=0;b=tz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;uz();return a|0}function tz(){U(55640);return 55648}function uz(){$(55640);return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Nx(a)|0;else f=0;kz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=tz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;uz()}b=wz(a)|0;b=Eb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)EO(d);if(g){if(f|0)Ox(a)}else EO(a);return b|0}function wz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=xz(a)|0;break}d=(Nx(a)|0)==0;b=xz(a)|0;if(!d)Ox(a)}else{if(!(c[4004]|0))b=0;else b=wz(c[4004]|0)|0;a=c[(tz()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Nx(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=xz(a)|0|b;if(d|0)Ox(a);a=c[a+56>>2]|0}while((a|0)!=0);uz()}while(0);return b|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Hb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Ib[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function yz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Nx(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Ox(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Vx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;YO(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=yx(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Ox(f)}return b|0}function zz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Nx(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Bz(a,b,f)|0;yb=e;return d|0}function Bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+144|0;f=e;_O(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Dz(f,b,d)|0;yb=e;return d|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;return Hz(a,b,c)|0}function Dz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=yb;yb=yb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Nx(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(xx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Ex(o&255)|0?(a[m+2>>0]|0)==36:0){z=Ez(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Ex(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Ex(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Fz(z,t,u,v);n=u;o=v;break c}default:{ux(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=wx(e)|0}while((xx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=MO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=MO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;ux(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((wx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){_O(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;_O(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=DO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=wx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Vy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=GO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Gz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=DO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=GO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=MO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+By(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=NO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=vx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=NO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Fz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=MO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=MO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;ux(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=wx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=MO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(xx(d[l>>0]|0)|0))break;else m=l}ux(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=wx(e)|0}while((xx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=MO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=MO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){EO(k);EO(j)}}else h=0;while(0);if(P|0)Ox(e);yb=Q;return h|0}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}yb=e;return a|0}function Fz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Gz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Vx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;YO(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;return Kz(a,b,((b|0)<0)<<31>>31,c)|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;yb=e;return d|0}function Kz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Nx(a)|0)==0;b=Lz(a,b,d,e)|0;if(!f)Ox(a)}else b=Lz(a,b,d,e)|0;return b|0} -function Ct(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Bf(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];lf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Se(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;yb=B;return}function Dt(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=yb;yb=yb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=DO(h<<4)|0;c[s>>2]=l;if(!l){Se(0,3,41858,w+200|0);Ea(1)}p=DO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Se(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((Fe(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;EO(c[s>>2]|0);EO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;yb=w;return +(+g[u>>3])}function Et(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;if(!f)g=+Ft(a,b,c,d,e);else g=+Gt(a,b,c,d,e,g);return +g}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=yb;yb=yb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=DO(d<<6)|0;if(!G){Se(0,3,41875,h);g=-1.0;break}E=DO(d<<3)|0;if(!E){Se(0,3,41875,i);EO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((It(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){EO(G);EO(E);g=1.0e8;break}else if((h|0)==24){EO(G);EO(E);g=1.0e8;break}else if((h|0)==26){EO(G);EO(E);break}}else g=1.0e8;while(0);yb=H;return +g}function Gt(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=yb;yb=yb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=DO(d<<6)|0;if(!H){Se(0,3,41875,h);g=-1.0;break}F=DO(d<<3)|0;if(!F){Se(0,3,41875,i);EO(H);g=-1.0;break}h=d<<2;E=DO(h)|0;if(!E){Se(0,3,41875,j);EO(H);EO(F);g=-1.0;break}D=DO(h)|0;if(!D){Se(0,3,41875,k);EO(H);EO(F);EO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}my(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((It(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){EO(H);EO(F);EO(E);EO(D);g=1.0e8;break}else if((h|0)==38){EO(H);EO(F);EO(E);EO(D);g=-1.0;break}else if((h|0)==40){EO(H);EO(F);EO(E);EO(D);g=1.0e8;break}else if((h|0)==42){EO(H);EO(F);EO(E);EO(D);break}}else g=1.0e8;while(0);yb=J;return +g}function Ht(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}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,i=0;i=yb;yb=yb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Hd(f)|0;if(!e)a=-1;else{d=Fd(e,f)|0;if(!d)a=-1;else{b=Fd(e,g)|0;if(!b)a=-1;else{if((Xd(d)|0)<0)a=-1;else{Md(h,d,b)|0;a=0}Kd(b)|0}Kd(d)|0}Kd(e)|0}yb=i;return a|0}function Jt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=yf(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((zf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Af(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Af(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Af(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((uf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;yb=s;return j|0}function Kt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{Lt(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Qb[c[b>>2]&255](a);b=Eb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Qb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Qb[c[d>>2]&255](a);d=c[g>>2]|0}Vb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Qb[c[d+4>>2]&255](a);Qb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function Lt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Hb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=115;c[i+4>>2]=116;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}Ot(b);e=Hb[c[c[k>>2]>>2]&63](b,1,1280)|0;_O(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);_O(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Qb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;h=i+16|0;c[h>>2]=Pt(b)|0;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Qb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){Qt(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;Rt(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){Tt(b);Ut(b)}else St(b);Vt(b,c[b+108>>2]|0)}Wt(b);if(!(c[b+228>>2]|0))Yt(b);else Xt(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;Zt(b,d);if(!(c[e>>2]|0))_t(b,0);Qb[c[(c[k>>2]|0)+24>>2]&255](b);Qb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;c[d+8>>2]=B(k,c[b+332>>2]|0)|0;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Qb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Qb[c[c[a+472>>2]>>2]&255](a);Qb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Qb[c[c[a+480>>2]>>2]&255](a);Qb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Sb[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Sb[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Sb[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Sb[c[c[a+484>>2]>>2]&63](a,0);Sb[c[c[a+456>>2]>>2]&63](a,2);Sb[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function Nt(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Qb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}ew(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;c[d+44>>2]=fw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;c[d+48>>2]=fw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(Pt(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function Pt(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function Qt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Hb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=47;c[t+8>>2]=117;c[t+12>>2]=118;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Qb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Qb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Sb[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Sb[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Ib[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;_v(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{c[e+68+(d<<2)>>2]=Hb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Hb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=48;c[e+12>>2]=119;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Qb[c[d>>2]&255](a)}d=e+24|0;c[d>>2]=Hb[c[c[f>>2]>>2]&63](a,1,128)|0;b=0;do{h=Hb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Qb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Qb[c[c[a>>2]>>2]&255](a)}c[e+16>>2]=Ib[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;c[g>>2]=Hb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;Pv(a);return}function St(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+4|0;b=Hb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=120;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;c[b+32>>2]=Hb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;e=b+16|0;c[e>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;g=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;c[a+(b<<2)>>2]=B(d,-93603)|0;c[g+(b<<2)>>2]=(B(d,-45107)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;c[a+(b<<2)>>2]=B(d,-46802)|0;c[g+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function Tt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+4|0;e=Hb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=121;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Qb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Hb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-46802)|0;c[e+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-93603)|0;c[e+(b<<2)>>2]=(B(d,-45107)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-46802)|0;c[e+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;a=a+124|0;c[a>>2]=h;return}h=c[a+120>>2]|0;a=a+124|0;c[a>>2]=h;return}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Hb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=122;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Qb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Qb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=fu(c[u>>2]|0,c[q>>2]|0)|0;c[v+(g<<2)>>2]=Ib[k&15](b,1,l,c[r>>2]|0)|0}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Hb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=49;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[i>>2]=Ib[c[d+8>>2]&15](a,1,h,g)|0;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=fu(c[a+116>>2]|0,g)|0;c[h>>2]=Mb[f&63](a,1,0,b,i,c[e>>2]|0)|0;return}}function Wt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Hb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=123;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Hb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;_O(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function Xt(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Hb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=124;c[e+8>>2]=125;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Hb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{_O(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function Yt(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Hb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=126;c[f+8>>2]=127;if(!(c[a+224>>2]|0)){e=f+68|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[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Hb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{_O(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function Zt(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;h=a+4|0;i=Hb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=128;c[i+8>>2]=129;c[i+112>>2]=0;if(!b){b=Hb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))_O(b|0,0,1280)|0;c[i+4>>2]=84;c[i+12>>2]=34;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=fu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=fu(c[e+32>>2]|0,c[k>>2]|0)|0;c[b+(d<<2)>>2]=Mb[m&63](a,1,1,l,k,j)|0;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=83;c[i+12>>2]=33;c[i+16>>2]=b;return}function _t(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;l=a+4|0;j=Hb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=50;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Qb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Qb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Hb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Hb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;c[f+(b<<2)>>2]=Ib[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function $t(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;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Qb[c[t>>2]&255](a);return}}}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Gb[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;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,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Gb[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function du(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function eu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Hb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=35;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=33;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function fu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function gu(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;z=yb;yb=yb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;c[u+(b<<2)>>2]=Kb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Gb[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;yb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Qb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;yb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;yb=z;return y|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Eb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Kb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Wb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function iu(a){a=a|0;return 0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)_O(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Gb[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Wb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Qb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function ku(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;oa=yb;yb=yb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Eb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}yb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Kb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Kb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){lu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Wb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;yb=oa;return pa|0}function lu(a,b,c){a=a|0;b=b|0;c=c|0;YO(b|0,a|0,c<<7|0)|0;return}function mu(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;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Sb[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?40:41;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;su(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;su(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Qb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?36:37):o?38:39;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;su(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;su(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function nu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function ou(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=yb;yb=yb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Eb[c[w+8>>2]&127](a)|0)){z=0;yb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(vu(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=wu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(vu(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){yb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;yb=A;return z|0}function pu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Eb[c[v+8>>2]&127](a)|0)){x=0;yb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(vu(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=wu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(vu(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){yb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;yb=y;return x|0}function qu(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Eb[c[p+8>>2]&127](a)|0)){r=0;yb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(vu(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){yb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;yb=s;return r|0}function ru(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=yb;yb=yb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Eb[c[A+8>>2]&127](a)|0)){F=0;yb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(vu(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=wu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Sb[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(vu(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(vu(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(vu(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;yb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;yb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;yb=G;return F|0}function su(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=yb;yb=yb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Qb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Qb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Hb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else _O(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else _O(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Qb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;_O(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){yb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Qb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));yb=q;return}function tu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=yb;yb=yb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Eb[c[w+8>>2]&127](a)|0)){z=0;yb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=wu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=wu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(vu(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2576+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=wu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){yb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;yb=A;return B|0}function uu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Eb[c[y+8>>2]&127](a)|0)){B=0;yb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=wu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=wu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(vu(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=wu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){yb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;yb=C;return B|0}function vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Eb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Eb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Sb[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function wu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(vu(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(vu(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Sb[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function xu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Qb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=42;k=l;break}else{c[f>>2]=43;k=l;break}else if(e){c[f>>2]=44;k=l;break}else{c[f>>2]=45;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Sb[c[r+4>>2]&63](b,-1)}c[o+4>>2]=46;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Hb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Hb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}_O(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function yu(a){a=a|0;return}function zu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Qb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;_O(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Eu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Eu(e,g+1|0)|0;i=g+2+m|0;g=Eu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Eu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Eu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Eu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Sb[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Au(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Qb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;_O(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Eu(e,g)|0){r=36;break}j=h+1|0;if(!(Eu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Eu(e,i+4|0)|0)){i=g;h=j}else break}}k=Eu(e,l)|0;i=g+2|0;g=Eu(e,i)|0;if(g){if(Eu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Eu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Eu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Eu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Sb[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Sb[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Bu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Eb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Qb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;_O(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Eu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Cu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Eb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Qb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;_O(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Eu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Eu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Eu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Eu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Sb[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0}function Du(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Qb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;_O(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Eu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Eu(e,g+1|0)|0;i=g+2+m|0;g=Eu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Eu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Eu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Eu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Eu(e,h)|0)break b;j=g+1|0;if(!(Eu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Eu(e,i+4|0)|0)){i=h;g=j}else break}}k=Eu(e,s)|0;h=h+2|0;i=Eu(e,h)|0;if(i){if(Eu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Eu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Eu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Eu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Eu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Eb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Qb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Eb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Qb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3872+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Fu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Qb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Qb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Qb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Gu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=yb;yb=yb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}yb=q;return}function Hu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=yb;yb=yb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;_O(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}yb=o;return}function Iu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Ju(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;yb=i;return}function Ku(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=yb;yb=yb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function Lu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=yb;yb=yb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;yb=o;return}function Mu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}yb=m;return}function Nu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}yb=m;return}function Ou(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=yb;yb=yb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}yb=m;return}function Pu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=yb;yb=yb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}yb=m;return}function Qu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function Ru(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=yb;yb=yb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;yb=i;return}function Su(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=yb;yb=yb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;yb=i;return} -function Jm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(yk(d)|0)>>>0)break;n=Xm(d,s)|0;wo(g,n)|0;q=Ym(d,s)|0;o=xo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;k=a[q>>0]|0;do if(k<<24>>24==(a[(Ym(e,c[h+(l<<2)>>2]|0)|0)+16>>0]|0)){h=wl(n,Xm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v)}}while(0);s=s+1|0}if((x|0)==15){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);g=VF(v,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(v);OE(x,g)|0;KE(x)|0;ua()}x=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(x>>>0>(yk(d)|0)>>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(v,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(v);OE(x,w)|0;KE(x)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);yb=y;return r|0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(yk(d)|0)>>>0)break;l=Xm(d,o)|0;m=(Ym(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(yk(e)|0)>>>0)break;k=a[m>>0]|0;if(k<<24>>24==(a[(Ym(e,i)|0)+16>>0]|0)){u=wl(l,Xm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(yk(d)|0)>>>0){v=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;GE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(r,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(r);OE(v,u)|0;KE(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);yb=t;return n|0}function Lm(a){a=a|0;return a|0}function Mm(a){a=a|0;return c[a>>2]|0}function Nm(a){a=a|0;return c[a+4>>2]|0}function Om(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=yb;yb=yb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;so(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);so(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;mp(a,-A,A,-z,z,0,0,12,10);to(a,+(i>>1|0),+(j>>1|0));uo(a,i,j);op(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Dp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;eh(t);eh(s);yb=u;return y|0}function Pm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;oo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=po(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=qo(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Vf(Vf(NE(Vf(Vf(Vf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;GE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=VF(h,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(h);OE(k,j)|0;KE(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;ro(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(h<<2)>>2]|0;i=(c[d>>2]|0)+(i<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){fn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}yb=v;return}function Qm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=yb;yb=yb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;gn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);gn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(hn(g,a,d,k,m,n,4)|0)e=kn(a,h,i)|0;else e=0;jn(p);jn(o);yb=q;return e|0}function Rm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+16|0;p=q;h=+hi(h);o=g+4|0;Wm(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;Zm(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+hi(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +hi(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){fn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}yb=q;return}function Sm(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=yb;yb=yb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){h=+hi(h);if(!(Vm(v,g,0.0)|0)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;GE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(u,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(u);OE(r,q)|0;KE(r)|0;ua()}Wm(b,yk(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(yk(d)|0)>>>0)break;n=Xm(d,p)|0;o=Ym(d,p)|0;Zm(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(yk(e)|0)>>>0)break;g=Ym(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+hi(+f[w>>2]-+f[g>>2]),!(A+ +hi(+f[x>>2]-+f[g+4>>2])>h)):0){g=xl(n,Xm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){_m(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else $m(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){_m(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else $m(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Vf(Vf(NE(Vf(Vf(Vf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;GE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=VF(u,56736)|0;y=Gb[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;WF(u);OE(B,y)|0;KE(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(yk(d)|0)>>>0){B=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;GE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=VF(u,56736)|0;y=Gb[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;WF(u);OE(B,y)|0;KE(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);yb=z;return s|0}function Tm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Vm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+en(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;f[a>>2]=d*+vi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);l=b+8|0;h=b+4|0;f[a+4>>2]=d*+vi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+8>>2]=d*+vi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);g=b+12|0;i=b+24|0;f[a+12>>2]=d*+vi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+16>>2]=d*+vi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+20>>2]=d*+vi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+24>>2]=d*+vi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+28>>2]=d*+vi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+32>>2]=d*+vi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);a=1}else a=0;return a|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){bn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);cn(a,d);dn(d)}yb=f;return}function Xm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Ym(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function _m(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function $m(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=an(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;bn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;cn(a,d);dn(d);yb=h;return}}function an(a){a=a|0;return 536870911}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function dn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function en(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+vi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+vi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+vi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function fn(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=an(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;bn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;cn(a,d);dn(d);yb=h;return}}function gn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){lo(a,b);mo(a,b)}return}function hn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Tk(j,g);return un(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function jn(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=yb;yb=yb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Vm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;ln(e,j,55476);ln(g,j,k);ln(h,j,l);ln(i,j,d);n=+(B(c,b)|0)*.0001;if(+mn(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=yb;yb=yb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;pn(l,b,a);pn(m,c,a);pn(k,d,a);pn(h,b,c);pn(g,d,c);j=+qn(l,m);i=+qn(m,k);e=+qn(l,k);e=+rn(j,i,e,+qn(h,g));yb=f;return +e}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+on(a,b,c)>0.0;f=+on(b,c,d)>0.0;c=+on(c,d,a)>0.0;d=+on(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function pn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function qn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function rn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+tn(+sn(a,b,c),d))}function sn(a,b,c){a=+a;b=+b;c=+c;return +(+tn(+tn(a,b),c))}function tn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Vf(Vf(NE(Vf(Vf(Vf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;GE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=VF(y,56736)|0;x=Gb[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;WF(y);OE(z,x)|0;KE(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;GE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=VF(y,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(y);OE(x,u)|0;KE(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;GE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=VF(y,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(y);OE(x,u)|0;KE(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+hi(l);x=zj(o,e)|0;rl(z,e,0);sl(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;sl(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(vn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,wn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(xn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(zj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+zn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}yn(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Tm(a,(c[i>>2]|0)+(j*9<<2)|0);An(a);j=1}else j=0}else j=0;yb=A;return j|0}function vn(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;i=+on(a,b,c)>0.0;if((!(i^+on(e,f,g)>0.0)?(i=+on(b,c,d)>0.0,!(i^+on(f,g,h)>0.0)):0)?(i=+on(c,d,a)>0.0,!(i^+on(g,h,e)>0.0)):0){a=+on(d,a,b)>0.0;a=a^+on(h,e,f)>0.0^1}else a=0;return a|0}function wn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=yb;yb=yb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((Gn(o,p,q,r,k,m,b,c,d,e)|0?Gn(s,t,u,v,l,n,g,h,i,j)|0:0)?Hn(w,o,p,q,r,s,t,u,v)|0:0){In(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;yb=x;return a|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,j=0,k=0,l=0,m=0,n=0,o=0;n=yb;yb=yb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;ln(f,a,b);ln(e,a,m);ln(d,a,g);En(k,f);En(l,e);if(Fn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;ln(i,a,g);if(!(Fn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Fn(f,g,b,e,d,k)|0)d=Fn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);yb=n;return d|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;Dn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=yb;yb=yb+16|0;i=e+8|0;g=e;h=i+4|0;Zm(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Bn(g,d);yb=e;return +d}function An(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Bn(a,b){a=a|0;b=+b;return +(+Cn(+f[a>>2],+f[a+4>>2],b))}function Cn(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=yb;yb=yb+16|0;g=s;if((d|0)<=0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;GE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(g,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(g);OE(r,q)|0;KE(r)|0;ua()}if((e|0)<=0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;GE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(g,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(g);OE(r,q)|0;KE(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;yb=s;return}function En(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+on(a,b,c)>0.0;return c^+on(d,e,f)>0.0^1|0}function Gn(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Hn(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,k=0;j=yb;yb=yb+288|0;k=j;Jn(k,b,c,d,e,f,g,h,i);if(Kn(a,k)|0)a=!(+t(+(+en(a)))<1.0e-05);else a=0;yb=j;return a|0}function In(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Jn(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;jo(a,b,f);jo(a+72|0,c,g);jo(a+144|0,d,h);jo(a+216|0,e,i);return}function Kn(a,b){a=a|0;b=b|0;var c=0,d=0;d=yb;yb=yb+288|0;c=d;if(((((((Ln(c,b)|0?Mn(c,b)|0:0)?Nn(c,b)|0:0)?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)a=Tn(a,c)|0;else a=0;yb=d;return a|0}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=yb;yb=yb+32|0;d=g;f[d>>2]=+Yn(b);e=b+36|0;f[d+4>>2]=+Yn(e);f[d+8>>2]=+Yn(b+72|0);f[d+12>>2]=+Yn(b+108|0);f[d+16>>2]=+Yn(b+144|0);f[d+20>>2]=+Yn(b+180|0);f[d+24>>2]=+Yn(b+216|0);f[d+28>>2]=+Yn(b+252|0);c=ho(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{ao(b,b+(c*9<<2)|0);Wn(a,b,1.0/+u(+(+f[d>>2])));io(a+36|0,e,63);a=1}yb=g;return a|0}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=yb;yb=yb+32|0;g=e;c=a+36|0;d=b+36|0;_n(c,a,d);m=a+72|0;_n(m,a,b+72|0);l=a+108|0;_n(l,a,b+108|0);k=a+144|0;_n(k,a,b+144|0);j=a+180|0;_n(j,a,b+180|0);i=a+216|0;_n(i,a,b+216|0);h=a+252|0;_n(h,a,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(m);f[g+8>>2]=+Yn(l);f[g+12>>2]=+Yn(k);f[g+16>>2]=+Yn(j);f[g+20>>2]=+Yn(i);f[g+24>>2]=+Yn(h);a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=yb;yb=yb+32|0;g=e;c=a+72|0;l=a+36|0;d=b+72|0;_n(c,l,d);k=a+108|0;_n(k,l,b+108|0);j=a+144|0;_n(j,l,b+144|0);i=a+180|0;_n(i,l,b+180|0);h=a+216|0;_n(h,l,b+216|0);a=a+252|0;_n(a,l,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(k);f[g+8>>2]=+Yn(j);f[g+12>>2]=+Yn(i);f[g+16>>2]=+Yn(h);f[g+20>>2]=+Yn(a);a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;e=yb;yb=yb+32|0;g=e;c=a+108|0;k=a+72|0;d=b+108|0;_n(c,k,d);j=a+144|0;_n(j,k,b+144|0);i=a+180|0;_n(i,k,b+180|0);h=a+216|0;_n(h,k,b+216|0);a=a+252|0;_n(a,k,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(j);f[g+8>>2]=+Yn(i);f[g+12>>2]=+Yn(h);f[g+16>>2]=+Yn(a);a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=yb;yb=yb+16|0;g=e;c=a+144|0;j=a+108|0;d=b+144|0;_n(c,j,d);i=a+180|0;_n(i,j,b+180|0);h=a+216|0;_n(h,j,b+216|0);a=a+252|0;_n(a,j,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(i);f[g+8>>2]=+Yn(h);f[g+12>>2]=+Yn(a);a=co(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;e=yb;yb=yb+16|0;g=e;c=a+180|0;i=a+144|0;d=b+180|0;_n(c,i,d);h=a+216|0;_n(h,i,b+216|0);a=a+252|0;_n(a,i,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(h);f[g+8>>2]=+Yn(a);a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;e=yb;yb=yb+16|0;g=e;c=a+216|0;h=a+180|0;d=b+216|0;_n(c,h,d);a=a+252|0;_n(a,h,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(a);a=$n(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;_n(d,a+216|0,b+252|0);c=+Yn(d);if(c==0.0)a=0;else{Wn(d,d,1.0/+u(+c));a=1}return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=yb;yb=yb+384|0;e=d+336|0;c=d;f[e>>2]=+Un(c,b,0);f[e+4>>2]=+Un(c+36|0,b,1);f[e+8>>2]=+Un(c+72|0,b,2);f[e+12>>2]=+Un(c+108|0,b,3);f[e+16>>2]=+Un(c+144|0,b,4);f[e+20>>2]=+Un(c+180|0,b,5);f[e+24>>2]=+Un(c+216|0,b,6);f[e+28>>2]=+Un(c+252|0,b,7);f[e+32>>2]=+Un(c+288|0,b,8);b=Vn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Tm(a,c+(b*9<<2)|0);b=1}yb=d;return b|0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Wn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Xn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Xn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Xn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Xn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Xn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Xn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Xn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+Yn(a);d=+u(+e);if(e==0.0)d=0.0;else Wn(a,a,1.0/d);return +d}function Vn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Wn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Xn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function Yn(a){a=a|0;return +(+Zn(a,a))}function Zn(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function _n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+Zn(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function $n(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function bo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function co(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function io(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c<<2|0)|0;return}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;ko(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];ko(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function ko(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lo(a,b){a=a|0;b=b|0;var d=0;if((pj(a)|0)>>>0>>0)CO(a);if(b>>>0>536870911){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function mo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{no(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function no(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}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,i=0,j=0,k=0,l=0,m=0,n=0;k=yb;yb=yb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){yb=k;return}else{n=Vf(Vf(NE(Vf(Vf(Vf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}}function po(a){a=a|0;return a+124|0}function qo(a){a=a|0;return a+112|0}function ro(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=yb;yb=yb+16|0;p=q;f[b>>2]=+t(+(h-l));f[d>>2]=+t(+(i-m));f[g>>2]=+t(+(k-o));l=+t(+(j-n));l=+tn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Vf(Vf(NE(Vf(Vf(Vf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;GE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=VF(p,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(p);OE(q,g)|0;KE(q)|0;ua()}else{yb=q;return}}function so(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){vo(a,b);mh(a,b)}return}function to(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function vo(a,b){a=a|0;b=b|0;var d=0;if((nh(a)|0)>>>0>>0)CO(a);if(b>>>0>1073741823){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=yb;yb=yb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Vf(Vf(NE(Vf(Vf(Vf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;GE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=VF(j,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(j);OE(o,n)|0;KE(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Wl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];yo(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Wl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}zo(a,n,c[s>>2]|0,b);yb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function xo(a){a=a|0;return a+72|0}function yo(a,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;m=yb;yb=yb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Mo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Mo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Mo(a,o)|0;b=j?g:b;d=j?o:d}if(Mo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Wl(l)}}yb=m;return}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=yb;yb=yb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Ao(d)|0){c[g>>2]=c[a+76>>2];c[h>>2]=c[(Bo(d)|0)>>2];c[f>>2]=c[(Bo(d)|0)+4>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Co(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Do(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;zo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Eo(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Wl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];yo(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Wl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;zo(a,b,d,e)}Fo(r)}yb=t;return}function Ao(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Bo(a){a=a|0;return a+116|0}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=jl(a)|0;if(g>>>0>>0)CO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;kl(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];_o(j,o,p);b=$o(a,j,b)|0;ml(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];Yo(a,o,p,m-h|0);if((g|0)>0)f=e;else break}Zo(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);yb=s;return b|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,i=0,j=0,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=yb;yb=yb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Go(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=wl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Ho(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Wl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;GE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(n,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(n);OE(j,i)|0;KE(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Io(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Jo(a+(e<<3)|0)|0;if((f|0)==(Jo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Io(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Ko(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];Lo(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Vl(r);yb=t;return}function Eo(a){a=a|0;return c[a>>2]|0}function Fo(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Go(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Vo(a,b);Wo(a,b)}return}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Io(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=Ro(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;So(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;To(a,d);Uo(d);yb=h;return}}function Jo(a){a=a|0;return c[a+4>>2]|0}function Ko(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=No(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Oo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Po(a,d);Qo(d);yb=h;return}}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Mo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Mo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Wl(i)}yb=j;return}function Mo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function No(a){a=a|0;return 536870911}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Po(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qo(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Wl(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ro(a){a=a|0;return 1073741823}function So(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Uo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Vo(a,b){a=a|0;b=b|0;var d=0;if((No(a)|0)>>>0>>0)CO(a);if(b>>>0>536870911){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Wo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Xo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Yo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}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,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)ZO(i+(0-g<<2)|0,b|0,f|0)|0;return}function _o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function $o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)YO(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){YO(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function ap(a){a=a|0;return bp(c[c[a>>2]>>2]|0)|0}function bp(a){a=a|0;return c[a+24>>2]|0}function cp(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;c[e>>2]=b;b=km((c[a>>2]|0)+4|0,e)|0;yb=d;return b|0}function dp(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;ep(d,c[c[a>>2]>>2]|0);a=em(xk(c[d>>2]|0)|0)|0;Pj(d);yb=b;return a|0}function ep(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function fp(a){a=a|0;return gp(c[c[a>>2]>>2]|0)|0}function gp(a){a=a|0;return a+12|0}function hp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|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[f+20>>2]=0;return}function ip(a){a=a|0;Vj(a+124|0);eh(a+112|0);jp(a+92|0);return}function jp(a){a=a|0;kp(a);return}function kp(a){a=a|0;var b=0;lp(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function lp(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Nf(b,16);b=a}return}function mp(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;c[b+88>>2]=B(l,k)|0;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;np(b+92|0);return}function np(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;lp(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function op(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;np(b+92|0);if(g|0){j=b+112|0;dh(j,g<<2);k=b+124|0;Tk(k,g);if(a[b+16>>0]|0)pp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;qp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(rp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}dh(j,h<<2);Tk(k,h)}yb=t;return}function pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=yb;yb=yb+16|0;g=l+12|0;k=l;i=a+4|0;j=yj(c[a>>2]|0,c[i>>2]|0)|0;so(k,e);if((e|0)<=0){m=Vf(Vf(NE(Vf(Vf(Vf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;GE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=VF(g,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(g);OE(m,n)|0;KE(m)|0;ua()}if((c[a>>2]|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;GE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(g);OE(n,m)|0;KE(n)|0;ua()}if((c[i>>2]|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;GE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(g);OE(n,m)|0;KE(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+zp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}m=c[k>>2]|0;o=+Bp(m,(c[k+4>>2]|0)-m>>2)*.25;m=a+52|0;c[m>>2]=yj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;n=yj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;c[a+88>>2]=B(c[a+60>>2]|0,n)|0;eh(k);yb=l;return}function qp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=yb;yb=yb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Vf(Vf(NE(Vf(Vf(Vf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;GE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=VF(q,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(q);OE(p,t)|0;KE(p)|0;ua()}if(!(n<=3.141592653589793)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;GE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(q,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(q);OE(t,s)|0;KE(t)|0;ua()}else{n=+zp(k,o);f[g>>2]=n;Ap(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);yb=s;return}}function rp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=yb;yb=yb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(m>b)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(n<=d)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(o>d)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(p>-3.141592653589793)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(p<=3.141592653589793)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(q<=g)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(r>g)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;sp(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;up(a,tp(a,h,i,l,j)|0,1);up(a,tp(a,u,i,l,j)|0,1);up(a,tp(a,u,v,l,j)|0,1);up(a,tp(a,u,v,k,j)|0,1);up(a,tp(a,u,v,k,w)|0,1);up(a,tp(a,u,v,l,w)|0,1);up(a,tp(a,u,i,k,j)|0,1);up(a,tp(a,u,i,k,w)|0,1);up(a,tp(a,u,i,l,w)|0,1);up(a,tp(a,h,v,l,j)|0,1);up(a,tp(a,h,v,k,j)|0,1);up(a,tp(a,h,v,k,w)|0,1);up(a,tp(a,h,v,l,w)|0,1);up(a,tp(a,h,i,k,j)|0,1);up(a,tp(a,h,i,k,w)|0,1);up(a,tp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;yb=x;return h|0}function sp(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];f[b>>2]=+zp(h-m,+f[a+24>>2]-m)*l;h=+(c[a+56>>2]|0);l=+f[a+28>>2];f[d>>2]=+zp(i-l,+f[a+32>>2]-l)*h;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];f[g>>2]=+zp(k-i,+f[a+40>>2]-i)*j;return}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,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+16|0;h=k;if((b|0)<=-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}if((d|0)<=-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(j,l)|0;KE(j)|0;ua()}if((e|0)<=-1){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=VF(h,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(h);OE(l,j)|0;KE(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=VF(h,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(h);OE(l,m)|0;KE(l)|0;ua()}if((f|0)<=-1){m=Vf(Vf(NE(Vf(Vf(Vf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}else{yb=k;return a|0}return 0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Vf(Vf(NE(Vf(Vf(Vf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;GE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(e,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(e);OE(r,q)|0;KE(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=vp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){wp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;xp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}yb=s;return}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function wp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=rB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)yp(a,b)}}else yp(a,b);return}function yp(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function zp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Ap(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Bp(a,b){a=a|0;b=b|0;return +(+Cp(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=yb;yb=yb+16|0;e=r;if((b|0)<=0){q=Vf(Vf(NE(Vf(Vf(Vf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;GE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=VF(e,56736)|0;p=Gb[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;WF(e);OE(q,p)|0;KE(q)|0;ua()}if((d|0)<=0){q=Vf(Vf(NE(Vf(Vf(Vf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;GE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=VF(e,56736)|0;p=Gb[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;WF(e);OE(q,p)|0;KE(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}yb=r;return +o}function Dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Ep(a){a=a|0;io(a,1760,12);io(a+48|0,1808,12);io(a+96|0,1856,12);io(a+144|0,1904,12);io(a+192|0,1952,12);io(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dm(b,96);Gp(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Hp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=yb;yb=yb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Up(b+4|0,g,f);fm(b+16|0,d);yb=e;return}function Hp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=yb;yb=yb+16|0;x=z;if(!d){y=Vf(Vf(NE(Vf(Vf(Vf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;GE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=VF(x,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(x);OE(y,w)|0;KE(y)|0;ua()}w=yk(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Vf(Vf(NE(Vf(Vf(Vf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;GE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=VF(x,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(x);OE(w,t)|0;KE(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Ip(b,t)|0;if(Jp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Kp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Gp(b,t);yb=z;return}else{z=Vf(Vf(NE(Vf(Vf(Vf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;GE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=VF(x,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(x);OE(z,k)|0;KE(z)|0;ua()}}function Ip(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Jp(a,b,c,d,e,f,g,h,i,j,k,l,m,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;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=yb;yb=yb+160|0;r=s;if(Lp(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Mp(a,r);a=1}else a=0;yb=s;return a|0}function Kp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Lp(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,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;t=yb;yb=yb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Op(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Pp(y,aa,e);C=y+8|0;Pp(C,aa,e+8|0);B=y+16|0;Pp(B,aa,e+16|0);A=y+24|0;Pp(A,aa,e+24|0);z=y+32|0;Pp(z,aa,e+32|0);d=y+40|0;Pp(d,aa,e+40|0);Pp(D,aa,g);H=D+8|0;Pp(H,aa,g+8|0);G=D+16|0;Pp(G,aa,g+16|0);F=D+24|0;Pp(F,aa,g+24|0);E=D+32|0;Pp(E,aa,g+32|0);e=D+40|0;Pp(e,aa,g+40|0);Pp(I,aa,h);M=I+8|0;Pp(M,aa,h+8|0);L=I+16|0;Pp(L,aa,h+16|0);K=I+24|0;Pp(K,aa,h+24|0);J=I+32|0;Pp(J,aa,h+32|0);g=I+40|0;Pp(g,aa,h+40|0);Pp(N,aa,i);R=N+8|0;Pp(R,aa,i+8|0);Q=N+16|0;Pp(Q,aa,i+16|0);P=N+24|0;Pp(P,aa,i+24|0);O=N+32|0;Pp(O,aa,i+32|0);h=N+40|0;Pp(h,aa,i+40|0);Pp(S,aa,j);W=S+8|0;Pp(W,aa,j+8|0);V=S+16|0;Pp(V,aa,j+16|0);U=S+24|0;Pp(U,aa,j+24|0);T=S+32|0;Pp(T,aa,j+32|0);i=S+40|0;Pp(i,aa,j+40|0);Pp(X,aa,k);$=X+8|0;Pp($,aa,k+8|0);_=X+16|0;Pp(_,aa,k+16|0);Z=X+24|0;Pp(Z,aa,k+24|0);Y=X+32|0;Pp(Y,aa,k+32|0);j=X+40|0;Pp(j,aa,k+40|0);Qp(b,v,u,x*r);f[a>>2]=+Rp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=+Rp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=+Rp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=+Rp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=+Rp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=+Rp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*q);f[a+24>>2]=+Rp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=+Rp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=+Rp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=+Rp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=+Rp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=+Rp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*p);f[a+48>>2]=+Rp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=+Rp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=+Rp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=+Rp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=+Rp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=+Rp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*o);f[a+72>>2]=+Rp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=+Rp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=+Rp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=+Rp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=+Rp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=+Rp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*n);f[a+96>>2]=+Rp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=+Rp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=+Rp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=+Rp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=+Rp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=+Rp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*m);f[a+120>>2]=+Rp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=+Rp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=+Rp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=+Rp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=+Rp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=+Rp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*l);f[a+144>>2]=+Rp(b,w,s,c[v>>2]|0,c[u>>2]|0);yb=t;return 1}function Mp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Gl(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Np(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Np(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Op(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;l=m;g=~~+s(+(+Mi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Vf(Vf(NE(Vf(Vf(Vf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;GE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=VF(l,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(l);OE(k,b)|0;KE(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Vf(Vf(NE(Vf(Vf(Vf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;GE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=VF(l,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(l);OE(a,k)|0;KE(a)|0;ua()}if((h|0)<=-1){a=Vf(Vf(NE(Vf(Vf(Vf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;GE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=VF(l,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(l);OE(a,k)|0;KE(a)|0;ua()}if((h|0)<(c[j>>2]|0)){yb=m;return}else{m=Vf(Vf(NE(Vf(Vf(Vf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;GE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=VF(l,56736)|0;a=Gb[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;WF(l);OE(m,a)|0;KE(m)|0;ua()}}function Rp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=yb;yb=yb+16|0;i=g+4|0;h=g;e=Jg(a,d,e)|0;ki(i,h,b,c,d);c=+Sp(e,+f[i>>2],+f[h>>2]);yb=g;return +c}function Sp(a,b,c){a=a|0;b=+b;c=+c;return +(+Tp(a,b,c))}function Tp(a,b,c){a=a|0;b=+b;c=+c;b=+Xh(b,0.0,+(((Lg(a)|0)+-2|0)>>>0));return +(+Ai(a,b,+Xh(c,0.0,+(((Mg(a)|0)+-2|0)>>>0))))}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Vp(a,b-f|0,d);return}function Vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=kg(b)|0;if(g>>>0>>0)CO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;lg(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Wp(h,d,e);mg(b,h);ng(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);yb=k;return}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Xp(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,d,Wf(d)|0);yb=b;return}function Yp(a){a=a|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;return}function Zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;_p(f);yb=i;return}function _p(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Qb[c[(c[a>>2]|0)+8>>2]&255](a);YN(a)}return}function $p(a,b){a=a|0;b=b|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;Zp(a,b);return}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=yb;yb=yb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=VF(i,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(i);OE(h,m)|0;KE(h)|0;ua()}if(!e){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if(f>>>0>>0){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if(!g){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,bq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=sB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],cq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,_p(j),(c[m>>2]|0)==0):0){o=Vf(Vf(NE(Vf(Vf(Vf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;GE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=VF(i,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(i);OE(o,n)|0;KE(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;yb=l;return}function bq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;eO(b,34774,Wf(34774)|0);kj(d,b);Q(d|0,13208,5)}}yb=d;return a|0}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=yb;yb=yb+16|0;e=d;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;dq(a,e);yb=d;return}function dq(a,b){a=a|0;b=b|0;return}function eq(a){a=a|0;XN(a);QA(a);return}function fq(a){a=a|0;QA(c[a+12>>2]|0);return}function gq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function hq(a){a=a|0;Nf(a,16);return}function iq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=yb;yb=yb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;c[b+20>>2]=B(h,g)|0;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];jq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,bq(e)|0)|0;c[b+12>>2]=h;yb=j;return}function jq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=yb;yb=yb+16|0;d=e;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;dq(a,d);yb=e;return}function kq(a,b){a=a|0;b=b|0;return}function lq(a){a=a|0;XN(a);QA(a);return}function mq(a){a=a|0;a=a+12|0;kq(a,c[a>>2]|0);return}function nq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function oq(a){a=a|0;Nf(a,16);return}function pq(a){a=a|0;_p(a+24|0);return}function qq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Ub[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function sq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=yb;yb=yb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;eO(g,d,Wf(d)|0);tq(h,g,i);rq(a,b,h);hO(h);hO(g);yb=f;return}function tq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+2048|0;g=f;Hx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;eO(b,g,Wf(g)|0);yb=f;return}function uq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function vq(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);yb=b;return}function wq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Vf(Vf(NE(Vf(Vf(Vf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;GE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=VF(b,56736)|0;a=Gb[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;WF(b);OE(d,a)|0;KE(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);yb=d;return}}function xq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=yb;yb=yb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;GE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(h,i)|0;KE(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Vf(Vf(NE(Vf(Vf(Vf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;GE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=VF(d,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(d);OE(i,h)|0;KE(i)|0;ua()}else{yb=f;return +(b-e)}return +(0.0)}function yq(a){a=a|0;return +(+xq(a)*1.0e3)}function zq(a,b){a=a|0;b=b|0;var d=0;uq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;eO(d,b,Wf(b)|0);vq(a);return}function Aq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=yb;yb=yb+48|0;j=k;d=k+24|0;wq(b);f=wk()|0;Xp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+yq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;sq(f,8,35102,j);hO(d);hO(i);yb=k;return}function Bq(){Cq();Dq();Eq();return}function Cq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Dq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Eq(){Fq(0);return}function Fq(a){a=a|0;var b=0;a=yb;yb=yb+16|0;b=a;Hq(35173,26);Jq(35179,67);Jq(35188,68);Mq(35197,20);Mq(35208,21);Mq(35224,22);Qq(35238,23);Jq(35256,69);Tq(35276,70);Hq(35288,27);Qq(35305,24);Hq(35325,28);Hq(35343,29);Qq(35365,25);Qq(35388,26);Jq(35417,71);Jq(35430,72);Jq(35443,73);Hq(35459,30);Qq(35478,27);Qq(35488,28);Qq(35501,29);Jq(35514,74);Jq(35527,75);ir(35546,114);kr(35558,1);mr(35570,1);or(35593,1);mr(35616,2);or(35638,2);sr(35660,40);Jq(35677,76);sr(35694,41);Jq(35707,77);sr(35720,42);Jq(35744,78);zr(35768,3);or(35781,3);sr(35794,43);Jq(35812,79);sr(35830,44);Jq(35846,80);sr(35862,45);Jq(35879,81);Hr(35896,15816);Hr(35925,15820);Hr(35953,15824);c[b>>2]=0;Hr(35986,b);c[b>>2]=1;Hr(36003,b);c[b>>2]=0;Hr(36019,b);c[b>>2]=0;Hr(36041,b);c[b>>2]=1;Hr(36066,b);c[b>>2]=1;Hr(36091,b);c[b>>2]=100;Hr(36116,b);c[b>>2]=0;Hr(36143,b);c[b>>2]=1;Hr(36169,b);c[b>>2]=0;Hr(36195,b);c[b>>2]=0;Hr(36222,b);c[b>>2]=1;Hr(36249,b);c[b>>2]=2;Hr(36275,b);c[b>>2]=3;Hr(36300,b);c[b>>2]=4;Hr(36338,b);c[b>>2]=0;Hr(36375,b);c[b>>2]=0;Hr(36409,b);c[b>>2]=1;Hr(36433,b);c[b>>2]=2;Hr(36459,b);c[b>>2]=2;Hr(36486,b);c[b>>2]=5;Hr(36520,b);g[b>>3]=.5;Ir(36538,b);c[b>>2]=0;Hr(36559,b);c[b>>2]=1;Hr(36578,b);c[b>>2]=2;Hr(36596,b);c[b>>2]=3;Hr(36614,b);c[b>>2]=4;Hr(36633,b);c[b>>2]=3;Hr(36655,b);c[b>>2]=515;Hr(36674,b);c[b>>2]=259;Hr(36703,b);c[b>>2]=4;Hr(36731,b);c[b>>2]=772;Hr(36750,b);c[b>>2]=1028;Hr(36780,b);c[b>>2]=0;Hr(36810,b);c[b>>2]=1;Hr(36841,b);c[b>>2]=2;Hr(36877,b);c[b>>2]=3;Hr(36911,b);c[b>>2]=0;Hr(36949,b);c[b>>2]=1;Hr(36982,b);c[b>>2]=2;Hr(37029,b);c[b>>2]=3;Hr(37071,b);c[b>>2]=4;Hr(37114,b);c[b>>2]=5;Hr(37166,b);c[b>>2]=6;Hr(37217,b);c[b>>2]=7;Hr(37262,b);c[b>>2]=8;Hr(37301,b);c[b>>2]=9;Hr(37346,b);yb=a;return}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=yb;yb=yb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Sr(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;e=B(a<<2,b)|0;a=g+200|0;c[a>>2]=e;b=g+196|0;c[b>>2]=DO(e)|0;e=g+204|0;c[e>>2]=DO((c[a>>2]|0)/4|0)|0;j=fd()|0;c[g+220>>2]=j;if(!j)Se(0,3,41354,i);wt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Se(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;yb=i;return c[g>>2]|0}function Hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=rt(d)|0;d=st(d)|0;ka(a|0,e|0,d|0,tt()|0,8,b|0);yb=c;return}function Iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;d=g;c[d>>2]=a;if(!(Rr(55484,d)|0))a=-1;else{f=Sr(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){EO(b);c[a>>2]=0;c[f+200>>2]=0}nt(f);hd(c[f+220>>2]|0)|0;ot(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Me(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Xr(b);QA(b);Wr(f);QA(f);a=0}yb=g;return a|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=jt(d)|0;d=kt(d)|0;ka(a|0,e|0,d|0,Ls()|0,30,b|0);yb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{b=Sr(55484,b)|0;e=b+192|0;a=yt(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Se(0,3,41323,f);b=b+232|0;Jf(b)|0;a=c[d>>2]|0}else b=b+232|0;We(a,5.0)|0;Ve(c[d>>2]|0,.5)|0;Ye(c[d>>2]|0,16)|0;Xe(c[d>>2]|0,6)|0;Ze(c[d>>2]|0,6)|0;_e(c[d>>2]|0,6)|0;c[b>>2]=it(c[e>>2]|0)|0;a=0}yb=g;return a|0}function Lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Rr(55484,e)|0){e=Sr(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(ht(d,b,e+220|0)|0)){Se(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);yb=g;return b|0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=dt(d)|0;d=et(d)|0;ka(a|0,e|0,d|0,Vs()|0,31,b|0);yb=c;return}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Rr(55484,e)|0))b=-1;else{h=Sr(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!(Zs(b,c[h+216>>2]|0,h+220|0,f)|0)){Se(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))_s(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);yb=j;return b|0}function Oq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Rr(55484,e)|0){f=Sr(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(Ys(f,b,e)|0)){Se(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);yb=i;return b|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;e=g;c[e>>2]=a;if(((Rr(55484,e)|0)!=0?(f=Sr(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;yb=g;return a|0}function Qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Ts(d)|0;d=Us(d)|0;ka(a|0,e|0,d|0,Vs()|0,32,b|0);yb=c;return}function Rq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=Sr(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}yb=d;return a|0}function Sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ie(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Se(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;YO(Ps(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}yb=i;return b|0}function Tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Js(d)|0;d=Ks(d)|0;ka(a|0,e|0,d|0,Ls()|0,31,b|0);yb=c;return}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=c[(Sr(55484,e)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){a=c[(Sr(55484,d)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=Sr(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Sc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Xq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=Sr(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Tc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){d=Sr(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Ne(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Is(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function Zq(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){d=Sr(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Is(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function _q(a){a=a|0;var b=0,d=0,e=0,f=0;f=yb;yb=yb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Rr(55484,b)|0))a=c[3954]|0;else{a=Sr(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Kc(c[a+216>>2]|0,e)|0}yb=f;return a|0}function $q(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=15816;else a=(c[(Sr(55484,b)|0)+216>>2]|0)+44|0;yb=d;return c[a>>2]|0}function ar(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(Rr(55484,b)|0)Sr(55484,b)|0;yb=d;return -1}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){e=Sr(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Is(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function cr(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){a=c[(Sr(55484,d)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,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,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=yb;yb=yb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Rr(55484,d)|0))a=c[3954]|0;else{k=Sr(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;wg(c[j>>2]|0,c[k+204>>2]|0)|0;yg(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}tf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=At(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Se(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Se(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);yb=r;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Rr(55484,d)|0))b=0;else{a=(b|0)!=0;rc(c[(Sr(55484,d)|0)+216>>2]|0,a&1)|0;c[e>>2]=a?37670:37674;Se(0,1,37679,e)}yb=f;return b|0}function fr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=0;else{vc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0;a=c[d>>2]|0}yb=e;return a|0}function gr(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=0;else a=c[(c[(Sr(55484,b)|0)+216>>2]|0)+4834148>>2]|0;yb=d;return a|0}function hr(a){a=a|0;c[3916]=a;return}function ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Ds(d)|0;d=Es(d)|0;ka(a|0,e|0,d|0,Fs()|0,46,b|0);yb=c;return}function jr(){return c[3916]|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ys(d)|0;d=zs(d)|0;ka(a|0,e|0,d|0,As()|0,82,b|0);yb=c;return}function lr(a,b){a=a|0;b=+b;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)g[(Sr(55484,d)|0)+312>>3]=b;yb=e;return}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ss(d)|0;d=ts(d)|0;ka(a|0,e|0,d|0,us()|0,1,b|0);yb=c;return}function nr(a){a=a|0;var b=0.0,d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else b=+g[(Sr(55484,d)|0)+312>>3];yb=e;return +b}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ns(d)|0;d=os(d)|0;ka(a|0,e|0,d|0,ps()|0,1,b|0);yb=c;return}function pr(a,b){a=a|0;b=+b;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)g[(Sr(55484,d)|0)+320>>3]=b;yb=e;return}function qr(a){a=a|0;var b=0.0,d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else b=+g[(Sr(55484,d)|0)+320>>3];yb=e;return +b}function rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(sc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37628,e)}yb=f;return}function sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=is(d)|0;d=js(d)|0;ka(a|0,e|0,d|0,ks()|0,2,b|0);yb=c;return}function tr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Ac(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Rr(55484,d)|0?(e=Sr(55484,d)|0,b>>>0<=255):0)?(yc(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Se(0,1,37602,f)}yb=g;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(zc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(Dc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37567,e)}yb=f;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Gc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function yr(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=yb;yb=yb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Rr(55484,e)|0?(f=Sr(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Hc(d,h)|0)==0:0){g[i>>3]=h;Se(0,1,37536,i)}yb=j;return}function zr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=bs(d)|0;d=cs(d)|0;ka(a|0,e|0,d|0,ds()|0,2,b|0);yb=c;return}function Ar(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else{a=c[(Sr(55484,d)|0)+216>>2]|0;if(!a)b=-1.0;else{d=(Ic(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}yb=f;return +b}function Br(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)Ec(c[(Sr(55484,d)|0)+216>>2]|0,b)|0;yb=e;return}function Cr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{Fc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0;a=c[d>>2]|0}yb=e;return a|0}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(wc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37506,e)}yb=f;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(xc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(Bc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37477,e)}yb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Cc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var c=0;c=Nr()|0;ha(a|0,c|0,+(+Pr(Or(b)|0)));return}function Ir(a,b){a=a|0;b=b|0;var c=0;c=Jr()|0;ha(a|0,c|0,+(+Lr(+Kr(b))));return}function Jr(){return Mr()|0}function Kr(a){a=a|0;return +(+g[a>>3])}function Lr(a){a=+a;return +a}function Mr(){return 14120}function Nr(){return Qr()|0}function Or(a){a=a|0;return c[a>>2]|0}function Pr(a){a=a|0;return +(+(a|0))}function Qr(){return 14080}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Tr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ur(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+16|0}function Tr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;_O(g|0,0,480)|0;as(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)$r(a,b)}}else $r(a,b);return}function Vr(a){a=a|0;Wr(a+8|0);return}function Wr(a){a=a|0;Xr(a+328|0);Yr(a+288|0);return}function Xr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Yr(a){a=a|0;Zr(a);return}function Zr(a){a=a|0;var b=0;_r(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function _r(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Nf(b,16);b=a}return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function as(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;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+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function bs(a){a=a|0;return 3}function cs(a){a=a|0;return hs()|0}function ds(){return 37531}function es(a,b,c){a=a|0;b=b|0;c=+c;b=fs(b)|0;c=+gs(c);Rb[a&3](b,c);return}function fs(a){a=a|0;return a|0}function gs(a){a=+a;return +a}function hs(){return 15828}function is(a){a=a|0;return 3}function js(a){a=a|0;return ms()|0}function ks(){return 37623}function ls(a,b,c){a=a|0;b=b|0;c=c|0;b=fs(b)|0;c=fs(c)|0;Sb[a&63](b,c);return}function ms(){return 15840}function ns(a){a=a|0;return 2}function os(a){a=a|0;return rs()|0}function ps(){return 37654}function qs(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=yb;yb=yb+16|0;e=d;b=fs(b)|0;g[e>>3]=+Bb[a&3](b);c=+Kr(e);yb=d;return +c}function rs(){return 15852}function ss(a){a=a|0;return 3}function ts(a){a=a|0;return xs()|0}function us(){return 37658}function vs(a,b,c){a=a|0;b=b|0;c=+c;b=fs(b)|0;c=+ws(c);Rb[a&3](b,c);return}function ws(a){a=+a;return +a}function xs(){return 15860}function ys(a){a=a|0;return 1}function zs(a){a=a|0;return Cs()|0}function As(){return 37663}function Bs(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=Db[a&1]()|0;a=Or(d)|0;yb=b;return a|0}function Cs(){return 15872}function Ds(a){a=a|0;return 2}function Es(a){a=a|0;return Hs()|0}function Fs(){return 37666}function Gs(a,b){a=a|0;b=b|0;b=fs(b)|0;Qb[a&255](b);return}function Hs(){return 15876}function Is(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Js(a){a=a|0;return 2}function Ks(a){a=a|0;return Os()|0}function Ls(){return 40673}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=yb;yb=yb+16|0;f=d+12|0;e=d;Ns(e,b);c[f>>2]=Eb[a&127](e)|0;b=Or(f)|0;hO(e);yb=d;return b|0}function Ns(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,b+4|0,d);return}function Os(){return 15884}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Qs(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Rs(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+16|0}function Qs(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];_O(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ss(a,b)}}else Ss(a,b);return}function Ss(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Ts(a){a=a|0;return 3}function Us(a){a=a|0;return Xs()|0}function Vs(){return 40837}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;b=fs(b)|0;d=fs(d)|0;c[f>>2]=Gb[a&63](b,d)|0;d=Or(f)|0;yb=e;return d|0}function Xs(){return 15892}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=yb;yb=yb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Se(0,1,40887,s);do if((Sf(d,40905,f)|0)>=0){c[o>>2]=b;Se(0,1,40949,o);if((Tf(c[f>>2]|0,-1,b)|0)<0){Se(0,3,40974,p);a=0;break}if((Qf(e,f)|0)<0){Se(0,3,41010,q);a=0;break}Se(0,1,41037,i);c[j>>2]=d;Se(0,1,41046,j);s=rf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Se(0,3,41068,k)}Se(0,1,41037,l);if((b|0)==10)Ea(-1);if((dg(g,c[e>>2]|0)|0)<0){Se(0,3,41101,m);a=0;break}else{Rf(e)|0;Se(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Se(0,3,40911,h);a=0}while(0);yb=r;return a|0}function Zs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=yb;yb=yb+16|0;a=Qe(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Se(0,3,41206,f);hd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Dc(b,0)|0;a=1;break a}case 1:{Dc(b,2)|0;a=1;break a}default:{Dc(b,3)|0;a=1;break a}}while(0);yb=f;return a|0}function _s(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=$s(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;at(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;bt(a,d);ct(d);yb=h;return}}function $s(a){a=a|0;return 536870911}function at(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ct(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function dt(a){a=a|0;return 3}function et(a){a=a|0;return gt()|0}function ft(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=yb;yb=yb+16|0;g=e+12|0;f=e;b=fs(b)|0;Ns(f,d);c[g>>2]=Gb[a&63](b,f)|0;d=Or(g)|0;hO(f);yb=e;return d|0}function gt(){return 15904}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=yb;yb=yb+16|0;e=f;g=qd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Se(0,3,41277,e);hd(c[d>>2]|0)|0;a=0}else a=1;yb=f;return a|0}function it(a){a=a|0;return Hf(a)|0}function jt(a){a=a|0;return 2}function kt(a){a=a|0;return mt()|0}function lt(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;b=fs(b)|0;c[e>>2]=Eb[a&127](b)|0;b=Or(e)|0;yb=d;return b|0}function mt(){return 15916}function nt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){ed(d)|0;uc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){pc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){le(b)|0;c[b>>2]=0}return}function ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f+4|0;e=f;b=Rr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];pt(a,d)|0;b=1}yb=f;return b|0}function pt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=yb;yb=yb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];qt(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Vr(d+8|0);Nf(d,496)}yb=g;return e|0}function qt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function rt(a){a=a|0;return 4}function st(a){a=a|0;return vt()|0}function tt(){return 41348}function ut(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;b=fs(b)|0;d=fs(d)|0;e=fs(e)|0;c[g>>2]=Hb[a&63](b,d,e)|0;e=Or(g)|0;yb=f;return e|0}function vt(){return 2048}function wt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Rr(55484,d)|0)!=0?(j=Sr(55484,d)|0,(xt(55504,e)|0)!=0):0){h=j+8|0;YO(h|0,Ps(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Se(0,2,41698,f);$d(h,c[b>>2]|0,c[e>>2]|0,h)|0}nt(j);a=ke(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Se(0,3,41745,i);a=-1;break}a=qc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Se(0,3,41783,k);a=-1;break}Jc(a,c[j+472>>2]|0)|0;k=nc(h)|0;c[j+228>>2]=k;if(!k){Se(0,3,41820,l);a=-1;break}else{dd(c[b>>2]|0,c[j+220>>2]|0)|0;je(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);c[j+232>>2]=it(c[d>>2]|0)|0;a=0;break}}else a=-1;while(0);yb=m;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yt(a,b){a=a|0;b=b|0;b=zt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ce(a+8|0)|0;c[b+16>>2]=a;Ee(a,0.0)|0;return b|0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=yb;yb=yb+16|0;e=DO(13732)|0;if(!e){Se(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=DO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Se(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;yb=g;return e|0}return 0}function At(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=yb;yb=yb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;ud(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(ud(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)ud(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Bt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Ct(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=nf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=nf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Jt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;de(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Dt(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ee(c[j>>2]|0,.800000011920929)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,.6000000238418579)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,.4000000059604645)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,0.0)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Et(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Et(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);yb=D;return i|0}function Bt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=yb;yb=yb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Bf(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;lf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Se(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;yb=Q;return} -function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Hg(a+32|0,b);d=Lg(c[(yh(b)|0)>>2]|0)|0;f=Mg(c[(yh(b)|0)>>2]|0)|0;e=Ng(b)|0;sj(a+92|0,d,f,e,Og(b)|0,36,3.0,1.5,5,.800000011920929);c[a>>2]=Lg(c[(yh(b)|0)>>2]|0)|0;c[a+4>>2]=Mg(c[(yh(b)|0)>>2]|0)|0;e=a+16|0;zh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ah(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function yh(a){a=a|0;return a+4|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;ih(f);d=f}c[g>>2]=a}}else Ih(a,b-e|0);return}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;jh(f);d=f}c[g>>2]=a}}else Bh(a,b-e|0);return}function Bh(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Dh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Eh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Fh(f,b);Gh(a,f);Hh(f);break}}else Ch(a,b);while(0);yb=i;return}function Ch(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Dh(a){a=a|0;return 357913941}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Fh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Gh(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Hh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;jh(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ih(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Kh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Lh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Mh(f,b);Nh(a,f);Oh(f);break}}else Jh(a,b);while(0);yb=i;return}function Jh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Kh(a){a=a|0;return 357913941}function Lh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Mh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Nh(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Oh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;ih(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=yb;yb=yb+32|0;d=e;if((Ng(b)|0)<=0){f=Vf(Vf(NE(Vf(Vf(Vf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;GE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=VF(d,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(d);OE(f,g)|0;KE(f)|0;ua()}zq(d,23866);if(Qh(d)|0)Xg(a+32|0,b);Aq(d);zq(d,23878);if(Qh(d)|0)Rh(a,b,a+32|0);Aq(d);zq(d,23898);if(Qh(d)|0)Sh(a,b);Aq(d);zq(d,23907);if(Qh(d)|0)Th(a);Aq(d);zq(d,23921);if(Qh(d)|0)Uh(a,b);Aq(d);yb=e;return}function Qh(a){a=a|0;return 1}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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.0,ga=0,ha=0,ia=0.0;ha=yb;yb=yb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+hi(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ii(V)|0)+-1|0)>>>0){ga=3;break}Q=Ji(d,a+-1|0)|0;R=Ji(d,a)|0;S=a+1|0;T=Ji(d,S)|0;U=Ki(d,a)|0;E=Li(d,a)|0;D=Lg(Q)|0;b:do if((D|0)==(Lg(R)|0)?(D=Lg(Q)|0,(D|0)==(Lg(T)|0)):0){D=Mg(Q)|0;if((D|0)!=(Mg(R)|0)){ga=7;break a}D=Mg(Q)|0;if((D|0)!=(Mg(T)|0)){ga=9;break a}k=(Lg(R)|0)+-1|0;l=(Mg(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ah(Q,v)|0;o=ah(Q,a)|0;p=a+1|0;q=ah(Q,p)|0;r=ah(R,v)|0;t=ah(R,a)|0;u=ah(R,p)|0;v=ah(T,v)|0;w=ah(T,a)|0;x=ah(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+hi(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;f[_>>2]=+qi(b,U,m);pi(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Lg(Q)|0;if((D|0)==(Lg(R)|0)?(D=(Lg(R)|0)>>>1,(D|0)==(Lg(T)|0)):0){D=Mg(Q)|0;if((D|0)!=(Mg(R)|0)){ga=75;break a}D=(Mg(R)|0)>>>1;if((D|0)!=(Mg(T)|0)){ga=77;break a}l=~~+s(+((+(((Lg(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Mg(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ah(Q,t)|0;p=ah(Q,a)|0;q=a+1|0;r=ah(Q,q)|0;t=ah(R,t)|0;u=ah(R,a)|0;v=ah(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+hi(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ai(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ai(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ai(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ai(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ai(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ai(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ai(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];f[J>>2]=+qi(b,U,C);pi(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Lg(Q)|0)>>>1;if((D|0)==(Lg(R)|0)?(D=(Lg(Q)|0)>>>1,(D|0)==(Lg(T)|0)):0){D=(Mg(Q)|0)>>>1;if((D|0)!=(Mg(R)|0)){ga=144;break a}D=(Mg(Q)|0)>>>1;if((D|0)!=(Mg(T)|0)){ga=146;break a}l=(Lg(R)|0)+-1|0;n=(Mg(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ah(R,t)|0;p=ah(R,a)|0;q=a+1|0;r=ah(R,q)|0;t=ah(T,t)|0;u=ah(T,a)|0;v=ah(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+hi(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ai(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ai(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ai(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ai(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];f[O>>2]=+qi(b,U,A);pi(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){yb=ha;return}else if((ga|0)==7){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==9){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==75){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==77){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==144){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==146){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;J=yb;yb=yb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+hi(+f[a+52>>2]);H=a+56|0;w=+hi(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(ji(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(ji(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;ki(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);K=(c[(li(y)|0)>>2]|0)+(l+-1<<5)|0;h=(c[(li(y)|0)>>2]|0)+(l<<5)|0;if(((mi(A,C,K,h,(c[(li(y)|0)>>2]|0)+(l+1<<5)|0,e,g)|0?ni(D,A,C)|0:0)?(L=+hi(+f[D>>2]),L=L+ +hi(+f[z>>2]),!(L>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,oi(G,A)|0):0){l=i+(n*36|0)+24|0;L=+f[l>>2];if(!(L==+f[(ah(h,g)|0)+(e<<2)>>2])){a=11;break}N=+f[(ah(h,g)|0)+(e<<2)>>2];M=+f[D>>2];L=+f[z>>2];f[l>>2]=N-(+f[C>>2]*M+ +f[p>>2]*L+ +f[q>>2]*+f[r>>2]);pi(d,k,M+ +f[E>>2],L+ +f[F>>2],c[j>>2]|0);L=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=L;f[a>>2]=+Xh(L,0.0,+(ji(y)|0));if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?u<+((Lg(c[(li(y)|0)>>2]|0)|0)>>>0):0)?(v=+f[k>>2],v>=0.0):0)?v<+((Mg(c[(li(y)|0)>>2]|0)|0)>>>0):0){f[i+(n*36|0)+28>>2]=+qi(b,c[j>>2]|0,+f[a>>2]);a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ii(H,m);yb=J;return}else if((a|0)==5){K=Vf(Vf(NE(Vf(Vf(Vf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;GE(I,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);J=VF(I,56736)|0;J=Gb[c[(c[J>>2]|0)+28>>2]&63](J,10)|0;WF(I);OE(K,J)|0;KE(K)|0;ua()}else if((a|0)==11){K=Vf(Vf(NE(Vf(Vf(Vf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;GE(I,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);J=VF(I,56736)|0;J=Gb[c[(c[J>>2]|0)+28>>2]&63](J,10)|0;WF(I);OE(K,J)|0;KE(K)|0;ua()}}function Th(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;l=yb;yb=yb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;GE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=VF(d,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(d);OE(m,n)|0;KE(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;GE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(d,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(d);OE(n,m)|0;KE(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;_h(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Vh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;GE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(d,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(d);OE(n,m)|0;KE(n)|0;ua()}else{fh(h);break}}while(0);yb=l;return}function Uh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=yb;yb=yb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;sh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;tj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Wh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];f[s>>2]=+Xh(x,0.0,+(((Lg(Jg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));x=+f[t>>2];x=+Xh(x,0.0,+(((Mg(Jg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;wj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))Yh(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Vh(n,k)}while(0);yb=w;return}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Wh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Xh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function Yh(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;j=yb;yb=yb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=Zh(a)|0;if(f>>>0>>0)CO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;th(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;uh(a,i);vh(i);yb=j;return}}function Zh(a){a=a|0;return 119304647}function _h(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0;D=yb;yb=yb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];sh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;f[C>>2]=+t(+(+f[e+(l*36|0)+24>>2]));c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else $h(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ai(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))Yh(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){yb=D;return}else if((e|0)==23){D=Vf(Vf(NE(Vf(Vf(Vf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;GE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=VF(C,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(C);OE(D,z)|0;KE(D)|0;ua()}}function $h(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=di(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ei(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;fi(a,d);gi(d);yb=h;return}}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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=yb;yb=yb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=bi(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];bi(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ci(x,y,e)}while(0);yb=K;return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function di(a){a=a|0;return 536870911}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function gi(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function hi(a){a=+a;return +(a*a)}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Fi(a,b-e|0);return}function ji(a){a=a|0;return c[a+16>>2]|0}function ki(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function li(a){a=a|0;return a|0}function mi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;k=Lg(d)|0;k=(k|0)==(Lg(e)|0)&1;do if((Lg(f)|0)==(k|0)){k=Mg(d)|0;k=(k|0)==(Mg(e)|0)&1;if((Mg(f)|0)==(k|0)){wi(a,b,d,e,f,g,h);break}else{k=Vf(Vf(NE(Vf(Vf(Vf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}}else{k=Lg(d)|0;if((k|0)==(Lg(e)|0)?(k=(Lg(e)|0)>>>1,(k|0)==(Lg(f)|0)):0){k=Mg(d)|0;if((k|0)==(Mg(e)|0)?(k=(Mg(e)|0)>>>1,(k|0)==(Mg(f)|0)):0){xi(a,b,d,e,f,g,h);break}k=Vf(Vf(NE(Vf(Vf(Vf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(k,l)|0;KE(k)|0;ua()}l=(Lg(d)|0)>>>1;if((l|0)==(Lg(e)|0)?(l=Lg(e)|0,(l|0)==(Lg(f)|0)):0){l=(Lg(d)|0)>>>1;if((l|0)==(Lg(e)|0)?(l=Lg(e)|0,(l|0)==(Lg(f)|0)):0){yi(a,b,d,e,f,g,h);break}l=Vf(Vf(NE(Vf(Vf(Vf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}l=Vf(Vf(NE(Vf(Vf(Vf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}while(0);yb=j;return 1}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=yb;yb=yb+48|0;d=e;if(ri(d,b,1.1920928955078125e-07)|0){si(a,d,c);a=1}else a=0;yb=e;return a|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+hi(+f[b+4>>2]);if(d==0.0)a=0;else{f[a>>2]=+hi(+f[b>>2]+ +f[c>>2])/d;a=1}return a|0}function pi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+fz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function qi(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;e=g;if(!(d>=0.0)){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;GE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=VF(e,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(e);OE(h,i)|0;KE(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=VF(e,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(e);OE(i,h)|0;KE(i)|0;ua()}return +(0.0)}function ri(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+ti(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;l=b+20|0;g=b+32|0;f[a>>2]=e*+ui(+f[j>>2],+f[l>>2],+f[g>>2]);m=b+8|0;k=b+4|0;i=a+4|0;f[i>>2]=e*+vi(+f[m>>2],+f[k>>2],+f[g>>2],+f[b+28>>2]);h=a+8|0;f[h>>2]=e*+vi(+f[k>>2],+f[m>>2],+f[j>>2],+f[l>>2]);f[a+16>>2]=e*+ui(+f[b>>2],+f[m>>2],+f[g>>2]);g=a+20|0;f[g>>2]=e*+vi(+f[m>>2],+f[b>>2],+f[l>>2],+f[b+12>>2]);f[a+32>>2]=e*+ui(+f[b>>2],+f[k>>2],+f[j>>2]);c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function ti(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+hi(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+hi(e);d=+f[a>>2];d=d*+hi(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function ui(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function vi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function wi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=yb;yb=yb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Mg(e)|0)>>>0):0){s=Lg(d)|0;if((s|0)!=(Lg(e)|0)){s=Vf(Vf(NE(Vf(Vf(Vf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;GE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=VF(o,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(o);OE(s,t)|0;KE(s)|0;ua()}t=Lg(d)|0;if((t|0)!=(Lg(g)|0)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;GE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(o,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(o);OE(t,s)|0;KE(t)|0;ua()}t=Mg(d)|0;if((t|0)!=(Mg(e)|0)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;GE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(o,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(o);OE(t,s)|0;KE(t)|0;ua()}t=Mg(d)|0;if((t|0)==(Mg(g)|0)){z=(ah(d,m)|0)+(h<<2)|0;A=(ah(d,i)|0)+(h<<2)|0;o=(ah(d,n)|0)+(h<<2)|0;d=(ah(e,i)|0)+(h<<2)|0;t=(ah(g,m)|0)+(h<<2)|0;m=(ah(g,i)|0)+(h<<2)|0;s=(ah(g,n)|0)+(h<<2)|0;zi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);yb=r;return}else{A=Vf(Vf(NE(Vf(Vf(Vf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}}A=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}A=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}function xi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=yb;yb=yb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Mg(e)|0)>>>0):0){n=Lg(d)|0;if((n|0)!=(Lg(e)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=(Lg(d)|0)>>>1;if((n|0)!=(Lg(g)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=Mg(d)|0;if((n|0)!=(Mg(e)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=(Mg(d)|0)>>>1;if((n|0)!=(Mg(g)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}m=(ah(d,j)|0)+(h<<2)|0;n=(ah(d,i)|0)+(h<<2)|0;j=(ah(d,l)|0)+(h<<2)|0;d=(ah(e,i)|0)+(h<<2)|0;ki(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;GE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=VF(t,56736)|0;x=Gb[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;WF(t);OE(l,x)|0;KE(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Vf(Vf(NE(Vf(Vf(Vf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=VF(t,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(t);OE(x,l)|0;KE(x)|0;ua()}if(!(k+.5<+((Lg(g)|0)>>>0))){x=Vf(Vf(NE(Vf(Vf(Vf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=VF(t,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(t);OE(x,l)|0;KE(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Mg(g)|0)>>>0)){zi(o,p,q,r,s,e,h,i);y=+Ai(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ai(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ai(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ai(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ai(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);yb=w;return}else{x=Vf(Vf(NE(Vf(Vf(Vf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}}x=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}x=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=yb;yb=yb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Mg(e)|0)>>>0):0){u=(Lg(d)|0)>>>1;if((u|0)!=(Lg(e)|0)){u=Vf(Vf(NE(Vf(Vf(Vf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;GE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(u,v)|0;KE(u)|0;ua()}v=(Lg(d)|0)>>>1;if((v|0)!=(Lg(g)|0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;GE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(q,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(q);OE(v,u)|0;KE(v)|0;ua()}v=(Mg(d)|0)>>>1;if((v|0)!=(Mg(e)|0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;GE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(q,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(q);OE(v,u)|0;KE(v)|0;ua()}v=(Mg(d)|0)>>>1;if((v|0)==(Mg(g)|0)){C=(ah(e,i)|0)+(h<<2)|0;v=(ah(g,o)|0)+(h<<2)|0;q=(ah(g,i)|0)+(h<<2)|0;u=(ah(g,p)|0)+(h<<2)|0;pi(r,s,+(h|0),+(i|0),1);zi(j,k,l,m,n,e,h,i);w=+Ai(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ai(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ai(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ai(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ai(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);yb=t;return}else{C=Vf(Vf(NE(Vf(Vf(Vf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}}C=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}C=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}function zi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Lg(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Mg(h)|0)>>>0):0){k=(ah(h,k)|0)+(i<<2)|0;j=(ah(h,j)|0)+(i<<2)|0;m=(ah(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;yb=n;return}n=Vf(Vf(NE(Vf(Vf(Vf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;GE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=VF(m,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(m);OE(n,j)|0;KE(n)|0;ua()}n=Vf(Vf(NE(Vf(Vf(Vf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;GE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=VF(m,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(m);OE(n,j)|0;KE(n)|0;ua()}function Ai(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Bi(a)|0;e=Lg(a)|0;d=Mg(a)|0;return +(+Di(f,e,d,Ci(a)|0,b,c))}function Bi(a){a=a|0;return c[a+24>>2]|0}function Ci(a){a=a|0;return c[a+12>>2]|0}function Di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Ei(a,b,c,d,e,f))}function Ei(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=yb;yb=yb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;GE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(n,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(n);OE(m,l)|0;KE(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;GE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=VF(n,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(n);OE(m,k)|0;KE(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Vf(Vf(NE(Vf(Vf(Vf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;GE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=VF(n,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(n);OE(q,r)|0;KE(q)|0;ua()}if(k>>>0>=d>>>0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(m>>>0>=b>>>0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}else{yb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Fi(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=Zh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;th(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Hi(f,b);uh(a,f);vh(f);break}}else Gi(a,b);while(0);yb=i;return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ii(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Ji(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Lg(e)|0;e=~~+Ni(+Mi(+(((e>>>0)/((Lg((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));yb=f;return e|0}else{f=Vf(Vf(NE(Vf(Vf(Vf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;GE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=VF(d,56736)|0;e=Gb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;WF(d);OE(f,e)|0;KE(f)|0;ua()}return 0}function Li(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Mi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Ni(a){a=+a;return +(+s(+(a+.5)))}function Oi(a){a=a|0;c[a>>2]=15676;eh(a+56|0);eh(a+44|0);Qi(a+32|0);Ri(a);return}function Pi(a){a=a|0;Oi(a);QA(a);return}function Qi(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Ri(a){a=a|0;c[a>>2]=15692;kh(a+4|0);return}function Si(a){a=a|0;Ri(a);QA(a);return}function Ti(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=yb;yb=yb+16|0;k=t;if(i>>>0<=4){s=Vf(Vf(NE(Vf(Vf(Vf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;GE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(k,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(k);OE(s,r)|0;KE(s)|0;ua()}if(j>>>0<=4){s=Vf(Vf(NE(Vf(Vf(Vf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;GE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(k,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(k);OE(s,r)|0;KE(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}yb=t;return}function Ui(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=yb;yb=yb+16|0;h=q;if(e>>>0<=4){p=Vf(Vf(NE(Vf(Vf(Vf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;GE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=VF(h,56736)|0;o=Gb[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;WF(h);OE(p,o)|0;KE(p)|0;ua()}if(g>>>0<=4){p=Vf(Vf(NE(Vf(Vf(Vf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;GE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=VF(h,56736)|0;o=Gb[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;WF(h);OE(p,o)|0;KE(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}yb=q;return}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Wi(a){a=a|0;c[a>>2]=15692;a=a+4|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;return}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;f[a+28>>2]=1.0/+z(+e);return}function Yi(a){a=a|0;var b=0;Wi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Xi(a,e,3);k=a+4|0;l=a+20|0;Pg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;aq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;_i(a+32|0,l);dh(a+44|0,l);dh(a+56|0,l);return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else $i(a,b-e|0);return}function $i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=bj(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;cj(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);dj(f,b);ej(a,f);fj(f);break}}else aj(a,b);while(0);yb=i;return}function aj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function bj(a){a=a|0;return 2147483647}function cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function dj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function gj(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;h=yb;yb=yb+16|0;d=h;if((Kg(b)|0)!=1){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if((_g(b)|0)!=1){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Vf(Vf(NE(Vf(Vf(Vf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;GE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=VF(d,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(d);OE(i,j)|0;KE(i)|0;ua()}j=Lg(b)|0;if((j|0)!=(Lg(c[e>>2]|0)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;GE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(j,i)|0;KE(j)|0;ua()}j=Mg(b)|0;if((j|0)!=(Mg(c[e>>2]|0)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;GE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(j,i)|0;KE(j)|0;ua()}hj(a,c[e>>2]|0,b);b=c[e>>2]|0;hj(a,b+32|0,b);b=c[e>>2]|0;ij(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=jj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=jj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Lg((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Vi(k,d,i,Mg((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;hj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;ij(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}yb=h;return}function hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=yb;yb=yb+16|0;e=f;if((Kg(b)|0)!=2){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;GE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=VF(e,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(e);OE(g,h)|0;KE(g)|0;ua()}switch(Kg(d)|0){case 1:{e=jj(b)|0;g=c[a+32>>2]|0;h=Bi(d)|0;Ti(e,g,h,Lg(d)|0,Mg(d)|0);break}case 2:{e=jj(b)|0;g=c[a+44>>2]|0;h=Bi(d)|0;Ui(e,g,h,Lg(d)|0,Mg(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;eO(e,27722,Wf(27722)|0);kj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;eO(e,27741,Wf(27741)|0);kj(h,e);Q(h|0,13208,5)}}yb=f;return}function ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=yb;yb=yb+32|0;f=e;j=c[a+56>>2]|0;i=Kg(d)|0;h=Lg(d)|0;g=Mg(d)|0;iq(f,j,i,h,g,Ci(d)|0,1);hj(a,f,d);hj(a,b,f);pq(f);yb=e;return}function jj(a){a=a|0;return c[a+24>>2]|0}function kj(a,b){a=a|0;b=b|0;c[a>>2]=15708;dO(a+4|0,b);return}function lj(a){a=a|0;c[a>>2]=15708;hO(a+4|0);return}function mj(a){a=a|0;lj(a);QA(a);return}function nj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;f[a>>2]=+y(+n,+o)+3.141592653589793;f[a+4>>2]=+u(+(o*o+n*n));g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;n=+f[l>>2]-+f[h+-4>>2];o=+f[e>>2]-+f[h>>2];f[i>>2]=+y(+o,+n)+3.141592653589793;f[a+12>>2]=+u(+(n*n+o*o));g=g+1|0;h=l;a=i}l=d+-1|0;o=+f[h>>2];n=o-+f[h+-4>>2];o=+f[e>>2]-o;f[i>>2]=+y(+o,+n)+3.141592653589793;f[a+12>>2]=+u(+(n*n+o*o));k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;n=+f[j>>2]-+f[a>>2];o=+f[d>>2]-+f[h>>2];f[e>>2]=+y(+o,+n)+3.141592653589793;f[g+12>>2]=+u(+(n*n+o*o));i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;p=j+4|0;n=+f[p>>2]-+f[j+-4>>2];o=+f[a>>2]-+f[e>>2];f[g>>2]=+y(+o,+n)+3.141592653589793;f[g+4>>2]=+u(+(n*n+o*o));i=i+1|0;d=a;h=e;j=p;g=g+8|0}n=+f[j>>2]-+f[j+-4>>2];o=+f[a>>2]-+f[e>>2];f[g>>2]=+y(+o,+n)+3.141592653589793;f[g+4>>2]=+u(+(n*n+o*o));k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;p=h+4|0;o=+f[h>>2];n=+f[p>>2]-o;o=o-+f[a>>2];f[e>>2]=+y(+o,+n)+3.141592653589793;f[g+12>>2]=+u(+(n*n+o*o));h=1;g=p;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;p=g+4|0;n=+f[p>>2]-+f[g+-4>>2];o=+f[g>>2]-+f[a>>2];f[d>>2]=+y(+o,+n)+3.141592653589793;f[e+12>>2]=+u(+(n*n+o*o));h=h+1|0;e=d;g=p}o=+f[g>>2];n=o-+f[g+-4>>2];o=o-+f[a>>2];f[d>>2]=+y(+o,+n)+3.141592653589793;f[e+12>>2]=+u(+(n*n+o*o));return}function pj(a){a=a|0;return 536870911}function qj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function rj(a){a=a|0;kh(a+40|0);eh(a+28|0);return}function sj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;dh(a+28|0,h);o=a+40|0;Pg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;aq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function tj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=yb;yb=yb+16|0;f=g;e=a+40|0;a=0;while(1){d=yh(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=(c[(yh(b)|0)>>2]|0)+(a<<5)|0;h=Lg(d)|0;if((h|0)!=((Ci(d)|0)>>>2|0)){a=5;break}j=uj((c[e>>2]|0)+(a<<5)|0)|0;i=vj(d)|0;h=Lg(d)|0;oj(j,i,h,Mg(d)|0);a=a+1|0}if((a|0)==3){yb=g;return}else if((a|0)==5){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;GE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(f,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(f);OE(j,i)|0;KE(j)|0;ua()}}function uj(a){a=a|0;return c[a+24>>2]|0}function vj(a){a=a|0;return c[a+24>>2]|0}function wj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=yb;yb=yb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Lg((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}if(!(j>=0.0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Mg((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((_g(q)|0)!=2){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Lg(q)|0)>>>0<=e>>>0):0)?(Mg(q)|0)>>>0>l>>>0:0){n=+xj(1.0,+f[a+12>>2]*k);s=-1.0/(+hi(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+hi(n)));m=~~(n+.5);p=yj(0,e-m|0)|0;o=zj(m+e|0,(Lg(q)|0)+-1|0)|0;e=yj(0,l-m|0)|0;m=zj(m+l|0,(Mg(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Aj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+hi(+(e|0)-j);g=ah(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +hi(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Bj(s*n);r=c[v>>2]|0;Cj(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Dj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Vf(Vf(NE(Vf(Vf(Vf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;GE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=VF(D,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(D);OE(G,r)|0;KE(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Ej(x,y,z,E,D,w)|0)Fj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);yb=F;return}function xj(a,b){a=+a;b=+b;return +(a>b?a:b)}function yj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function zj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Aj(a,b){a=a|0;b=b|0;_O(a|0,0,b<<2|0)|0;return}function Bj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Cj(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;if(!a){h=Vf(Vf(NE(Vf(Vf(Vf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(h,k)|0;KE(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}if((e|0)<=-1){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(k,l)|0;KE(k)|0;ua()}if(!(b>=0.0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}if((h|0)<=-1){l=Vf(Vf(NE(Vf(Vf(Vf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];yb=j;return}else{l=Vf(Vf(NE(Vf(Vf(Vf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}}l=Vf(Vf(NE(Vf(Vf(Vf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Ej(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Fj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Gj(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=rB(24)|0;Hj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Ij(b);QA(b)}return}function Hj(a){a=a|0;var b=0,d=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]=1065353216;d=rB(840)|0;Zj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);QA(b)}return}function Ij(a){a=a|0;var b=0;Jj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);QA(b)}return}function Jj(a){a=a|0;Wj(a);return}function Kj(a){a=a|0;Lj(a+788|0);ip(a+652|0);Mj(a+636|0);Nj(a+316|0);wh(a+160|0);Oi(a+92|0);Oj(a+72|0);Pj(a+64|0);Qj(a+12|0);return}function Lj(a){a=a|0;Uj(a+24|0);Vj(a+12|0);eh(a);return}function Mj(a){a=a|0;Qj(a);return}function Nj(a){a=a|0;return}function Oj(a){a=a|0;Rj(a);return}function Pj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Qb[c[(c[a>>2]|0)+8>>2]&255](a);YN(a)}return}function Qj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Rj(a){a=a|0;var b=0;Sj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function Sj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Tj(b+8|0);Nf(b,20);b=a}return}function Tj(a){a=a|0;Pj(a+4|0);return}function Uj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Vj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Wj(a){a=a|0;var b=0;Xj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function Xj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Yj(b+8|0);Nf(b,24);b=a}return}function Yj(a){a=a|0;jg(a+4|0);return}function Zj(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;Yi(b+92|0);d=b+160|0;bh(d);Ep(b+316|0);_j(b+636|0);hp(b+652|0);$j(b+788|0,.009999999776482582,1024,1064,50);ak(d,3.0);bk(d,4.0);ch(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function _j(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function $j(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ck(a,b,d,e,f);return}function ak(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function bk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ck(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;dh(a,d*9|0);dk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else ek(a,b-e|0);return}function ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=gk(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;hk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);ik(f,b);jk(a,f);kk(f);break}}else fk(a,b);while(0);yb=i;return}function fk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function gk(a){a=a|0;return 536870911}function hk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function ik(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function lk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Ij(b);QA(b)}return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function nk(a){a=a|0;return a+4|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function pk(a){a=a|0;return c[a>>2]|0}function qk(a){a=a|0;return c[a+4>>2]|0}function rk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;$l(a+8|0);am(a+36|0);return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=yb;yb=yb+16|0;e=d;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Pl(a,e);yb=d;return}function tk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function uk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function vk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+32|0;i=k+20|0;j=k;if(!d){h=Vf(Vf(NE(Vf(Vf(Vf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(h,l)|0;KE(h)|0;ua()}if(!e){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=yh(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=Lg(c[(yh(d)|0)>>2]|0)|0;if((l|0)!=(pk(e)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=Mg(c[(yh(d)|0)>>2]|0)|0;if((l|0)!=(qk(e)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}Ph(e,d);h=Kl(e)|0;Ll(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Kl(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=c[(Kl(e)|0)>>2]|0;eg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Mf(j);h=h+1|0}Fp(g,xk(b)|0,d,i);Lf(i);yb=k;return}function wk(){if((a[54528]|0)==0?lB(54528)|0:0){qq(55464);nB(54528)}return 55464}function xk(a){a=a|0;return a+8|0}function yk(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function zk(a){a=a|0;var b=0,d=0;d=a+36|0;Ek(d,128);Fk(d,8);Gk(d,8);Hk(d,16);a=a+8|0;b=c[(Ik(a)|0)>>2]|0;Jk(d,b,yk(a)|0);return}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Bk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ck(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function Bk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Dk(a,b)}}else Dk(a,b);return}function Dk(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Ek(a,b){a=a|0;b=b|0;Jl(a+12|0,b);return}function Fk(a,b){a=a|0;b=b|0;Il(a+12|0,b);return}function Gk(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Hk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Ik(a){a=a|0;return a+4|0}function Jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;g=i;Kk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Lk(a,b,d,f,h);Vj(g);yb=i;return}function Kk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Hl(a,b);Dl(a,b)}return}function Lk(a,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;g=rB(128)|0;Nk(g,Mk(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Ok(h);QA(h);g=c[i>>2]|0}Pk(g,0);Qk(a,c[i>>2]|0,b,d,e,f);return}function Mk(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Nk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|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;Gl(b+4|0,96);return}function Ok(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Ok(b);QA(b)}d=d+1|0}Vj(a+116|0);Fl(e);return}function Pk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=yb;yb=yb+32|0;o=q+20|0;p=q;h=a+12|0;n=Rk(h)|0;if((yj(n,c[a+108>>2]|0)|0)>=(g|0)){Pk(b,1);Tk(Sk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;p=c[f+(h<<2)>>2]|0;c[(c[(Sk(b)|0)>>2]|0)+(h<<2)>>2]=p;h=h+1|0}yb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Uk(h,d,e,f,g);m=Vk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;GE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(o,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(o);OE(l,k)|0;KE(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Wk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Xk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Pk(b,1);Tk(Sk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;o=c[f+(h<<2)>>2]|0;c[(c[(Sk(b)|0)>>2]|0)+(h<<2)>>2]=o;h=h+1|0}}else{g=Yk(b)|0;Zk(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=rB(128)|0;k=Mk(a)|0;_k(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Pk(j,0);i=Yk(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))$k(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Qk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Vf(Vf(NE(Vf(Vf(Vf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;GE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=VF(o,56736)|0;e=Gb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;WF(o);OE(b,e)|0;KE(b)|0;ua()}while(0);al(p);yb=q;return}else if((h|0)==12){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}else if((h|0)==14){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}else if((h|0)==16){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}}function Rk(a){a=a|0;return c[a+4>>2]|0}function Sk(a){a=a|0;return a+116|0}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else Cl(a,b-e|0);return}function Uk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((d|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((f|0)>(d|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>(f|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}j=a+24|0;c[o>>2]=-1;ql(j,f,o);k=a+36|0;c[o>>2]=-1;ql(k,f,o);l=a+48|0;Tk(l,f);n=c[l>>2]|0;m=a+52|0;rl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;sl(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=tl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){ul(j,k);vl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){yb=s;return}else{s=Vf(Vf(NE(Vf(Vf(Vf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;GE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(o,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(o);OE(s,r)|0;KE(s)|0;ua()}}function Vk(a){a=a|0;return a+24|0}function Wk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){nl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ol(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function Xk(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=jl(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;kl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;ll(a,d);ml(d);yb=h;return}}function Yk(a){a=a|0;return a+104|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){fl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);gl(a,d);hl(d)}yb=f;return}function _k(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|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;il(b+4|0,e,96);return}function $k(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;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=el(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;fl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;gl(a,d);hl(d);yb=h;return}}function al(a){a=a|0;bl(a);return}function bl(a){a=a|0;var b=0;cl(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function cl(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;dl(b+8|0);Nf(b,24);b=a}return}function dl(a){a=a|0;Vj(a+4|0);return}function el(a){a=a|0;return 1073741823}function fl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function il(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c|0)|0;return}function jl(a){a=a|0;return 1073741823}function kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ml(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function nl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)pl(a,b)}}else pl(a,b);return}function pl(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Al(a,b-f|0,d);return}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}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,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((zl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function tl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((e|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>(e|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=wl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}yb=o;return k|0}function ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function vl(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c<<2|0)|0;return}function wl(a,b){a=a|0;b=b|0;return xl(a,b)|0}function xl(a,b){a=a|0;b=b|0;var d=0;d=yl(c[a>>2]|0,c[b>>2]|0)|0;d=(yl(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(yl(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(yl(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(yl(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(yl(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(yl(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(yl(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(yl(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(yl(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(yl(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(yl(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(yl(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(yl(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(yl(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(yl(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(yl(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(yl(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(yl(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(yl(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(yl(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(yl(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(yl(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(yl(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function yl(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function zl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=jl(a)|0;if(f>>>0>>0)CO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;kl(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Bl(h,b,d);ll(a,h);ml(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);yb=k;return}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function Cl(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=jl(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;kl(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);El(f,b);ll(a,f);ml(f);break}}else Dl(a,b);while(0);yb=i;return}function Dl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Fl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Gl(a,b){a=a|0;b=b|0;_O(a|0,0,b|0)|0;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if((jl(a)|0)>>>0>>0)CO(a);if(b>>>0>1073741823){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Il(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Tk(a+12|0,b);return}function Jl(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Kl(a){a=a|0;return a+60|0}function Ll(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ml(a,b);Nl(a,b)}return}function Ml(a,b){a=a|0;b=b|0;var d=0;if((sg(a)|0)>>>0>>0)CO(a);if(b>>>0>214748364){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Nl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ol(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ol(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Pl(a,b){a=a|0;b=b|0;return}function Ql(a){a=a|0;Rl(a+36|0);Sl(a+8|0);return}function Rl(a){a=a|0;var b=0;Tl(a+84|0);Vj(a+72|0);Ul(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Ok(a);QA(a)}return}function Sl(a){a=a|0;Lf(a+16|0);Kf(a+4|0);return}function Tl(a){a=a|0;Vl(a);return}function Ul(a){a=a|0;Vj(a+48|0);Vj(a+36|0);Vj(a+24|0);Vj(a+12|0);return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Wl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function Wl(a){a=a|0;return}function Xl(a){a=a|0;XN(a);QA(a);return}function Yl(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Ql(a);QA(a)}return}function Zl(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function _l(a){a=a|0;Nf(a,16);return}function $l(a){a=a|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;return}function am(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;bm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>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[a+108>>2]=16;Il(b,8);Jl(b,1);return}function bm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function cm(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=yb;yb=yb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=rB(148)|0;rk(h);c[n>>2]=0;c[m>>2]=c[n>>2];sk(k,h,m);tk(c[k>>2]|0,f);uk(c[k>>2]|0,g);dm(xk(c[k>>2]|0)|0,96);g=em(xk(c[k>>2]|0)|0)|0;f=b+4|0;fm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=em(xk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))gm(g,c[b>>2]|0,c[f>>2]|0);g=Ik(xk(c[k>>2]|0)|0)|0;f=d+4|0;hm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Ik(xk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))im(g,c[d>>2]|0,c[f>>2]|0);zk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}jm(f,i,c[j>>2]|0);Pj(i);f=km((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))lm(f,c[e>>2]|0,c[e+4>>2]|0);Pj(k);yb=l;return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function em(a){a=a|0;return a+16|0}function fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Mf(f);d=f}c[g>>2]=a}}else Am(a,b-e|0);return}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){zm(a);e=sg(a)|0;if(e>>>0>>0)CO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ml(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);ym(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)ZO(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){ym(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Mf(l);e=l}c[k>>2]=f}while(0);return}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else vm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){tm(a);e=kg(a)|0;if(e>>>0>>0)CO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;um(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);sm(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)ZO(j|0,b|0,e|0)|0;if(f){sm(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(mk(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;eO(h,29085,Wf(29085)|0);kj(i,h);Q(i|0,13208,5)}f=Ak(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Pj(h);yb=i;return}function km(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;qm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){nm(a);e=og(a)|0;if(e>>>0>>0)CO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;om(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);mm(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)ZO(j|0,b|0,e|0)|0;if(g){mm(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){YO(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function nm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Nf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function om(a,b){a=a|0;b=b|0;var d=0;if((og(a)|0)>>>0>>0)CO(a);if(b>>>0>357913941){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function pm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rm(a,b)}}else rm(a,b);return}function rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){YO(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Nf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function um(a,b){a=a|0;b=b|0;var d=0;if((kg(a)|0)>>>0>>0)CO(a);else{d=rB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function vm(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=kg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;lg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);xm(f,b);mg(a,f);ng(f);break}}else wm(a,b);while(0);yb=i;return}function wm(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function xm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function zm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Mf(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Nf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Am(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=sg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;tg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Bm(f,b);ug(a,f);vg(f);break}}else Nl(a,b);while(0);yb=i;return}function Bm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ol(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+32|0;g=f;iq(g,b,1,d,e,d,1);e=Dm(c[c[a>>2]>>2]|0,g)|0;pq(g);yb=f;return e|0}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=yb;yb=yb+32|0;d=f;e=a+92|0;g=nk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=Lg(c[(nk(e)|0)>>2]|0)|0,(g|0)==(Lg(b)|0)):0)?(g=Mg(c[(nk(e)|0)>>2]|0)|0,(g|0)==(Mg(b)|0)):0)){g=Lg(b)|0;g=ok(g,Mg(b)|0,8)|0;h=Lg(b)|0;Zi(e,h,Mg(b)|0,g)}zq(d,29103);if(Qh(d)|0)gj(e,b);Aq(d);h=Em(a,e)|0;yb=f;return h|0}function Em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;f=pk(i)|0;if(!((f|0)==(Lg(c[(yh(d)|0)>>2]|0)|0)?(f=qk(i)|0,(f|0)==(Mg(c[(yh(d)|0)>>2]|0)|0)):0))xh(i,d);f=b+64|0;m=rB(148)|0;rk(m);c[h>>2]=0;c[e>>2]=c[h>>2];sk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;h=b+68|0;l=c[m>>2]|0;c[m>>2]=c[h>>2];c[h>>2]=l;Pj(g);h=c[f>>2]|0;tk(h,Lg(c[(yh(d)|0)>>2]|0)|0);h=c[f>>2]|0;uk(h,Mg(c[(yh(d)|0)>>2]|0)|0);zq(e,29117);if(Qh(e)|0)vk(c[f>>2]|0,d,i,b+316|0);Aq(e);m=wk()|0;Xp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=yk(xk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;sq(m,8,30602,j);hO(e);m=Fm(b,c[f>>2]|0)|0;yb=k;return m|0}function Fm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=yb;yb=yb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Hm(Gm(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;zq(s,30936);do if(Qh(s)|0){E=(a[l>>0]|0)==0;g=Gm(d)|0;j=e;h=j+12|0;i=xk(c[h>>2]|0)|0;if(E){E=Km(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Jm(m,g,i,Im(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Aq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Aq(s);i=em(xk(c[h>>2]|0)|0)|0;zq(s,30953);if(Qh(s)|0){G=Lm(m)|0;F=Mm(d)|0;E=Nm(d)|0;g=Mm(c[h>>2]|0)|0;g=Om(n,k,i,G,F,E,g,Nm(c[h>>2]|0)|0)|0;if((g|0)<0){Aq(s);break}}else g=-1;Aq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;zq(w,30970);if(Qh(w)|0)Pm(s,n,Lm(m)|0,g,1.0);Aq(w);zq(x,30993);if(Qh(x)|0?(G=Mm(c[h>>2]|0)|0,!(Qm(w,k,i,s,q,G,Nm(c[h>>2]|0)|0)|0)):0)Aq(x);else{Aq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;zq(y,31017);if(Qh(y)|0?(Rm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Aq(y);else C=20;do if((C|0)==20){C=0;Aq(y);zq(y,31034);if(Qh(y)|0?(G=Gm(d)|0,G=Sm(m,G,xk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Aq(y);break}Aq(y);zq(y,31051);if(Qh(y)|0){E=Lm(m)|0;F=Mm(d)|0;G=Nm(d)|0;g=Mm(c[h>>2]|0)|0;g=Om(n,k,i,E,F,G,g,Nm(c[h>>2]|0)|0)|0;if((g|0)<0){Aq(y);break}}Aq(y);zq(y,31068);if(Qh(y)|0)Pm(s,n,Lm(m)|0,g,1.0);Aq(y);zq(y,31091);if(Qh(y)|0?(G=Mm(c[h>>2]|0)|0,!(Qm(w,k,i,s,q,G,Nm(c[h>>2]|0)|0)|0)):0){Aq(y);break}Aq(y);c[r>>2]=c[x>>2];zq(y,31115);if(Qh(y)|0)Rm(x,w,k,i,s,+f[u>>2]);Aq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Tm(v,w);Um(z,x);c[B>>2]=c[j+8>>2]}}while(0);Qj(x)}Qj(s)}while(0)}yb=D;return (c[B>>2]|0)>-1|0}function Gm(a){a=a|0;return a+8|0}function Hm(a){a=a|0;return a+16|0}function Im(a){a=a|0;return a+36|0} -function Tu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=yb;yb=yb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}yb=i;return}function Uu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=yb;yb=yb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}yb=m;return}function Vu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}yb=m;return}function Wu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}yb=m;return}function Xu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=yb;yb=yb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}yb=o;return}function Yu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=yb;yb=yb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}yb=m;return}function Zu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=yb;yb=yb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}yb=m;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=yb;yb=yb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}yb=m;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=yb;yb=yb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}yb=m;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}yb=m;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}yb=m;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}yb=m;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=yb;yb=yb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}yb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=yb;yb=yb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}yb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=yb;yb=yb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}yb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=yb;yb=yb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;yb=i;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=a[(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)>>0]|0;a[(c[g>>2]|0)+h>>0]=f;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=yb;yb=yb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;_O(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}yb=o;return}function mv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0))c[b>>2]=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function nv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=yb;yb=yb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;Yb[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);yb=i;return}function ov(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}Yb[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function pv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function qv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function rv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Vb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Wb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function uv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}xv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function wv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){_O(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}xv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){_O(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function xv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){YO(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function yv(a){a=a|0;return}function zv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;xv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Av(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Bv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Cv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Dv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Ev(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Fv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Gv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function Hv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Iv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function Jv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Vb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){yb=n;return}}else{xv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;yb=n;return}function Kv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function Lv(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;Vb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function Mv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=131;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Qb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Qb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Hb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}_O(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))Pv(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=130;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;_O(c[g>>2]|0,0,4096)|0;_O(c[g+4>>2]|0,0,4096)|0;_O(c[g+8>>2]|0,0,4096)|0;_O(c[g+12>>2]|0,0,4096)|0;_O(c[g+16>>2]|0,0,4096)|0;_O(c[g+20>>2]|0,0,4096)|0;_O(c[g+24>>2]|0,0,4096)|0;_O(c[g+28>>2]|0,0,4096)|0;_O(c[g+32>>2]|0,0,4096)|0;_O(c[g+36>>2]|0,0,4096)|0;_O(c[g+40>>2]|0,0,4096)|0;_O(c[g+44>>2]|0,0,4096)|0;_O(c[g+48>>2]|0,0,4096)|0;_O(c[g+52>>2]|0,0,4096)|0;_O(c[g+56>>2]|0,0,4096)|0;_O(c[g+60>>2]|0,0,4096)|0;_O(c[g+64>>2]|0,0,4096)|0;_O(c[g+68>>2]|0,0,4096)|0;_O(c[g+72>>2]|0,0,4096)|0;_O(c[g+76>>2]|0,0,4096)|0;_O(c[g+80>>2]|0,0,4096)|0;_O(c[g+84>>2]|0,0,4096)|0;_O(c[g+88>>2]|0,0,4096)|0;_O(c[g+92>>2]|0,0,4096)|0;_O(c[g+96>>2]|0,0,4096)|0;_O(c[g+100>>2]|0,0,4096)|0;_O(c[g+104>>2]|0,0,4096)|0;_O(c[g+108>>2]|0,0,4096)|0;_O(c[g+112>>2]|0,0,4096)|0;_O(c[g+116>>2]|0,0,4096)|0;_O(c[g+120>>2]|0,0,4096)|0;_O(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function Ov(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function Pv(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Hb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function Qv(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function Rv(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Hb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;Wv(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}Wv(d,q);Wv(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Sb[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function Sv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){Vv(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function Tv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){Vv(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function Uv(a){a=a|0;return}function Vv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=yb;yb=yb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}yb=N;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;c[d+24>>2]=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0);if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function Xv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))_v(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Hb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{c[j+68+(e<<2)>>2]=Hb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{_O(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Qb[c[n>>2]&255](a);return}}}function Yv(a){a=a|0;return}function Zv(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Qb[c[b>>2]&255](a);return}function _v(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Ib[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));a[h+g>>0]=B(e,b)|0;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));a[j+g>>0]=B(e,b)|0;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function $v(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function aw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{_O(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function cw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{_O(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;_O(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function dw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;_O(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function ew(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){c[a+112>>2]=fw(c[a+28>>2]<<1,d)|0;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*3|0,d)|0;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){c[a+112>>2]=fw(c[a+28>>2]<<2,d)|0;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*5|0,d)|0;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*6|0,d)|0;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*7|0,d)|0;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){c[a+112>>2]=fw(c[a+28>>2]<<3,d)|0;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*9|0,d)|0;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*10|0,d)|0;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*11|0,d)|0;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*12|0,d)|0;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*13|0,d)|0;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*14|0,d)|0;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){c[a+112>>2]=fw(b<<4,d)|0;f=16;b=c[a+32>>2]<<4;break}else{c[a+112>>2]=fw(b*15|0,d)|0;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{c[a+112>>2]=fw(c[a+28>>2]|0,d)|0;f=1;b=c[a+32>>2]|0}while(0);c[a+116>>2]=fw(b,c[g>>2]|0)|0;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function fw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Qb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Sb[c[i+4>>2]&63](a,-1);i=0;yb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Qb[c[h>>2]&255](a)}c[i>>2]=0;Vb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;yb=j;return i|0}function hw(a){a=a|0;a=Hb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Hb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;c[d+32>>2]=Hb[c[c[f>>2]>>2]&63](a,0,4096)|0;d=c[e>>2]|0}c[d+8>>2]=132;c[d+12>>2]=85;c[d+16>>2]=51;c[d+20>>2]=47;c[d+24>>2]=133;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function jw(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function kw(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=eA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Qb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Sb[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Eb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function mw(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;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Sb[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(ow(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function nw(a){a=a|0;return}function ow(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function pw(a){a=a|0;var b=0,d=0;d=Hb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=134;c[d+4>>2]=86;c[d+8>>2]=87;c[d+28>>2]=88;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=88;c[d+104>>2]=0;c[d+40>>2]=88;c[d+108>>2]=0;c[d+44>>2]=88;c[d+112>>2]=0;c[d+48>>2]=88;c[d+116>>2]=0;c[d+52>>2]=88;c[d+120>>2]=0;c[d+56>>2]=88;c[d+124>>2]=0;c[d+60>>2]=88;c[d+128>>2]=0;c[d+64>>2]=88;c[d+132>>2]=0;c[d+68>>2]=88;c[d+136>>2]=0;c[d+72>>2]=88;c[d+140>>2]=0;c[d+76>>2]=88;c[d+144>>2]=0;c[d+80>>2]=88;c[d+148>>2]=0;c[d+84>>2]=88;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=88;c[d+160>>2]=0;c[d+32>>2]=89;c[d+88>>2]=89;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function qw(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return} -function lL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=yb;yb=yb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=cz(c[n>>2]|0)|0;l=Pz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)cz(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=cz(c[n>>2]|0)|0;e=Vy(h,e,1,d)|0;if(k|0)cz(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=cz(c[n>>2]|0)|0;h=Vy(h,e,k-e|0,o)|0;if(b|0)cz(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;yb=p;return e|0}function mL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=yb;yb=yb+16|0;h=i;c[g>>2]=e;e=cz(c[b+8>>2]|0)|0;b=Yx(h,0,d)|0;if(e|0)cz(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);yb=i;return b|0}function nL(a){a=a|0;var b=0,d=0;a=a+8|0;b=cz(c[a>>2]|0)|0;d=nz(0,0,4)|0;if(b|0)cz(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=cz(a)|0;a=fy()|0;if(b|0)cz(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function oL(a){a=a|0;return 0}function pL(a,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;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=cz(c[j>>2]|0)|0;a=Oz(d,k-d|0,b)|0;if(g|0)cz(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function qL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=cz(a)|0;a=fy()|0;if(b)cz(b)|0}else a=1;return a|0}function rL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(YF()|0))Ty(c[b>>2]|0);AF(a);return}function sL(a){a=a|0;rL(a);QA(a);return}function tL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=CL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function uL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=BL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function vL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function wL(a){a=a|0;return 0}function xL(a){a=a|0;return 0}function yL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return AL(c,d,e,1114111,0)|0}function zL(a){a=a|0;return 4}function AL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function BL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function CL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function DL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Qb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}hO(a+144|0);FL(e);AF(a);return}function EL(a){a=a|0;DL(a);QA(a);return}function FL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Nf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function GL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)tB(d);AF(b);return}function HL(a){a=a|0;GL(a);QA(a);return}function IL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(RL()|0)+((b&255)<<2)>>2]&255;return b|0}function JL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=RL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(QL()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=QL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;return b|0}function NL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function PL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function QL(){return c[(hy()|0)>>2]|0}function RL(){return c[(iy()|0)>>2]|0}function SL(){return c[(ey()|0)>>2]|0}function TL(a){a=a|0;c[a>>2]=19288;hO(a+12|0);AF(a);return}function UL(a){a=a|0;TL(a);QA(a);return}function VL(b){b=b|0;return a[b+8>>0]|0}function WL(b){b=b|0;return a[b+9>>0]|0}function XL(a,b){a=a|0;b=b|0;dO(a,b+12|0);return}function YL(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,51258,Wf(51258)|0);return}function ZL(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,51252,Wf(51252)|0);return}function _L(a){a=a|0;c[a>>2]=19328;hO(a+16|0);AF(a);return}function $L(a){a=a|0;_L(a);QA(a);return}function aM(a){a=a|0;return c[a+8>>2]|0}function bM(a){a=a|0;return c[a+12>>2]|0}function cM(a,b){a=a|0;b=b|0;dO(a,b+16|0);return}function dM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;rO(a,19384,HI(19384)|0);return}function eM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;rO(a,19360,HI(19360)|0);return}function fM(a){a=a|0;AF(a);QA(a);return}function gM(a){a=a|0;AF(a);QA(a);return}function hM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)a=(b[(SL()|0)+(d<<1)>>1]&c)<<16>>16!=0;else a=0;return a|0}function iM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=SL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function jM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=SL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function kM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=SL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function lM(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(RL()|0)+(b<<2)>>2]|0;return b|0}function mM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=RL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(QL()|0)+(b<<2)>>2]|0;return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=QL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function qM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function rM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function sM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function tM(a){a=a|0;AF(a);QA(a);return}function uM(a){a=a|0;AF(a);QA(a);return}function vM(a){a=a|0;AF(a);QA(a);return}function wM(a){a=a|0;c[a>>2]=19644;return}function xM(a){a=a|0;c[a>>2]=19680;return}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=SL()|0;return}function zM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;AM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;eO(d,49197,Wf(49197)|0);c[a+12>>2]=c[b>>2];BM();CM(a,54968);DM();EM(a,54976);FM();GM(a,54984);HM();IM(a,55e3);JM();KM(a,55008);LM();MM(a,55016);NM();OM(a,55032);PM();QM(a,55040);RM();SM(a,55048);TM();UM(a,55072);VM();WM(a,55104);XM();YM(a,55112);ZM();_M(a,55120);$M();aN(a,55128);bN();cN(a,55136);dN();eN(a,55144);fN();gN(a,55152);hN();iN(a,55160);jN();kN(a,55168);lN();mN(a,55176);nN();oN(a,55184);pN();qN(a,55192);rN();sN(a,55200);tN();uN(a,55216);vN();wN(a,55232);xN();yN(a,55248);zN();AN(a,55264);BN();CN(a,55272);return}function AM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){PN(b,d);GN(b,d)}return}function BM(){c[13743]=0;c[13742]=17072;return}function CM(a,b){a=a|0;b=b|0;DN(a,b,_F(56720)|0);return}function DM(){c[13745]=0;c[13744]=17104;return}function EM(a,b){a=a|0;b=b|0;DN(a,b,_F(56728)|0);return}function FM(){yM(54984,0,0,1);return}function GM(a,b){a=a|0;b=b|0;DN(a,b,_F(56736)|0);return}function HM(){c[13751]=0;c[13750]=19432;return}function IM(a,b){a=a|0;b=b|0;DN(a,b,_F(56768)|0);return}function JM(){c[13753]=0;c[13752]=19500;return}function KM(a,b){a=a|0;b=b|0;DN(a,b,_F(57040)|0);return}function LM(){ON(55016,1);return}function MM(a,b){a=a|0;b=b|0;DN(a,b,_F(57048)|0);return}function NM(){c[13759]=0;c[13758]=19548;return}function OM(a,b){a=a|0;b=b|0;DN(a,b,_F(57056)|0);return}function PM(){c[13761]=0;c[13760]=19596;return}function QM(a,b){a=a|0;b=b|0;DN(a,b,_F(57064)|0);return}function RM(){NN(55048,1);return}function SM(a,b){a=a|0;b=b|0;DN(a,b,_F(56752)|0);return}function TM(){MN(55072,1);return}function UM(a,b){a=a|0;b=b|0;DN(a,b,_F(56776)|0);return}function VM(){c[13777]=0;c[13776]=17136;return}function WM(a,b){a=a|0;b=b|0;DN(a,b,_F(56760)|0);return}function XM(){c[13779]=0;c[13778]=17200;return}function YM(a,b){a=a|0;b=b|0;DN(a,b,_F(56784)|0);return}function ZM(){c[13781]=0;c[13780]=17264;return}function _M(a,b){a=a|0;b=b|0;DN(a,b,_F(56792)|0);return}function $M(){c[13783]=0;c[13782]=17316;return}function aN(a,b){a=a|0;b=b|0;DN(a,b,_F(56800)|0);return}function bN(){c[13785]=0;c[13784]=18672;return}function cN(a,b){a=a|0;b=b|0;DN(a,b,_F(56960)|0);return}function dN(){c[13787]=0;c[13786]=18728;return}function eN(a,b){a=a|0;b=b|0;DN(a,b,_F(56968)|0);return}function fN(){c[13789]=0;c[13788]=18784;return}function gN(a,b){a=a|0;b=b|0;DN(a,b,_F(56976)|0);return}function hN(){c[13791]=0;c[13790]=18840;return}function iN(a,b){a=a|0;b=b|0;DN(a,b,_F(56984)|0);return}function jN(){c[13793]=0;c[13792]=18896;return}function kN(a,b){a=a|0;b=b|0;DN(a,b,_F(56992)|0);return}function lN(){c[13795]=0;c[13794]=18924;return}function mN(a,b){a=a|0;b=b|0;DN(a,b,_F(57e3)|0);return}function nN(){c[13797]=0;c[13796]=18952;return}function oN(a,b){a=a|0;b=b|0;DN(a,b,_F(57008)|0);return}function pN(){c[13799]=0;c[13798]=18980;return}function qN(a,b){a=a|0;b=b|0;DN(a,b,_F(57016)|0);return}function rN(){c[13801]=0;c[13800]=19412;wM(55208);c[13800]=17368;c[13802]=17416;return}function sN(a,b){a=a|0;b=b|0;DN(a,b,_F(56868)|0);return}function tN(){c[13805]=0;c[13804]=19412;xM(55224);c[13804]=17452;c[13806]=17500;return}function uN(a,b){a=a|0;b=b|0;DN(a,b,_F(56936)|0);return}function vN(){c[13809]=0;c[13808]=19412;c[13810]=YF()|0;c[13808]=18624;return}function wN(a,b){a=a|0;b=b|0;DN(a,b,_F(56944)|0);return}function xN(){c[13813]=0;c[13812]=19412;c[13814]=YF()|0;c[13812]=18648;return}function yN(a,b){a=a|0;b=b|0;DN(a,b,_F(56952)|0);return}function zN(){c[13817]=0;c[13816]=19008;return}function AN(a,b){a=a|0;b=b|0;DN(a,b,_F(57024)|0);return}function BN(){c[13819]=0;c[13818]=19040;return}function CN(a,b){a=a|0;b=b|0;DN(a,b,_F(57032)|0);return}function DN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{EN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Qb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function EN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else FN(a,b-e|0);return}function FN(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;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=HN(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;IN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);JN(f,b);KN(a,f);LN(f);break}}else GN(a,b);while(0);yb=i;return}function GN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function HN(a){a=a|0;return 1073741823}function IN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=rB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function JN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function KN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function LN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Nf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function MN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function NN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;c[a+8>>2]=YF()|0;return}function PN(b,d){b=b|0;d=d|0;var e=0;if((HN(b)|0)>>>0>>0)CO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=rB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function QN(){if((a[55280]|0)==0?lB(55280)|0:0){RN()|0;c[14269]=57072;nB(55280)}return c[14269]|0}function RN(){SN();c[14268]=55288;return 57072}function SN(){zM(55288,1);return}function TN(){UN(57080,QN()|0);return 57080}function UN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function VN(){if((a[55448]|0)==0?lB(55448)|0:0){TN()|0;c[14271]=57080;nB(55448)}return c[14271]|0}function WN(a){a=a|0;var b=0;b=c[(VN()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function XN(a){a=a|0;return}function YN(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Qb[c[(c[a>>2]|0)+16>>2]&255](a);return}function ZN(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Qb[d&255](b);c[a>>2]=-1}return}function _N(){ua()}function $N(a,b){a=a|0;b=b|0;var d=0,e=0;e=Oy(b)|0;d=rB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=aO(d)|0;YO(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function aO(a){a=a|0;return a+12|0}function bO(a,b){a=a|0;b=b|0;c[a>>2]=16372;$N(a+4|0,b);return}function cO(a){a=a|0;ua()}function dO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)eO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function eO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;f=g;if(e>>>0>4294967279)cO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=rB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}TD(b,d,e)|0;a[f>>0]=0;$f(b+e|0,f);yb=g;return}function fO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;f=g;if(d>>>0>4294967279)cO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=rB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}gO(b,d,e)|0;a[f>>0]=0;$f(b+d|0,f);yb=g;return}function gO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_O(a|0,(ag(c)|0)&255|0,b|0)|0;return a|0}function hO(b){b=b|0;if((a[b+11>>0]|0)<0)Nf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function iO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;jO(f,d,e)|0;a[i>>0]=0;$f(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;kO(b,h,e-h|0,f,0,f,e,d)}while(0);yb=k;return b|0}function jO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ZO(a|0,b|0,c|0)|0;return a|0}function kO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;n=o;if((-18-d|0)>>>0>>0)cO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=rB(k)|0;if(g|0)TD(l,m,g)|0;if(i|0)TD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)TD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Nf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;$f(l+i|0,n);yb=o;return}function lO(a,b){a=a|0;b=b|0;return iO(a,b,Wf(b)|0)|0}function mO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;$f(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;$f(b+d|0,g);a[h>>0]=d;break}else nO(b,d-f|0,e)|0;while(0);yb=j;return}function nO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){oO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;gO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;$f(g+f|0,i)}yb=k;return b|0}function oO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)cO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=rB(j)|0;if(g|0)TD(k,l,g)|0;e=f-h-g|0;if(e|0)TD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Nf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;TD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;$f(g+f|0,i)}}else kO(b,f,h+e-f|0,h,h,0,e,d);yb=k;return b|0}function qO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){oO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;$f(b,h);a[i>>0]=0;$f(b+1|0,i);yb=j;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;if(e>>>0>1073741807)cO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);iE(f,d,e)|0;c[h>>2]=0;HF(f+(e<<2)|0,h);yb=i;return}function sO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;if(d>>>0>1073741807)cO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);tO(f,d,e)|0;c[h>>2]=0;HF(f+(d<<2)|0,h);yb=i;return}function tO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)sA(a,c,b)|0;return a|0}function uO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Nf(c[b>>2]|0,c[d>>2]<<2);return}function vO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;wO(f,d,e)|0;c[j>>2]=0;HF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;xO(b,g,e-g|0,f,0,f,e,d)}while(0);yb=l;return b|0}function wO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)tA(a,b,c)|0;return a|0}function xO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;o=p;if((1073741806-d|0)>>>0>>0)cO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=rB(m<<2)|0;if(g|0)iE(k,n,g)|0;if(i|0)iE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)iE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Nf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;HF(k+(i<<2)|0,o);yb=p;return}function yO(a,b){a=a|0;b=b|0;return vO(a,b,HI(b)|0)|0}function zO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)cO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=rB(k<<2)|0;if(g|0)iE(j,l,g)|0;e=f-h-g|0;if(e|0)iE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Nf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;iE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;HF(g+(f<<2)|0,j)}}else xO(b,f,h+e-f|0,h,h,0,e,d);yb=l;return b|0}function BO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){zO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;HF(b,i);c[j>>2]=0;HF(b+4|0,j);yb=k;return}function CO(a){a=a|0;ua()}function DO(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;w=yb;yb=yb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;yb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;yb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;yb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;yb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;yb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;yb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;yb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;yb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=JO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=JO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=JO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((JO(a)|0)==(-1|0)){JO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=JO(k)|0,p=JO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(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;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(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=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(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 (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}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,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 (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(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 (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(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|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(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 (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;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;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(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 _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(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;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(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 Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|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;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(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;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(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;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(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;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(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;D(12);return 0}function NP(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;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}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;D(23)} // EMSCRIPTEN_END_FUNCS -var Bb=[yP,nr,qr,Ar];var Cb=[zP,qs];var Db=[AP,jr];var Eb=[BP,nj,ix,px,YA,LD,MD,OD,PD,_D,$D,bE,cE,_E,eF,jF,kF,pF,qF,LH,SH,TH,UH,VH,WH,XH,YH,tI,AI,BI,CI,DI,EI,FI,GI,oJ,pJ,uJ,zJ,AJ,FJ,KJ,LJ,QJ,VJ,WJ,$J,XK,YK,_K,nL,oL,qL,VL,WL,aM,bM,gL,hL,jL,wL,xL,zL,cx,Kt,DO,bx,Iq,Kq,Rq,Sq,_q,$q,ar,fr,gr,tr,vr,xr,Cr,Er,Gr,Bs,gu,iu,kw,rw,sw,tw,uw,Uw,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP];var Fb=[CP,Jx];var Gb=[DP,Zl,gq,nq,QD,SD,dE,fE,aF,gF,lF,rF,IL,KL,ML,lM,nM,pM,Je,$w,Lq,Nq,Oq,Pq,Vq,Yq,Zq,cr,dr,er,lt,Ms,Ht,hu,ju,ku,ou,pu,qu,ru,tu,uu,zu,Au,Bu,Cu,Du,mw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,jx,ox,dy,DA,dB,ID,ND,RD,XD,aE,eE,$E,fF,yF,FF,LK,QK,JL,LL,OL,hM,mM,oM,rM,gw,Gq,Uq,Wq,Xq,br,ft,Ws,Cw,Dw,Cz,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP];var Ib=[FP,kx,qx,NL,iM,jM,kM,qM,ut,Ew,Fw,FP,FP,FP,FP,FP];var Jb=[GP,mH,nH,DH,EH,GP,GP,GP];var Kb=[HP,wF,DF,hH,iH,kH,oH,yH,zH,BH,FH,WK,ZK,mL,pL,PL,sM,fL,iL,vL,yL,Jw,Kw,HP,HP,HP,HP,HP,HP,HP,HP,HP];var Lb=[IP,zK,FK,IP];var Mb=[JP,KF,LF,MF,NF,OF,PF,QF,RF,SF,TF,UF,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,jH,lH,AH,CH,MH,NH,OH,PH,QH,uI,vI,wI,xI,yI,AK,GK,Gw,Hw,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,cJ,iJ,eK,fK,pK,qK,KP];var Ob=[LP,RH,zI,UK,VK,kL,lL,dL,eL,tL,uL,LP,LP,LP,LP,LP];var Pb=[MP,uA];var Qb=[NP,Oi,Pi,Ri,Si,lj,mj,XN,Xl,Yl,_l,eq,fq,hq,lq,mq,oq,zA,AA,BA,CA,MA,WA,XA,bB,cB,eB,BD,DD,FD,GD,UD,VD,kE,lE,mE,nE,pE,qE,rE,sE,uE,vE,wE,xE,zE,AE,BE,CE,YE,cF,hF,nF,tF,uF,vF,BF,CF,IF,JF,EG,FG,fH,gH,wH,xH,JH,KH,rI,sI,aJ,bJ,gJ,hJ,mJ,nJ,xJ,yJ,IJ,JJ,TJ,UJ,cK,dK,nK,oK,xK,yK,DK,EK,JK,KK,OK,PK,AF,cL,TK,rL,sL,DL,EL,GL,HL,TL,UL,_L,$L,fM,gM,tM,uM,vM,ff,Yw,hr,Mt,Nt,Yv,Zv,Ov,Iv,yv,qv,Fu,xu,yu,mu,nu,du,eu,Rv,Uv,jw,nw,qw,Iw,Mw,Vw,Ww,Xw,dx,fx,hx,aG,cG,gK,EO,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP];var Rb=[OP,lr,pr,yr];var Sb=[PP,HD,WD,ZE,dF,iF,oF,qJ,rJ,sJ,tJ,vJ,wJ,BJ,CJ,DJ,EJ,GJ,HJ,MJ,NJ,OJ,PJ,RJ,SJ,XJ,YJ,ZJ,_J,aK,bK,NK,SK,XL,YL,ZL,cM,dM,eM,iw,rr,ur,wr,Br,Dr,Fr,Gs,Xv,Nv,mv,$t,lw,Lw,ex,gx,Kx,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,vs,es,QP];var Ub=[RP,Sw,ls,RP];var Vb=[SP,GA,PA,hB,KD,ZD,xF,EF,Se,Kv,Mv,sv,tv,uv,vv,wv,au,bu,cu,Qv,Sv,Tv,$v,aw,bw,cw,dw,SP,SP,SP,SP,SP];var Wb=[TP,FA,OA,gB,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,_u,Zu,Yu,Xu,Wu,Vu,Uu,Tu,Su,Ru,Qu,Pu,Ou,Nu,Mu,Lu,Ku,Ju,Iu,lv,Hu,Gu,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP];var Xb=[UP,EA,NA,fB,JD,YD,MK,RK];var Yb=[VP,Jv,Lv,rv,nv,ov,pv,VP];return{__GLOBAL__I_000101:QE,__GLOBAL__sub_I_ARToolKitJS_cpp:Bq,__GLOBAL__sub_I_bind_cpp:CB,__GLOBAL__sub_I_iostream_cpp:RE,__ZSt18uncaught_exceptionv:wD,___cxa_can_catch:uB,___cxa_is_pointer_type:vB,___embind_register_native_and_builtin_types:FB,___emscripten_environ_constructor:xB,___errno_location:mx,___getTypeName:rD,___muldi3:LO,___udivdi3:QO,__get_daylight:zB,__get_environ:BB,__get_timezone:AB,__get_tzname:yB,_bitshift64Lshr:RO,_bitshift64Shl:SO,_emscripten_get_sbrk_ptr:TO,_free:EO,_i64Add:MO,_i64Subtract:NO,_llvm_bswap_i32:UO,_malloc:DO,_memcpy:YO,_memmove:ZO,_memset:_O,_realloc:GO,_roundf:$O,_saveSetjmp:VO,_setThrew:XO,_testSetjmp:WO,dynCall_di:aP,dynCall_dii:bP,dynCall_i:cP,dynCall_ii:dP,dynCall_iidiiii:eP,dynCall_iii:fP,dynCall_iiii:gP,dynCall_iiiii:hP,dynCall_iiiiid:iP,dynCall_iiiiii:jP,dynCall_iiiiiid:kP,dynCall_iiiiiii:lP,dynCall_iiiiiiii:mP,dynCall_iiiiiiiii:nP,dynCall_v:oP,dynCall_vi:pP,dynCall_vid:qP,dynCall_vii:rP,dynCall_viid:sP,dynCall_viii:tP,dynCall_viiii:uP,dynCall_viiiii:vP,dynCall_viiiiii:wP,dynCall_viiiiiii:xP,establishStackSpace:ac,stackAlloc:Zb,stackRestore:$b,stackSave:_b}}) +var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,cx,ix,FO,iv,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,ru,tu,Nu,Ou,Pu,Qu,Iu,wv,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,gv,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Pt,Qt,Rt,St,Ut,Vt,su,uu,vu,yu,zu,Au,Bu,Cu,yv,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,jx,Iq,Wq,Yq,Zq,dr,ht,Ys,Uu,Vu,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Wu,Xu,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,$u,av,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Yu,Zu,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,dv,jr,Nt,Ot,wu,xu,pu,qu,_u,cv,Mu,Ju,Ku,Lu,kv,vv,zv,Cv,Dv,uw,Aw,Iw,Jw,Vw,Rw,Yw,$w,dx,fx,hx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,uv,tr,wr,yr,Dr,Fr,Hr,Is,bv,xv,Bv,Lv,Uw,Nw,ex,gx,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Eu,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,Fv,Gv,Hv,Iv,Jv,ww,yw,Cw,Dw,Ew,Fw,Gw,Ow,Pw,Qw,Xw,Zw,_w,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,lv,mv,nv,ov,pv,qv,rv,sv,tv,Wv,Vv,Uv,Tv,Sv,Rv,Qv,Xv,Yv,Zv,_v,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,mw,nw,ow,pw,qw,rw,sw,Pv,Tw,Sw,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,Mv,Nv,Ov,vw,xw,Bw,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) // EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); +(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/build/artoolkit_wasm.js b/build/artoolkit_wasm.js index 1f327d2d..00fa345d 100644 --- a/build/artoolkit_wasm.js +++ b/build/artoolkit_wasm.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":878,"maximum":878,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5303200,DYNAMICTOP_PTR=60128;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="artoolkit_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($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){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=60160;var ___tm_timezone=(stringToUTF8("GMT",60208,4),60208);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var asmGlobalArg={};var asmLibraryArg={"$":___buildEnvironment,"f":___cxa_allocate_exception,"e":___cxa_throw,"z":___lock,"_":___map_file,"y":___syscall221,"Z":___syscall5,"Y":___syscall54,"X":___syscall91,"o":___unlock,"x":___wasi_fd_close,"W":___wasi_fd_read,"C":___wasi_fd_seek,"V":___wasi_fd_write,"U":__embind_register_bool,"w":__embind_register_constant,"T":__embind_register_emval,"v":__embind_register_float,"j":__embind_register_function,"k":__embind_register_integer,"i":__embind_register_memory_view,"u":__embind_register_std_string,"S":__embind_register_std_wstring,"R":__embind_register_void,"__memory_base":1024,"__table_base":0,"a":_abort,"Q":_emscripten_asm_const_ii,"P":_emscripten_asm_const_iiddddddddddddd,"O":_emscripten_asm_const_iiiid,"N":_emscripten_asm_const_iiiiiii,"M":_emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi,"L":_emscripten_get_heap_size,"J":_emscripten_memcpy_big,"I":_emscripten_resize_heap,"b":_exit,"n":_getenv,"t":_gettimeofday,"H":_llvm_exp2_f32,"m":_llvm_stackrestore,"l":_llvm_stacksave,"G":_localtime,"g":_longjmp,"E":_strftime,"D":_strftime_l,"s":_time,"c":abort,"h":getTempRet0,"q":invoke_ii,"K":invoke_iii,"F":invoke_iiii,"p":invoke_vi,"B":invoke_vii,"A":invoke_viii,"r":invoke_viiii,"memory":wasmMemory,"d":setTempRet0,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=function(){return Module["asm"]["ba"].apply(null,arguments)};var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return Module["asm"]["da"].apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["fa"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["ga"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return Module["asm"]["ha"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["ia"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["ja"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["ka"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["la"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ma"].apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return Module["asm"]["na"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Ra"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Sa"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ta"].apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return Module["asm"]["oa"].apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return Module["asm"]["pa"].apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return Module["asm"]["qa"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["ra"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["sa"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["ta"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["ua"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["va"].apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return Module["asm"]["wa"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["xa"].apply(null,arguments)};var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=function(){return Module["asm"]["ya"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["za"].apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return Module["asm"]["Aa"].apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return Module["asm"]["Ba"].apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return Module["asm"]["Ca"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["Da"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Ea"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Fa"].apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return Module["asm"]["Ga"].apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return Module["asm"]["Ha"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["Ia"].apply(null,arguments)};var dynCall_viid=Module["dynCall_viid"]=function(){return Module["asm"]["Ja"].apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return Module["asm"]["Ka"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["La"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["Ma"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Na"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["Oa"].apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return Module["asm"]["Pa"].apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return Module["asm"]["Qa"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":878,"maximum":878,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5303200,DYNAMICTOP_PTR=60128;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="artoolkit_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($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){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=60160;var ___tm_timezone=(stringToUTF8("GMT",60208,4),60208);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var asmGlobalArg={};var asmLibraryArg={"$":___buildEnvironment,"f":___cxa_allocate_exception,"e":___cxa_throw,"z":___lock,"_":___map_file,"y":___syscall221,"Z":___syscall5,"Y":___syscall54,"X":___syscall91,"o":___unlock,"x":___wasi_fd_close,"W":___wasi_fd_read,"C":___wasi_fd_seek,"V":___wasi_fd_write,"U":__embind_register_bool,"w":__embind_register_constant,"T":__embind_register_emval,"v":__embind_register_float,"j":__embind_register_function,"k":__embind_register_integer,"i":__embind_register_memory_view,"u":__embind_register_std_string,"S":__embind_register_std_wstring,"R":__embind_register_void,"__memory_base":1024,"__table_base":0,"a":_abort,"Q":_emscripten_asm_const_ii,"P":_emscripten_asm_const_iiddddddddddddd,"O":_emscripten_asm_const_iiiid,"N":_emscripten_asm_const_iiiiiii,"M":_emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi,"L":_emscripten_get_heap_size,"J":_emscripten_memcpy_big,"I":_emscripten_resize_heap,"b":_exit,"n":_getenv,"t":_gettimeofday,"H":_llvm_exp2_f32,"m":_llvm_stackrestore,"l":_llvm_stacksave,"G":_localtime,"g":_longjmp,"E":_strftime,"D":_strftime_l,"s":_time,"c":abort,"h":getTempRet0,"q":invoke_ii,"K":invoke_iii,"F":invoke_iiii,"p":invoke_vi,"B":invoke_vii,"A":invoke_viii,"r":invoke_viiii,"memory":wasmMemory,"d":setTempRet0,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=function(){return Module["asm"]["ba"].apply(null,arguments)};var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return Module["asm"]["da"].apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["fa"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["ga"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return Module["asm"]["ha"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["ia"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["ja"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["ka"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["la"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ma"].apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return Module["asm"]["na"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Ra"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Sa"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ta"].apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return Module["asm"]["oa"].apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return Module["asm"]["pa"].apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return Module["asm"]["qa"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["ra"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["sa"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["ta"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["ua"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["va"].apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return Module["asm"]["wa"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["xa"].apply(null,arguments)};var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=function(){return Module["asm"]["ya"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["za"].apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return Module["asm"]["Aa"].apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return Module["asm"]["Ba"].apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return Module["asm"]["Ca"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["Da"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Ea"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Fa"].apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return Module["asm"]["Ga"].apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return Module["asm"]["Ha"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["Ia"].apply(null,arguments)};var dynCall_viid=Module["dynCall_viid"]=function(){return Module["asm"]["Ja"].apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return Module["asm"]["Ka"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["La"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["Ma"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Na"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["Oa"].apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return Module["asm"]["Pa"].apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return Module["asm"]["Qa"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/build/artoolkit_wasm.wasm b/build/artoolkit_wasm.wasm index 2bdb85276674c54d0d3e92ad3cfd331d55ab1835..201dc9484598aeba17dada31fc111bed06e6630e 100644 GIT binary patch delta 11674 zcmaia2YeOP^6<`Sd-rZa76>GykeiUuK|mfwM7R`1X`zUM5D5{{0LoMJDS`nJ2vy*M z11P--LI49CM0)SN7wOWQ6shu`y*E73_x*m~+1#C-)6bk~XHJGLO#EhH;`~?vV{_w# zVqgSPRBkn8bn{uv>i7@xcwU8Z!90p7o}U?thjXKY3S(vy<&A%V8;ow1Q5x|N-1F&&|c6AgynIUErbQk z0M?l)aG1?~qU;BPG3F6ft#*PZRf`l(q+o_Hs9O$(VVYn9O%P1ebO)nEU#1yOFx-7h zH)RsnKue?q^drp8 z^iXBSgP8yk?A?qo>7nUnF>bj%)ABq*P&1>b+uGpnlUl$o9{N%RVhY6Aj_nS~7}3UH z9%{pc9n4^cA?ygd0JY?dwvs08a3bQ1P)YHB{i~Kq`EjqAb>4c;G%L}381ay)h)ybt zxP<8QTo^G+D7jP2OE0~WXu^9eF<&#QhVU{=Si}pa%PejxLIZFW?s5wyPUA&HP^VmS zsZ3hB$-Gp{Eej^EYM9^8X**~W-5#hPZbB9ZllI6Z0pXq662;3XqLYZA4hz?FYr69c zjp&X-eG&iXwPzkTdA)=iF5@zAS;7EO%Hw5G;U&3I!($NX=`Y+9VMG@x-o`ePoT3E^ zhpRAYR;UjZ67xm0@Wy&9@dh&ziYAj7F?U_yA;|&m5f&pVGiF(qD+-1Y;CAIK?g@*C z;52a==DsM|Htj?(bX>1j;zU~qTqiCpfVM;Ih9t|&PM4fv1bIF2n$874>r5Mb`79nU-g z7FM~)E}L~sH%BhFe!LazOtrlyTZfvnwqjY1l#Tus@n=IBO-PmZcrs>9di>0O;>nzqR-B@g~ z=IO>Go3%(c_Ip^%bOSAGGO>0s!@j20TKCl->Z)2}ol>iz#Uhf6(dGBxDbKWI^Uf~t$KC&KKCz<r5?*3|48pll;6vM{KLLtAE+U=*<0)b zVza%`UT3eif3oMUhd8mGpnx$x{Wggy2?^4|8|@(y9{GX@sg3+%r3S9WjvVW3n* zycnedD)3rFY@r-`uKlAu+uk5Hh*|az_Dp+*Jw4DPBC)_;?;h`N?=J67?@aG>FRE`< zU_nGwU{!>WL&YNR!oc>3npqR%cXEhWVcoM|-pCGkHn6>(YkZ9-BQ4-bOPg+{rA;x@ zGSV_K($0v}^rWSYXFKeJ;wsxMuCQ_JGTS9~h^KHYyTrDOZQ?1s!mcv+myx#ErcR!D za>QKW{sIG?gjc^8L%iceU+-A)*h+KLd~1aIQ>{~LRgTJ7sB+b4HBwDhQ`K}nMP>9> z85#HG7P(F?lfTG$GFQ%(89&Gwa$4Y~(=-1v>$;i(-?Q)8dV7t%(q0<)GJlP%2iAS- zp4CU)QMc4hby;0h=T#1$$NrQLhOEsHdOp2l z-?T5;gVi84P-UwDs-OB=^;KV~-{g6DL0*)X2a+|y=7s#LFr~gdH*j@W~`?5VP&O6n6j2&YG#SM8~ zUXz>UM!8lF6xm|G*q^(%z*G}9dQxuNo25QU(I2U-S zW)nD@JGACj2EXODuDy*xQf~3OehIyE-)nFs9M0#y-f9P9-wC`}1}fyf-a4JZz+C-S zvIW<3kG)ebKa9#v{IsJfrwsuAoZP{^$^%@>UHawoCS1t9)~{#2K+ne-{1c*c+l<*FladXe6usPBDkBHPr<_en{)Ic6 zbHAAII)m>5yC)^W#oSwyN;23Jh?`mzcIVcZ+JwO$fkD&n27aB_2sN-vB7_B= ztp7C7Kj-a&1>N}={;bT*BqKQErk!)o=Bz9n_+-NoxSN~0@y)W-&#YU`VNBrBt*vlB zu<3UHz?wVp@G<7^A)^DG?!1+I;?6ty;VRZMp&RVfi%f{NVU*rc0O||$N5Nez7zO2Z z%Q!eDbk%5x7rH_s#4>!XIFyzvl{F!dCm&s zwoeJ7a*%k^XF7j+pOVhSe)8JVCy45y3LeUu{{LvS(0aB}4(61AsH|i1e|sNjK3nl; z^*_CDu>ZHwNcn7|ham%68CX^^l?cU@-^ol?F0o58_s>~py8L2b;Svz3i*E zf;2(r0iM{+qH${vh)9{tpJC^*+;22+ncI2QZzM8X2H!r0%Z5SS#b1#Bq`&{tdK^nl1A>5zZtY9EQZhnS`msA+pFNQQx1?-JkG@+jo{fOZp_uf;(fe z*KnvGw$e%p?W}Ni;f~?ZzE+Ou&iD{G4{7RtqY8c6^l=t4lU$0ri*UZTeBc%tZpkVt zacS-{h%-%h9RVLJIHOM?*pV<*U;Pont+0D$kijI$#j@T7{En*Z5gezcUACV)1^?9MH!fQUlhVB%i%J7he<0S09SDF z3fPW)m%&2acP0D)Fb>PEhP5ymZ>)y9FbU7Efsrr~d#r^QVS?6c;XeXK;B%W`Bg^&R zpZ7#jJ$Ey?aaYe=H`9(T!jCsY zCG#>TnpCrO+IH9vB~H*L2T4pH+&M~Q*auIV;AVH}71cxMlM zhMV?5PdxFE<}r9L)C65`KU623q`y1}8*G@X>z@I?iw`&lI~ZKhtu8=>sf*ksiojl7 z?G_yO=#JN6A?QMn;E;fcqpz`KIEV#-l_c;Yu+p#>I{~Wz2lW_Wp*tCk2C0@wOA)1nM}wE(G~CN)_+U`8z#mv6Dx z$NeXb%p^gayFd@E#T>w6e%1!pzr-fs_}Z-P8xwhwA+ngOV}x^%C|5toEwB2s!d&hm zuAoeomr2CTD*$IN@fq}XdeuG81dYvAZJGy7mJJY$$u)v$F93Fau<;TZwu)@hZ=s@J^ zCPuo6B!rZcL6hGpNMJ;!kI~E7iQl}*UVyE*OW!tlE?M?{)nm?KItMFeWa9sGapD^c`@Xsf3RQR_OI3k<_wzJ>%FX_!4s(*+8 z)xS@G>W}L~>?r)p2vGgw1gQQ#+u3V7d+>gH)&s8T?&)kOh<%V~;LZ$It*RfKec)sjbS-}DP>EG-Z{naNdoWXrP{6DOMq|DVl zSrfQ`PA|5G`I?Q_-w$TR zK<^*OHiEu7jFkYratJHWu+Jpcz2N}T%C3?YK^_%kyIhv;`;T0kc#%1M{+3HL;4aq( z*_1htgswfAj^{dZIP2=5e+uh?^X9MzdZI03LBCRpFZJN(b66FeHJ3PR*e|S2%5Ldu zYeu7!W*PBp?}>)H18(+k3}41xhryV!jG;a-mn{j$2g_J1n2XJp6D{Uq-w&#Y!I zvy&-UW(`aJr==s4_SDkd3Rya+#QT%E&920w7{N)Ec?Lj^7FGCO@Z`9zoN{vXiK_fM zD-m6VJU#9o1XY-aAb~hZu!uj#C;aT?*ii9cyz>IzL7IGB4ZaHWq=S553{=9>zw_Gg zyzcxvKMVTf7ldD6b^}o+vas8V`B+I-xeBWgVUze3(iMN%&EMzx<}#ij^l{A(3;aU!4*G*dJe=uU^Y|B1&!5HX zDm`)rFUs|kDLlaS)Cs(;(Cvqr5un%B66-xWcMQKFb*quQozl&R@JUkV8^G&HJ*f}> zfDUxM_;*65e8x|TnJL}5(0#h`X!u9Rq6l244>3k|4eOr{vU(w|t@P8F#cJTKFU8KF}3Fg89;F=YT z=pfSd<8*NksIR*jqPw0L#p3}M=;hIT5hU~uHe~)I^GcwTJ2#+Junk1 z9A_!oJW6s0Gc_TzIJp%^PO^`&>22cOy?Ej_Pshfm*l5Z>bBcA-*Uqrvf_b_V|wC)1@6T$WX#(PDKek^%WuZvCI z$YOL=hkqyO7?ygQ*T73&(L6N$;+SEJ7jRD@UI(2`EG6=A&@Jwe=lyRZW#~VwU){v6 za)`#N+gN43#F}2 z52?Tvf&BzsJ#&Ddhu}eiaqb3HVeLcUoxI%S5c*yoS~7%o$wSMA&~ABXg%H|353L+R zKg&a_`Lco|^vuIw3>EhVg0(vb=ittb=J2(f<<6;I2+w|sHwfWFp5l!{`0%HAY6u_o z6mJ>A$GA9khqa=(EaG4aX0JxfaBaCqk7XVeps0f-i{n z_-P|i&ie;-?;5jv2F`6ns=Xw>+gSW$mk8<=AF-cy~)-^Mmg#8f@#L$RId0UwE(k>p}OH$c1yTXdHJ05UL!3}q32ERme3h$*53x*Vkv=^_ zoMoVK<0#P_)5eG*6gc>7j7X}T&0_o^Ki?%Y5=3ViskeV8o|AZVj5q_6^vba!g6T(-#AATd`oR?PgDA}M%QW#io|`HDL&vOk zKaj>eqUXB+o#|xKj-fR}OowbeZ-$5gcEy9KQ$-B2*`lHT;z#iZ*n1(yXZcK@$N3R^ z%@vb$&j)kF1_bjT(jd%uOSQhWfxoURo5`E{lEH=U(ZSBd)oEA(q?!~q~4NnA(X z6YS8n*OT8wr2J@uI1fKyn~h=+9K~}RMZJ`7O#jIV%pdC<1^-R@h;|l(zu!dWk8^X7 zKH{CD*kqHa21oUPO=2h4ukI947Pi_Z{4iFJ*(Me+-Tn|=|LFEdDY&dV9TvYqfzxg< z)AgSGUuNbyr@?8Ao{ORsmO3tmQ%_5ei>5YKyeLv}>}^p}_qphD^>I9MStJv9a#=Kl zALfR%dqAEF}HzdsfqgI@iBF4HI~sozSp zO*+JEqZb7*F#Q#oXsr&h`Z^vc^f{0X@YyYz}Dq8WpI+F_FJh&SkHE=QX-g<(QL zMdu9WM9GO}0LUu(O$;wAKgXTXGE#dA%kMxpj+SIEPw4qYWHEBRlVmFHjgei5Rcpt} zUuo(Dn&Jm>ayBtd@cX@Zxei+<$a2^vRu;paMdcwl;ue*~A7UtDT7v9N(wE|snK;HL zt3;l5!%vKa=~O5V#hjBSp7P0Pyy}x4ecvZr0ZvSk#XOhYaFpd-(p!>bBTgscsN!-K z#lvxR30WAf=tCtW-9XaGrnKx{@OP7Zb~j4ov;C}lCdtZ8e7B4|2RE=$S@|lF``fbe z6S$6H<>ctfzXF|MqBE0}yQ@wRb25`m3RmZ09yd%(dmb#KZ2G|c<>Wnz@$M)u6N%|> zl$Wot+a~s_BunTQo}(G+IhEv_GWKCm3m8qqLHZ~_>+|~Tk}S-hoasE$3DsnIU=K|6 zRhNZz$LjJCz%1-gLw174xTS{7s4&};=pK+rU_>y?P7B%Qq2sDwUjyg!AmP^0am?vV zv|-MlCboM~mRCE!FOP;=~4l_KP` zYRa31zYbMANT)LA0EIfK894oL{!4PSeo{yN4EZjS^z$-&k_(a*)~h8yglt?`OP(YX zGrG213j?sVUw#e!@mIgB3w<%Ej;sZTutOa=9yivLQ|k_+H7Hkg^#`ZBtHfxLgm!j@ zdj85!B7(m{+epCONVk?VAG7*oXzc zB-Z&ETYM?svk%er1YLX3#_YxoU&@6#sdekR!I4ckg_L7Pw z1MT-^5=~BEmCs}r?83#L(eNkq(a+>25R*t3V*77p48AcywvXTB3DR$4h<+OgbJlzE zgkUr78z4)=7JM>*)Zq>+mQA{83HHdQ?zZB@YzhwT#9y*WWnR-o2g;K+3Y0sPqBB^s z(vL?;lj%JulN27wk=6C>@v<(1le*d@IVB$!oF}hht6W*)+xfB?nd;{ArJy)ku1ul3 zH$8Q!Y{%dt!gBdOoYI|_(`Mj-BeFQ+3YiJZk*$=e>awd}Ozg8##+ZT*RAia(^OdqB zoW?0DWi|5rj;@q+PobNyk_ikh>5taP&uI#HWgW@TX&t#lT+BA9xVB*Y=mzgmkXoLxXN}TZt^5dQ29;?`z6%urdDySqc~Z zDu(h}!oNBzPD;`I0dR&a0oTR~0Ok1*$JD{q8sJ>{Z& z4%iZg^NZ7k(WOiB2k9Sf(V5j%fYeYB5xxmtuKk4%v)q8|U-(eVJ@?^8sCKd~-|2*}YxvBFY)gQe1pXzU5uY5(TU6^NQN|!5vu`kKC0Nb%)z>2DjFS z%m>xXe~;v2q%MC?rU7241QEFFc?uUTzAr!36&T&M#oc#x$L;>}c&0xqbb2$Kdpw4C z|A_~?aur9R_hL$yc|g3NM!V}Dh3`L4+(*$M4?B-cy$27d$f z8ouCBC2=5E=i#dUw@_692J2Z;ji4BlM|~i1TZC$YyTVmjy7qY-uE>ATWAiEc$C^KJ z)qNF<(LbsudTO#d=fN09HK3qnhNG&{ZO8YH8sy%3lqjGcg;6XdIYCv2bC{N()>S$O z^}{{B{65oNkn&GiOx)>wMe6+($~K*w6kDKUtA9G>$C5v6IzMAepXyG{H~Ulv0%a3} z;G0BsN{v-i;URvSq>9rp@9Y7}OdQ>FFF`zk-^ht<_ykN&Bgs%GPkI_f{V z_PZuUnqO|G4v;dgt719UudBM~Q!lG8fG(QaHBd`Q0;6A5yCMqHKiMh6Unm3$>WiGz(HB_T$(V|F98Uzcy98Ub!=p$@}uIHRTNO`ycysgo+HD@i1dsp4mWxFa0I}Pfl%8NU`dx~V+?-|Os;=zon!(>CgUrIMi8{d9U5;({sVdsHTn)0w#MC;i zN>Y63z0<0mj^0TBs!8S~WwTm9=H%dJ)s@Ui{Vi03H17vniR(2EC!lNXQXey1uvN{V zwvV=|)Uaq$`mV7c@8~DJaGM&;aoAGzJf7R5p3@r+sWN~+?NJr6!XXu@Tklm}rQUK} z)nugEJtx&veewf2zEnul0aak<}A_~D)dcsxJQDW8|H3719(YtCg z*Zh|1NlbT3RmRvW%F%JRRR*}s{MbUOK2YzK=6wN|F+HCdNycD8A#*Up8_S-lWsZ6@BA*b8K*CPeRBT{@+X*=tUgvH^<@IRn1cW&HkmPnOBz@QvWY% zs`DTW3%4|1(u10qLnPYe%tkn=rD^M|H%xLzw&S!n2_DAHZ<=+m1C{DOTAJAmx3@AA zv21IzD!EzaD`bpyTXP1}8LiDQZdq=C)o?Zo{d$H;Jg^5FbTsD?xYyBapgX;7UgvH| ze4nLjb~6_<{o}{x6^6GyGMC`xPt5{))~BY;_32(_9WJ_&TZPZ{qu9*O&&`4&cr#53 z-EjJl)7jT7&2)u6=03oa@30z}f0)@+m+NPq^(KE|Yz)vy_6wEkdoQM15<9S%k@xDfR=dTTe0{ xfexExcI8-ouK5H%n`5rh)pE?r@iDcPVf22<2&U|Uh5?~ZgBiO2R&&6x{{wMH?8E>7 delta 11620 zcmaia2Y3}#)9}t|d-rb2CJ+daz)b-oO+Z9igiBGBCMp6JB*uaWh>H4(NJ0-Cyucv6 zBS5&fJ3}e6?r_b!USg?#S~|T;^EwQKg?vRiSou*=LX}P@lQ+^ zh%ghJBtvjvaHW8A2}VMomf1QoNmQ!_0Mr#sU`AlJS*A36Mm;$2ri?2i%;1iTG3w<7 zP*G8WP?{IG$phetu?s0#NGT7sdjbib0vTap+>&8oh7~Tty;hQCCB>B}A-sw)gBA)d zW|kBH^v`{swM{A~CoAH?FrbYPh7y*C*b+<#qRE0!nF5E|+{emxq)O%y?D=;EPpoPc z6iz{5(5xH`!(c9v83rf=JRb0REei~j>Si`tH@h&7s55FZ`_v;lUof*FRe?PwavBV7{QLsLp+)O0E- z{@io5Xj@g>D`uUypW&uiiAZ5enTp6FQK1_COc)m)cXwzWcY*xpg_l@@32j+IL^G>~ z@LEh*G_mOlg!|A6Tonlq2?SLs6=_B)k|-{fNkYUjNa$S7gW^Ij)iBCW@@584iRPhZ z+ITRfbWeqzk7>KhsCS69NO%51^@1c)mtbp96sf06xGQobc^>!idT9}NI5PyD00Z%~ z;bn!xQ(mLPtw91{cp%&pX~Y&OW!P^eI>n<48R22ltWX~kA|lo6-eMk0v|vVw;>jfZ zBzuZ`lzU#>BZz1ES(fFBI_-4;?8+IQut*+BRLd~#zUi@TI*8yC;dLKVlDvfFH`37r zTV44JHG2vai1EY_=>>!*zeGroo9N(p_vNzYK6G|qglb8Uy~1qd5hk%jhfW+frWdI_ zsfb4yq%fpPj$uDbOaAk59LF|g7zvp{z;ugtJo7j|gjFuG-DV%A8F_+zlxCc<*~e+d zc*)wP89M@v!#>H_W-))7vDIRA(u^$@tD9zMi`7dr7Fn!*nz7kpFQyrDID0A0n9Es% zG-EzzFQ*yvIC~|{*krMWX~ss2HA*u!SgdiHvEE`$(u{Q$Yno=Pwb-j^#%hZ-OEVT) z?6oxGzRg}wGe%nMjWpw)ZB4SlcrnSaFR4}59d%1xR4c6$YK3)QwOs9)Br`7A85z68 z=HPpSy-92mzuCXqxwf{oIPX2@J?lN=J?;I&d&;W=--TDGch9|=H}GtC?7n!2LStF!8iIr`}-zs~#y~JK*5AgQ$_Vr$~u2`3>`_|8Lq&dPIZU)T3<^Z$5*~{!{ z_AvLUV`_uSRL)crO;^*@R5e9SR1?&AHBOCHYh;&yJs(Vz<77bIv@fLEd&L%e z6TLUu>+RL{3VXgi$DSl6iT>U!Z*T8S>#B9xx?pXRKbk|#LFPcSw|PJvQ43)%yDtJe zBZ}1i;DZmcp^x`3>xOmRx@hfEOXOmi4Nv|CvWMP#-W%TQ-hs^hje-UCJiDje!_Ktt z2A+zHue?w$kfY$=zro@s?{x2A@lm!t+y2>}X|EIO#837Nd%8W%o*MX1WJ2^V?@sRy z?{@Dt?+ouWZ?4obFh4RTup-h6If2cQsck37v2vjJ&AMg3xSs9vtYdpUm-re_dg~FM z)~%i*4dD{E?kwTf}DZ7+zo( znfpJz^};|Wr^?G?#6a(8(bM~*cwn`5pLy17`ADr+t5o_FZ_sD!EAJ$T@NX&z95WR5>|t+36bft94mThOulcTVt=Zm)VO0U88Db+_7$3 zx2z5Frn;`Kstf9z`cuu}yW}BxLoQTnrgk zVPCP&+JDM3^0fRzo{}f!33*)R$(!<)ye;p@d-A?~ARo#{GE;R|JycKCOZ8EGRhH_f z`l|tIpcwiB-*kATl`gdJi1#P9Nm zydC$hvIu_tF|^b`}e=X_O^tk?s0mBt_|XW`q) z7F@|W^g+ES2;`Lb`a@IB>kIzeoPOVz2iTR9+wEBs&f@&itXWQKpE40Sr)Ne(pzZK@ zxRujq_zITu9d44vE0aIrGg6rFK?>Q;0g%W)=g_2Xg}?(K=Sk&@Ow_1>1hB<0;^_hh1|fF%UL*gS)stBxiNS)0cr$R%;^#Ma@`?#nA2o^%d(Iam~s6z7#+BK zeKXt+th><%x9x!lpwC||0*(HP&pGzL39w&@%bVr>|qw?spIfo3d} z$Ed<^Q%A)^ywK0Z!V#g%CqOZ#ZzRFf3}#^QQm_|aPJ+^~9y=#NCSG_7iWXgKy8CE2 zeZc9?5*Tgb2=GC&@-e(t3d&{7_l9xXrv&YJa5tsTbk^CA_tM24cnKAB2B8ifs>-(h z_n=eOlY??Bn?_kQ?LS8@Q2!j+*j?eE`Q*@k=KosnuKmwZ?w~#L$w5E3u7Rz6DX^Bq zIeoeeR0KGMvE|?-jMw+eL0uD$;-u%H7{2`+dlll0`aK>_c>od5l+jN4;O5f`b$2l$; z0twhS3yQL{0EsDQK7I&g?GWOvGlxpa{&;pALgB6`az? z5bT05RiFPE!mY5oW>97%>E0bJ7Q$B?R$-T1sO?=zllvllmXoX308o3O% z>h85T$LqV`KX~-MD6ZumNCo_KH+0o?_ChtXBD(8-SZBi=UH2sTUA*@nu#Lf4{l=dV zY3ldx!UE9gm!UXWA>HFD9QEh|_u+tmNh2<>WH^XXz)}cQ2UgnL1MZR5#z~wN!Ct_k z;GiA}%mZ*nPhjjlz&9+GtRHgn8eoY=$)*A1>Qs|W2KWW@Jgl?+kHxAc(E4O}N0Y(T zjZ#@W;2}SI3m?>C4_5TEILOvb{Hzy{&+KQovkt4^{nJY(8%T%q z(5}mt>5lbS5rNz4vWdEH12#;EA9;d_mm9MZSfeqU2S4J4#%v4xjKi9;Bs|iDEeMr2 zz|Z=vS6PaQb6T(z?9qayl1G9uEeSc-f|bSaR;+CDHVQE^l2igqQvMatj!d6HEbbH} zXQG{t(aYJ1X)RfG*otFYvc?3?wWM{bwPGLR`|pwVHhYg9)Dv5=(Gp9yVV&OnUHDf$ zWX@6HKTF_<@Mk?@&SBx7N8pg~ZzXV0IQwj8ukFvxZr39$| zQ3BL|kL~QXiIiJySQogczer<)0QQbdXD?LV3$FcxGMse24EH$uAdEeM`@z`@qutYZ zq6>bJ&RW4f+>*|!KTiXmoFIR|lXK9V|D3_?gQ*{|NqBjX*&l!ZfPJVNv}H}0uKOXA z97nceZ)??&RaUScYjkG6>Z|Qo42M$qj0a+L*jMZpknoFdSOrNvp6kk*(B-UziMrgI_C7mr-!mQmMQg1Ln(cL z3n#HI`glEIg3cUbY7ah~&8pxtli6LYoXyJVt#epzIHqN@w@U7ot{r8yX&&wje{%K& z!`*$idKl(qv*s`qtIT1Dy_d2#VKyFFN?gyz3BR%K1QM39-4PLF?owDyr?CIgBmTL* zzlv=FxQ*-Au!%4p+pc9VvdmbVx0aMUu!1LnHIDniexN{L_Z2Kg?^($|;&@{j>xtFZ z@`h}t#J+2JHHW&fNZZG3lNNBsbL`+1r3xM*6K~k>=et&0=sNKq(lfl`B2SI0!sc<( z1?sVYmI!m)i-1*Ov)#%SCG%S;=|!z9jHWjHgali6B;(Eq5f4dt*#(Ih9!bE5Wn54k zUv@zpeoWx+RcZz2vBEs=Jl_0yG9S|rYW0ShZma!wE3OR9bSwlOgg`MTIDNGcXyJ$~ zh|_tFXaRI#RE-uRD+Rfxnfd{x>*Rt5i;lJkn3W#zUeTZ(dPX2wgsbt*!`w4mo9w6v4LZD3u ze2`!3GDNj)^U;(L+CCpG8$vtfqZLAE=X|ts2>nk!TGf{koU3a-UNh93NuI91_NPG_ zT-s>0UT&33Q@s$L^%!pu!UsOa8-?(pkMUPS`0&U08zFp@i_>(8V;?uX6RMc#;s>e4 zJw6w<#0p;Vf?k--N8Y8-d}BW%DZG z?diNX6xH2kP>L|_u}G78q8#k;B~ApBRG8n z*=d-sy_-lbJoDWkO*!-RADh`__EZ6vT<-4?WRWZjF(C;r=#TLUKYOuQsJSQJ+s3xR zG`(p%TLF5AGbC8DH=`p-*+-V}$;?E$=9GrF33T>L1?a6D5ASfHy9*oAlks+WC#@hCwlo z-$*dXTItFycx$EWH{(~Nj;YJv5xPe$9^m?en!GsI2~~JqrKeZm-%0&rc^=O2`SSdI z-TG;MP~gV3yoRn-l9v#AUjqMx>#4>0Bc_)W;^#~q8^tF}eJX-iX4o}?x7Gc3vVKLO z0v5c$YC}cc`~o`#`2Jo#1oq$-OO(RceKcKMVbL)LQ!Oz#RNY43Y9gvxq|Oyvk`U?c zZ;4CcJjMSse$iIcr;8`Itw?~|`cPZZUKB|7mvrS}EX5l26J;@fDgRU0s)Kl)`ekMq=(#K2LUV96y>~`Bqg-F{_cRE)D*dNr6i_O`XwQ#9X>(Yfp2sa z<*kRV5|Cm&!T}w{6wFH%<*fU`I_7_Xgg5Z?ga3i1EBERK!(uA7XpX z%UO5xJ9C`O`B4bNOhHN#juQl#z6e|@ctwcBOM>@|r+bJ_n32_J=f=-|H%4-IC%Hkm zVPm&kUJmZ)*}43TiDkohS$5mNx59X753%AJLJJ3m@d_TgQC-Zd*M#w0z{p#ytX08f zg8Oe7y521|4A?Y|C1>*TQKbGZbAJ(y9)dRw{lQG$6-eQZ&*JYf(q(@(?~J03sKYi( z-Jp*6o)w$HgD$wMXPMw$(=LrGXxU8A`){-FnD=@<&o>Nw=N@|rR^rrqq;oUy!~1M= z@(M}`xI<3S?Ou?Er?B?H2~$|x`r)pl?<`mN#sijGVVRq1aegB|+F7dd7i#bP>K2_P zR7-QXM#OLy2Rr8C$_K1Oq*lS8H54Z-Qh50Rn~mSEV5Qg^rKhc6EtxL=nb^v(*;}H5 zzW2G9Q4qG^ls=*+Y}R>wL`w$8bhUnhzIYr){{Zn^2o%Ag14LY?9ETeRh$4^c?}zGP zkVwGl14Sh~F+fCPw}GO--=zpK`o|)*@c00#qXvgb-T!$qm&!{jQ^33}Q&)2u`~nN#2k zZjBpzyBl=`oaLA~Toi?+ddzTfia{=BqIgYvhKl+ecOkKphZj&J*6zoOl6U61?0)8i z5ZB@N^AO@%B0u*(+``BUPIVQ|aB`X7uoEbGLotuUuH(chn55Ij3-Y*|juPdi?le(6 z063{TP8KTw{={ddism?Jy0{G|aP$l@4f^TYKM`^87rs4H6vJLq#WxgX-=8X8gFM}I z8Uc6(CruG4IANwpR22SZu&y{MTNKurvqcnH@R{Nk*n6NTCE!e-$H~UkKZ}VtEL(Jj zd#L7!dK67JoFmr3a2-8Yd;%2Vcbz9j^8%Ya(x2PM%|_S>JeaZKIiV#Fn^p|gH(ujj^M%dqADEG(Hq2ej<@#+KaAGZ_lo&UAKxqrTl)NdH}LrNkT?y| zC*5o&35CbstzC|D5}d~R>H)C{@W>G{l!)qZR5Z15!4cZ+rGJW7b>*|JQv8mC&WmIM zznm8h;dlM;ym-wdwApn!xLw%(y2!(@vm!+|x*=8pb%?wvY=9NI*ey|!>*e?8iyNgU z7rvcfn-m^xp;xl9b;G-KLU`q&C^I5lmV=!OYshAdyud+B(pS#)dIXmvOf2?DTzkSp z5TJK06iYm20LWGLo7f>tev8Y(q{0CaGD5cvlViZ9^i3$;=v>0*Y&pT28SL%(cmG3h zTz?cPlK>AovOOHb5(Q*a91$gl5PQLL=V&<#lcVLU*s*|IgT)I_sYgM104o)g<*>CQ zlWjK-ks0YVO#YsU%_+;k-H%u~o(#_4;e%84isp55v zOOSuSHDrnMWw?Tk66IHL6;~z75tWYtc|x)65`&i431UvWM3XYwMhNq?OC<9_r{cCz zH5G6`lDth9aIa*U0Jm^@vV4i%G<8f#*_h*%WLZkTpCVgIc!0l_lSSa6-dj#m_Whm~ z&&UD{W?^ha`7u1g%!)F-!q1)r_jV>Fqq~U&kLcY-ks0^vOW=I#wm54&6x4o7Tf&@7 z4;H8-%d75gzoYn4C7Bz4kBFjPJzYD;oVzZGcX%-V24|m+dsb39zYjL6EDJ(k{HU@V zfvc;?j+B0_^t{Z2pRhnxxf=T6{;IMUWZ^s2WL@Zu6RXKulrqSxCdcV}mE~fHI7bGA zm*Ep#kgTw4bvYG=U_uQU3xlzG4OzlFi0D?X(VL0sHDqlVh*N9Gr(ghXsUbVT513k0 zmiHVaLqhS{0sOM2ED59V$C|QY)NVJ>-C(qHniC9b=ZwU|HDxJ4WT~=>XMf17@6)wY zWkv9eaTyiPDg5>YSzDLz%L7a=enG|njM3X`$yWg?;oA-5)0j|?j{6jTT2GFn)Tvcp z{=i@yj(tg9h&jaVCcrZMncy^|vp1aM+?k5w8pvVf20!z%ECVpZO<6YroY7E5TL)aK ziLisXsv+fsr+f4_P2?CxX|V#$29T*~0QqV-D_r zQv>(al@wn14J)S0=lD{OjU^7t zLYR>*OTe#sLb~itxl1hhp}Y^PbmB)c89?ioK9=N==Y1oGvgkZ_JzAJ9R==+uEtrQr zy2uPNZ|pnjou{ArPHq7G%BS)TccuyLWgJ|Wm5+w_n@GEwPs0a=%k`71wCPL9C&0a*=qOqCb$)HK00&ZVIYIIWHS|Ycr!pFfEMdzOw z3>WLYNQWQmlVn7Xu9R=dzgtOVQrHu%P1eiu|84!(SfsIU=rdd7E{<<3kfm_Tb~ze5 z@05p0d0*W{nz#bL*(E2lM;^@GArtZA-Eu(;Ia1775BbM%laiZsYhkh7vJqC?BmFpf zj~oaq^;3JvqO+qg@_{IVA0CxuBY!e|Q9Fj+Wr{EuEQ38efx%al9eHa@2EcRb~h~@fg|HTJe zp^W+C{)6<;({eU_2+^s3$_OAU)#$8@vwOIb=Bk;q7{5F#--g9{`&oIDTkA+aL)F_Z zl7t8J`HQkOC`G-A`DM>SGPb`gzt**{%I7KOb!i`g-(Qnm$kn=iO;%AM`>ZQpmun>q z!@IZTEBeG`x=7;gyEf)VpSir9KO+=<7|v~8l!UjBg(a@aIBb7Mo`FmHjk`2A4AcYf zxmKs%9oo3~hq9x@gItw`^QeRxLj+G2>RG@6Ts6VHk*WdQ#o~^tN?+DmII2GoJQ1bt zhmq@WthlNMr?E&0wT8g&B~U{!dLg1AI z`m>QSiaOlIiixTeP1iC}y$K6&ZlW3v58cc~F^qm+JNltemQ9>kdik zl!g7Os&6p%Mb%zEsH2MUg39n0qCa~h5EB9g9Hx7|s3`c#9oaxFA%*$1f!YC%9{sYK z1h}uEYKnCls^LY8hK||&7)_tVNZ-xR{fAV$s4xSa#%dqdZlreV(~VUl&}q%p4Niys zW-IkBR%)salII=vs>&oV=vCFJKyOt)+`U$n|4}3zVVh6MzBZEqLS6AIH)M^X%YqP7OKWy8Ng}bRyuz$w9ZYmy*>G@;mPtNkUQ`2_R z#%-X#rJ(OigBPhDTF+AD03EGy8ZdPAXEV)a)j}a?~r0x4vH1_#b zt=6aas98ei>{4Ywe||(AE5N zihgjxalIx_T?6t+Q`V~*cq!ESqS!#-2$pfdVLX14z#;s01JQpF$7~>W z4!Atlz`>`~*R<2bXboNa50Y9+)CAew9b{7zo6QAjQibzs5zvkhd{d`hR3A!x;->1# zaPl=Z9tLUubv22*;!M%jU$fP2k8XWO%>Ye)dJjof-ydTZBy(Oq!W_Wxr%Gl`>=Z|K z&sU5|+)%L6=|IS>$h}r(%!@~Uk zk71e!YHwpstoeg(lw!sRom-av;*b1Ar=0nw{;ixzA<0GUf8P8t$l9a7k;M*8>(n<( zVMo8&8Ru0upANN+;(zxcivJ##^}YEJMNW;ZwM;OdrUOKrVlhH)&`%6y6TIlYxRo&JuIOfr1|*eJB;ee(*}CEhcy z0)32&N;BsYSea%vAmw}tblLlApGR-`%%sF+$FIy>-Qx@M0>i{_%xGQpYt!bu6EKYL zX%^9wx|-2K*ZtP4!|CrF-D`zb=nnc!4|6Z*<(cNwj1@Jocu%viey_K=*@L%wnN8hf zTqJ1oV{@&CKEWm_tTM_hPA0PXD2ntB70};|GV@FwJ;S^YvR9n_o4^T^%~$o$6U{3C zK0S7_`6bX79%rg~5=!bDQ_UhwN6a)kaQrUYTt1`AY!h_#IcDYfqF{s`MxeGbjLa88 Ocvb Date: Tue, 7 Apr 2020 18:23:44 +0200 Subject: [PATCH 9/9] Improvements in the NFT examples - switched to camera_para.dat - simplyfied code for Fullscreen - better end loading --- .../main_threejs_wasm_worker.html | 2 +- .../main_threejs_worker.html | 2 +- .../threejs_wasm_worker.js | 27 +++++++++---------- .../nft_improved_worker/threejs_worker.js | 27 +++++++++---------- .../threejs_worker_gltf.js | 13 ++------- 5 files changed, 30 insertions(+), 41 deletions(-) diff --git a/examples/nft_improved_worker/main_threejs_wasm_worker.html b/examples/nft_improved_worker/main_threejs_wasm_worker.html index ef5a18fa..165abb72 100644 --- a/examples/nft_improved_worker/main_threejs_wasm_worker.html +++ b/examples/nft_improved_worker/main_threejs_wasm_worker.html @@ -6,7 +6,7 @@ - +

Loading, please wait diff --git a/examples/nft_improved_worker/main_threejs_worker.html b/examples/nft_improved_worker/main_threejs_worker.html index e32cf5ca..a5867668 100644 --- a/examples/nft_improved_worker/main_threejs_worker.html +++ b/examples/nft_improved_worker/main_threejs_worker.html @@ -6,7 +6,7 @@ - +
Loading, please wait diff --git a/examples/nft_improved_worker/threejs_wasm_worker.js b/examples/nft_improved_worker/threejs_wasm_worker.js index 96003287..9f58bab4 100644 --- a/examples/nft_improved_worker/threejs_wasm_worker.js +++ b/examples/nft_improved_worker/threejs_wasm_worker.js @@ -56,7 +56,7 @@ function start2(container, marker, video, input_width, input_height, canvas_draw var w, h; var pw, ph; var ox, oy; - var camera_para = './../../Data/camera_para-iPhone 5 rear 640x480 1.0m.dat' + var camera_para = './../../Data/camera_para.dat' var canvas_process = document.createElement('canvas'); var context_process = canvas_process.getContext('2d'); @@ -97,14 +97,7 @@ function start2(container, marker, video, input_width, input_height, canvas_draw sw = vw * sscale; sh = vh * sscale; - video.style.width = sw + "px"; - video.style.height = sh + "px"; - container.style.width = sw + "px"; - container.style.height = sh + "px"; - canvas_draw.style.clientWidth = sw + "px"; - canvas_draw.style.clientHeight = sh + "px"; - canvas_draw.width = sw; - canvas_draw.height = sh; + w = vw * pscale; h = vh * pscale; pw = Math.max(w, h / 3 * 4); @@ -140,11 +133,17 @@ function start2(container, marker, video, input_width, input_height, canvas_draw } case "endLoading": { - if (msg.end == true) - // removing loader page if present - document.body.classList.remove("loading"); - document.getElementById("loading").remove(); - break; + if (msg.end == true) { + // removing loader page if present + var loader = document.getElementById('loading'); + if (loader) { + loader.querySelector('.loading-text').innerText = 'Start the tracking!'; + setTimeout(function(){ + loader.parentElement.removeChild(loader); + }, 2000); + } + } + break; } case "found": { diff --git a/examples/nft_improved_worker/threejs_worker.js b/examples/nft_improved_worker/threejs_worker.js index 7f5d36eb..d1183936 100644 --- a/examples/nft_improved_worker/threejs_worker.js +++ b/examples/nft_improved_worker/threejs_worker.js @@ -49,7 +49,7 @@ function start(container, marker, video, input_width, input_height, canvas_draw, var pw, ph; var ox, oy; var worker; - var camera_para = './../examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat' + var camera_para = './../examples/Data/camera_para.dat' var canvas_process = document.createElement('canvas'); var context_process = canvas_process.getContext('2d'); @@ -90,14 +90,7 @@ function start(container, marker, video, input_width, input_height, canvas_draw, sw = vw * sscale; sh = vh * sscale; - video.style.width = sw + "px"; - video.style.height = sh + "px"; - container.style.width = sw + "px"; - container.style.height = sh + "px"; - canvas_draw.style.clientWidth = sw + "px"; - canvas_draw.style.clientHeight = sh + "px"; - canvas_draw.width = sw; - canvas_draw.height = sh; + w = vw * pscale; h = vh * pscale; pw = Math.max(w, h / 3 * 4); @@ -134,11 +127,17 @@ function start(container, marker, video, input_width, input_height, canvas_draw, break; } case "endLoading": { - if (msg.end == true) - // removing loader page if present - document.body.classList.remove("loading"); - document.getElementById("loading").remove(); - break; + if (msg.end == true) { + // removing loader page if present + var loader = document.getElementById('loading'); + if (loader) { + loader.querySelector('.loading-text').innerText = 'Start the tracking!'; + setTimeout(function(){ + loader.parentElement.removeChild(loader); + }, 2000); + } + } + break; } case "found": { found(msg); diff --git a/examples/nft_improved_worker/threejs_worker_gltf.js b/examples/nft_improved_worker/threejs_worker_gltf.js index a6669e67..cfae5974 100644 --- a/examples/nft_improved_worker/threejs_worker_gltf.js +++ b/examples/nft_improved_worker/threejs_worker_gltf.js @@ -53,7 +53,7 @@ function start( container, marker, video, input_width, input_height, canvas_draw var pw, ph; var ox, oy; var worker; - var camera_para = "./../examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat"; + var camera_para = "./../examples/Data/camera_para.dat"; var canvas_process = document.createElement("canvas"); var context_process = canvas_process.getContext("2d"); @@ -70,8 +70,6 @@ function start( container, marker, video, input_width, input_height, canvas_draw var camera = new THREE.Camera(); camera.matrixAutoUpdate = false; - // var camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 1, 1000); - // camera.position.z = 400; scene.add(camera); @@ -115,14 +113,7 @@ function start( container, marker, video, input_width, input_height, canvas_draw sw = vw * sscale; sh = vh * sscale; - video.style.width = sw + "px"; - video.style.height = sh + "px"; - container.style.width = sw + "px"; - container.style.height = sh + "px"; - canvas_draw.style.clientWidth = sw + "px"; - canvas_draw.style.clientHeight = sh + "px"; - canvas_draw.width = sw; - canvas_draw.height = sh; + w = vw * pscale; h = vh * pscale; pw = Math.max(w, (h / 3) * 4);

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;yb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;yb=w;return v|0}}c[(mx()|0)>>2]=48;v=0;yb=w;return v|0}function EO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function FO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=DO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;_O(a|0,0,d|0)|0;return a|0}function GO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=DO(b)|0;return b|0}if(b>>>0>4294967231){c[(mx()|0)>>2]=48;b=0;return b|0}d=HO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=DO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;YO(d|0,a|0,(e>>>0>>0?e:b)|0)|0;EO(a);b=d;return b|0}function HO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;IO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;IO(i,k);return a|0}return 0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function JO(a){a=a|0;var b=0,d=0;b=TO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){c[(mx()|0)>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){c[(mx()|0)>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function KO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function LO(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=KO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function MO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function NO(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 (E(d|0),a-c>>>0|0)|0}function OO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|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,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 (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(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 (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(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|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=OO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((OO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(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 (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=MO(m|0,l|0,-1,-1)|0;d=F()|0;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;NO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=NO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){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 (E(o|0),p)|0}function QO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return PO(a,b,c,d,0)|0}function RO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function SO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function VO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=GO(d|0,8*(e+1|0)|0)|0;d=VO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function XO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function ZO(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 YO(b,c,d)|0;return b|0}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function $O(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function aP(a,b){a=a|0;b=b|0;return +Bb[a&3](b|0)}function bP(a,b,c){a=a|0;b=b|0;c=c|0;return +Cb[a&1](b|0,c|0)}function cP(a){a=a|0;return Db[a&1]()|0}function dP(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function eP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function fP(a,b,c){a=a|0;b=b|0;c=c|0;return Gb[a&63](b|0,c|0)|0}function gP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hb[a&63](b|0,c|0,d|0)|0}function hP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ib[a&15](b|0,c|0,d|0,e|0)|0}function iP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Jb[a&7](b|0,c|0,d|0,e|0,+f)|0}function jP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Kb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function kP(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;return Lb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function lP(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 Mb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|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;return Nb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function nP(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;return Ob[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function oP(a){a=a|0;Pb[a&1]()}function pP(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function qP(a,b,c){a=a|0;b=b|0;c=+c;Rb[a&3](b|0,+c)}function rP(a,b,c){a=a|0;b=b|0;c=c|0;Sb[a&63](b|0,c|0)}function sP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Tb[a&3](b|0,c|0,+d)}function tP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&3](b|0,c|0,d|0)}function uP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vb[a&31](b|0,c|0,d|0,e|0)}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;Wb[a&63](b|0,c|0,d|0,e|0,f|0)}function wP(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&7](b|0,c|0,d|0,e|0,f|0,g|0)}function xP(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;Yb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function yP(a){a=a|0;D(0);return 0.0}function zP(a,b){a=a|0;b=b|0;D(1);return 0.0}function AP(){D(2);return 0}function BP(a){a=a|0;D(3);return 0}function CP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function DP(a,b){a=a|0;b=b|0;D(5);return 0}function EP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function FP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function GP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function HP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function IP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function JP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function KP(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;D(12);return 0}function LP(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;D(13);return 0}function MP(){D(14)}function NP(a){a=a|0;D(15)}function OP(a,b){a=a|0;b=+b;D(16)}function PP(a,b){a=a|0;b=b|0;D(17)}function QP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function RP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function SP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function TP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function UP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}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;D(23)} +function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|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[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|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;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-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;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;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[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;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[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,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=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,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=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(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;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|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,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=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(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;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|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;return}function Jg(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;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(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;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|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;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} +function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(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;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|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;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|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;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(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;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|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,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|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,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}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,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,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=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|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;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return}function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return} +function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}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,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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,N=0,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=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;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;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 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,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0}function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return} +function Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;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,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function Qw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function Rw(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5504+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5632+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Sw(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function Tw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?25:26;c[f+8>>2]=139;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))Ww(a);c[f+36>>2]=0}}else{c[f+4>>2]=24;c[f+8>>2]=138;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function Vw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function Ww(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function Xw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function Yw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;bx(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}bx(d,q);bx(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function Zw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){ax(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function _w(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){ax(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function $w(a){a=a|0;return}function ax(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return}function bx(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function cx(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function dx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);ev(a);Ea(1)}function ex(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function fx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function gx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function hx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function ix(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{Hw(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function jx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,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;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,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;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){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 Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(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|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){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 ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|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,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,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;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{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}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)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);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;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+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function mB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return} +function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;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;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(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;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(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;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,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=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} +function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(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;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}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,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=115;c[f+8>>2]=116;if(!(c[a+224>>2]|0)){e=f+68|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[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function Nt(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;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?37:38;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Tt(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Tt(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?33:34):o?35:36;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Tt(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Tt(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Ot(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Pt(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Wt(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Xt(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Wt(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Qt(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Wt(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Xt(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Wt(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Rt(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Wt(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function St(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Wt(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Xt(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Wt(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Wt(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Wt(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Tt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Ut(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Wt(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Xt(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Wt(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Wt(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Wt(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Xt(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Wt(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Wt(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Xt(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Wt(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Vt(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Wt(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Xt(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Wt(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Wt(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Wt(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Xt(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Wt(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Wt(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Xt(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Wt(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Wt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Xt(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Wt(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Wt(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Yt(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function Zt(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function _t(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function bu(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function cu(a,b){a=a|0;b=b|0;return FO(b)|0}function du(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function eu(a,b){a=a|0;b=b|0;return FO(b)|0}function fu(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function gu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function iu(a){a=a|0;return 0}function ju(a){a=a|0;return}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}lu(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=Yt(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=Yt(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(mu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function lu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=Yt(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=Yt((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=Yt(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=Yt((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=Yt((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=Yt((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=Yt(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=Yt((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=Yt((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=Yt((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=Yt((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=Yt((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=Yt((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=Yt(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=Yt(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=Yt(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=Yt(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function mu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function nu(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=117;c[e+8>>2]=118;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function ou(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;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=119;c[i+8>>2]=120;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=84;c[i+12>>2]=40;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=Zt(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=Zt(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=83;c[i+12>>2]=39;c[i+16>>2]=b;return}function pu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function qu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=41;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=39;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function ru(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;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function tu(a){a=a|0;return 0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function vu(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){$t(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function wu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=42;k=l;break}else{c[f>>2]=43;k=l;break}else if(e){c[f>>2]=44;k=l;break}else{c[f>>2]=45;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=46;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function xu(a){a=a|0;return}function yu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Du(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Du(e,g+1|0)|0;i=g+2+m|0;g=Du(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Du(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Du(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Du(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function zu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Du(e,g)|0){r=36;break}j=h+1|0;if(!(Du(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Du(e,i+4|0)|0)){i=g;h=j}else break}}k=Du(e,l)|0;i=g+2|0;g=Du(e,i)|0;if(g){if(Du(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Du(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Du(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Du(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Au(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Du(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Bu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Du(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Du(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Du(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Du(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0}function Cu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Du(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Du(e,g+1|0)|0;i=g+2+m|0;g=Du(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Du(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Du(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Du(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Du(e,h)|0)break b;j=g+1|0;if(!(Du(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Du(e,i+4|0)|0)){i=h;g=j}else break}}k=Du(e,s)|0;h=h+2|0;i=Du(e,h)|0;if(i){if(Du(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Du(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Du(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Du(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Du(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Eu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Fu(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Gu(a);Hu(a);c[a+20>>2]=200;return}function Fu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=iu(b)|0;c[g>>2]=e;f=cu(b,84)|0;if(!f){ju(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=121;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=47;c[f+40>>2]=122;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Gu(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=123;c[d+4>>2]=85;c[d+8>>2]=86;c[d+28>>2]=87;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=87;c[d+104>>2]=0;c[d+40>>2]=87;c[d+108>>2]=0;c[d+44>>2]=87;c[d+112>>2]=0;c[d+48>>2]=87;c[d+116>>2]=0;c[d+52>>2]=87;c[d+120>>2]=0;c[d+56>>2]=87;c[d+124>>2]=0;c[d+60>>2]=87;c[d+128>>2]=0;c[d+64>>2]=87;c[d+132>>2]=0;c[d+68>>2]=87;c[d+136>>2]=0;c[d+72>>2]=87;c[d+140>>2]=0;c[d+76>>2]=87;c[d+144>>2]=0;c[d+80>>2]=87;c[d+148>>2]=0;c[d+84>>2]=87;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=87;c[d+160>>2]=0;c[d+32>>2]=88;c[d+88>>2]=88;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Hu(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=89;c[b+4>>2]=124;c[b+8>>2]=125;c[b+12>>2]=126;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=Yt(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=Yt(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=Yt(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=Yt(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=Yt(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){Ku(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Ju(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=89;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=Yt(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=Yt(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function Lu(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=89;return}function Mu(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Nu(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Su(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!(Tu(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!(Tu(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!(Tu(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!(Tu(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!(Tu(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=bu(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=au(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Su(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Pu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Qu(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{Ru(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function Ru(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function Su(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Tu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function Uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15924:15932)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=cu(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=cu(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=eu(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Wu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Uu(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Vu(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Xu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Uu(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Vu(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Yu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Uu(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Zu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Uu(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function _u(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;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=gu(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;hu(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Uu(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=eu(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;hu(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Uu(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=eu(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function $u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0} +function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(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;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|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,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}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;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(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,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(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;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}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,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|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,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|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,i=0,j=0,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=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;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,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|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[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}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,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,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;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,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;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|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;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|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;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}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,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,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,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;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+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} +function av(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;fu(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;du(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function cv(a){a=a|0;var b=0;bv(a,1);bv(a,0);b=a+4|0;du(a,c[b>>2]|0,84);c[b>>2]=0;ju(a);return}function dv(a){a=a|0;ev(a);return}function ev(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function fv(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=hv(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}fv(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function hv(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function iv(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);fv(a);a=1;return a|0}function jv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=127;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function kv(a){a=a|0;return}function lv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;_t(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function mv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function nv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function ov(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function pv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function qv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function rv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function sv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function tv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=128;c[d+12>>2]=90;c[d+16>>2]=48;c[d+20>>2]=47;c[d+24>>2]=129;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function vv(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function wv(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function yv(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;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Su(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function zv(a){a=a|0;return}function Av(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=49;c[t+8>>2]=130;c[t+12>>2]=131;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15940+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;Ev(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function Bv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=9;return}else{c[b>>2]=10;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?11:12;c[j+48>>2]=0;if(!(c[j+28>>2]|0))Ev(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5248+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=13;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function Cv(a){a=a|0;return}function Dv(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function Ev(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function Fv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function Gv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function Hv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function Iv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function Jv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function Kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=Zt(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function Lv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=1;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=2;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=3;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Mv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Nv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Ov(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function Rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function Sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function Yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function Zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function _v(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function $v(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function aw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function bw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function cw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function dw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function ew(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function fw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function gw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function hw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function iw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function jw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function kw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function lw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function mw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function nw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function ow(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function pw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function qw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function rw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function sw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function tw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=132;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=4;c[b+12>>2]=14;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=5;c[b+12>>2]=15;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function uw(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function vw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{_t(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function ww(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function xw(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;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function yw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function zw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=133;c[d+4>>2]=6;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=16;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=17;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=18;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=19;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=20;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=Zt(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function Aw(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Bw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Ew(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Fw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}_t(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Gw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}_t(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Hw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=134;c[i+4>>2]=135;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}ku(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=mu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){Av(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;Kw(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){jv(b);zw(b)}else tw(b);Kv(b,c[b+108>>2]|0)}Lw(b);if(!(c[b+228>>2]|0))Mt(b);else nu(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;ou(b,d);if(!(c[e>>2]|0))Mw(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function Iw(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function Jw(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=51;c[e+12>>2]=136;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;Ww(a);return}function Lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=137;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function Mw(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;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=52;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function Nw(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;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=22;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=21;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=23;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}} +function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(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;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(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;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(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;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|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;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}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,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(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;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=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]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,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;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|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;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|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;kl(b+4|0,e,96);return}function bl(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;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|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;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>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[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(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;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(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;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} +function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(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;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0