a Bluesky client for PICO-8 picosky.vinnymac.dev
pico-8 simulation bluesky games
19

Configure Feed

Select the types of activity you want to include in your feed.

v0.3 and prep tangled.sh

Vincent Taverna (Jun 10, 2026, 5:27 AM UTC) 349ade70

+9692
+12
.gitignore
··· 1 + # PICO-8 export staging + e2e screenshots (regenerate with `make build` / `make e2e`) 2 + build/ 3 + 4 + # toolchain (managed by mise + pnpm; see mise.toml / requirements.txt) 5 + .venv/ 6 + node_modules/ 7 + 8 + # Wrangler local cache (build artifacts, account metadata) 9 + .wrangler/ 10 + 11 + # Cloudflare Pages deploy output (generated by `make dist`) 12 + dist/
+14
.tangled/workflows/deploy.yml
··· 1 + when: 2 + - event: [push] 3 + branch: [main] 4 + engine: nixery 5 + dependencies: 6 + nixpkgs: 7 + - nodejs 8 + - nodePackages.pnpm 9 + - gnumake 10 + steps: 11 + - name: deploy 12 + command: make deploy 13 + env: 14 + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+19
ATTRIBUTIONS.md
··· 1 + # Attributions 2 + 3 + ## m3x6 Font 4 + 5 + **m3x6** by [Daniel Linssen (managore)](https://managore.itch.io/m3x6) 6 + 7 + A narrow 3-pixel-wide bitmap font used for post bodies and the compose draft 8 + in picosky. Licensed for free use - please credit the author if you use it in 9 + your own project. 10 + 11 + ## Bluesky 12 + 13 + Real-time post and like data is streamed from the 14 + [Bluesky](https://bsky.app) firehose. 15 + 16 + ## PICO-8 17 + 18 + picosky is built on [PICO-8](https://www.lexaloffle.com/pico-8.php) by 19 + [zep](https://www.lexaloffle.com) (Josep Valls-Vargas).
+21
LICENSE
··· 1 + MIT License 2 + 3 + Copyright (c) 2026 Vincent Taverna 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy 6 + of this software and associated documentation files (the "Software"), to deal 7 + in the Software without restriction, including without limitation the rights 8 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 + copies of the Software, and to permit persons to whom the Software is 10 + furnished to do so, subject to the following conditions: 11 + 12 + The above copyright notice and this permission notice shall be included in all 13 + copies or substantial portions of the Software. 14 + 15 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 + SOFTWARE.
+155
Makefile
··· 1 + # picosky - common development tasks. Source lives in src/ (src/*.lua modules + 2 + # src/cart.p8, which #includes them and holds the gfx/label/sfx/music data). The 3 + # root picosky.p8 / picosky*.js are BUILD OUTPUT, generated by `make build`. 4 + # `make` or `make help` lists targets. Override any variable on the command line, 5 + # e.g. `make build PICO8=/usr/bin/pico8` or `make serve PORT=9000`. 6 + 7 + # --- config ------------------------------------------------------------------ 8 + PICO8 ?= $(HOME)/.local/pico-8/pico8 9 + P8HOME ?= /tmp/p8home 10 + SHRINKO8 ?= python3 tools/shrinko8/shrinko8.py 11 + # Tokens are picosky's binding budget (~90%); chars (~30%) and compressed (~55%) 12 + # have headroom. --focus-tokens trades a little compressed size for ~140 fewer 13 + # tokens per cart, so the .p8/.js outputs (and `count`) use it. The .p8.png 14 + # targets stay on the default (compressed-focused) minify - their limit is the 15 + # compressed ROM size, not tokens. 16 + MINIFY ?= --minify --focus-tokens 17 + # CART = source cart (#includes src/*.lua + holds the gfx/sfx/music data). 18 + # OUT = built standalone demo cart (BUILD OUTPUT). Inline `#` comments are kept 19 + # verbatim in Make values, so these are on their own lines (CART/OUT are file 20 + # prerequisites below - trailing whitespace would break the rules). 21 + CART ?= src/cart.p8 22 + SRC := $(wildcard src/*.lua) 23 + OUT ?= picosky.p8 24 + EXPORT ?= picosky.js 25 + DEMO_EXPORT ?= picosky-demo.js 26 + ZIP ?= /tmp/pico8.zip 27 + PORT ?= 8080 28 + HEADLESS_ENV = SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy 29 + 30 + .DEFAULT_GOAL := help 31 + 32 + # --- help -------------------------------------------------------------------- 33 + .PHONY: help 34 + help: ## Show this help 35 + @grep -E '^[a-zA-Z0-9_-]+:.*?## ' $(MAKEFILE_LIST) \ 36 + | awk 'BEGIN{FS=":.*?## "}{printf " \033[36m%-14s\033[0m %s\n",$$1,$$2}' 37 + 38 + # --- dev loop ---------------------------------------------------------------- 39 + .PHONY: serve 40 + serve: ## Static dev server on 127.0.0.1:8080 (LAN=1 to expose on network, HOST= to pick interface) 41 + PORT=$(PORT) node serve.js $(if $(LAN),--lan,) $(if $(HOST),--host=$(HOST),) 42 + 43 + # --- cart build -------------------------------------------------------------- 44 + # Source is src/cart.p8 (#includes src/*.lua + the gfx/sfx/music data). Two web 45 + # carts come from it: shrinko8 minifies and sets the per-cart ONLINE flag (online 46 + # = real client; demo = self-contained lua mock feed, no js data bridge), then 47 + # headless PICO-8 exports each to JS. The root picosky.p8 is BUILD OUTPUT too - 48 + # the minified standalone demo cart (online can't run without the js bridge). 49 + $(OUT): $(CART) $(SRC) 50 + $(SHRINKO8) $(CART) $(OUT) $(MINIFY) --const ONLINE false 51 + @echo "built $(OUT) (standalone demo cart)" 52 + 53 + $(EXPORT): $(CART) $(SRC) 54 + @mkdir -p build $(P8HOME) 55 + $(SHRINKO8) $(CART) build/online.p8 $(MINIFY) --const ONLINE true 56 + cd build && $(HEADLESS_ENV) $(PICO8) -home $(P8HOME) online.p8 -export "picosky.html" 57 + cp build/$(EXPORT) $(EXPORT) 58 + @echo "built $(EXPORT) (online)" 59 + 60 + $(DEMO_EXPORT): $(CART) $(SRC) 61 + @mkdir -p build $(P8HOME) 62 + $(SHRINKO8) $(CART) build/demo.p8 $(MINIFY) --const ONLINE false 63 + cd build && $(HEADLESS_ENV) $(PICO8) -home $(P8HOME) demo.p8 -export "picosky-demo.html" 64 + cp build/$(DEMO_EXPORT) $(DEMO_EXPORT) 65 + @echo "built $(DEMO_EXPORT) (demo)" 66 + 67 + .PHONY: build build-online build-demo cart 68 + cart: $(OUT) ## Build the standalone demo cart -> picosky.p8 69 + build-online: $(EXPORT) ## Export the online cart -> picosky.js 70 + build-demo: $(DEMO_EXPORT) ## Export the demo cart -> picosky-demo.js 71 + build: $(OUT) build-online build-demo ## Build root cart + export both web carts 72 + 73 + # --- asset generation -------------------------------------------------------- 74 + .PHONY: avatars 75 + avatars: ## Re-fetch + bake real Bluesky avatars into __gfx__ 76 + node tools/fetch-avatars.js 77 + python3 tools/bake-avatars.py 78 + 79 + .PHONY: images 80 + images: ## Convert fox + npmx source images to PICO-8 hex strings (paste output into actions.lua) 81 + @echo "fox_hex:"; .venv/bin/python3 tools/gen-image.py tools/fox-reference.png 82 + @echo "npmx_hex:"; .venv/bin/python3 tools/gen-image.py tools/npmx-logo.png 83 + 84 + .PHONY: icons 85 + icons: ## Inject stats (reply/repost/heart 8-10) + footer (compose/refresh/quote 12-14) icons into __gfx__ 86 + python3 tools/gen_icons.py $(CART) 87 + 88 + .PHONY: label 89 + label: ## Regenerate the cart __label__ from its butterfly sprite 90 + python3 tools/gen_label.py $(CART) 91 + 92 + .PHONY: web-icons 93 + web-icons: ## Regenerate favicons, app icons + Open Graph card from the page logo 94 + python3 tools/gen_web_icons.py 95 + 96 + # --- .p8.png exports (BBS / Splore) ------------------------------------------ 97 + .PHONY: png 98 + png: ## Build picosky.p8.png (demo+online, compressed ≤ 100%) 99 + $(SHRINKO8) $(CART) picosky.p8.png -f png --minify 100 + 101 + .PHONY: png-online 102 + png-online: ## Build picosky-online.p8.png (ONLINE=true, strips demo block) 103 + $(SHRINKO8) $(CART) picosky-online.p8.png -f png --minify --const ONLINE true 104 + 105 + # --- code checks (shrinko8) -------------------------------------------------- 106 + # Lint runs on the readable source (the only place its warnings are meaningful); 107 + # count runs on the minified per-cart builds - the budgets that actually ship. 108 + .PHONY: lint 109 + lint: ## Lint the cart source 110 + $(SHRINKO8) $(CART) --lint 111 + 112 + .PHONY: count 113 + count: ## Token / char / compressed budgets of the shipped carts (online + demo) 114 + @mkdir -p build 115 + @echo "online:"; $(SHRINKO8) $(CART) build/online-count.p8 $(MINIFY) --const ONLINE true --count 116 + @echo "demo:"; $(SHRINKO8) $(CART) build/demo-count.p8 $(MINIFY) --const ONLINE false --count 117 + 118 + .PHONY: validate 119 + validate: lint count ## Lint source + budget-check the shipped carts (the gate) 120 + 121 + # --- deploy ------------------------------------------------------------------ 122 + DIST ?= dist 123 + 124 + .PHONY: dist 125 + dist: build ## Assemble web-only files into dist/ for Cloudflare Pages deploy 126 + rm -rf $(DIST) 127 + mkdir -p $(DIST) 128 + cp index.html sw.js manifest.webmanifest crt.js og.png $(DIST)/ 129 + cp picosky.js picosky-demo.js picosky-comms.js picosky-firehose.js picosky-shim.js $(DIST)/ 130 + cp client-metadata.json $(DIST)/ 131 + cp -r favicons fonts vendor $(DIST)/ 132 + @[ -f _headers ] && cp _headers $(DIST)/ || true 133 + 134 + .PHONY: deploy 135 + deploy: dist ## Build + deploy to Cloudflare Pages (requires wrangler auth) 136 + npx wrangler pages deploy $(DIST) --project-name picosky --commit-dirty=true 137 + 138 + # --- setup / housekeeping ---------------------------------------------------- 139 + .PHONY: install-pico8 140 + install-pico8: ## Install PICO-8 from /tmp/pico8.zip (override ZIP=) 141 + @test -f $(ZIP) || { echo "missing $(ZIP) (set ZIP=path)"; exit 1; } 142 + mkdir -p $(HOME)/.local/pico-8 $(HOME)/.local/bin /tmp/pico-8-extract 143 + unzip -o -q $(ZIP) -d /tmp/pico-8-extract 144 + cp -f /tmp/pico-8-extract/pico-8/pico8 /tmp/pico-8-extract/pico-8/pico8.dat $(HOME)/.local/pico-8/ 145 + chmod +x $(HOME)/.local/pico-8/pico8 146 + ln -sf $(HOME)/.local/pico-8/pico8 $(HOME)/.local/bin/pico8 147 + @echo "installed: $(PICO8)" 148 + 149 + .PHONY: setup 150 + setup: ## Clone shrinko8 into tools/ (needed for lint/count/validate/build) 151 + git clone --depth=1 https://github.com/thisismypassport/shrinko8.git tools/shrinko8 152 + 153 + .PHONY: clean 154 + clean: ## Remove generated exports + build/ intermediates (keeps the built picosky.p8) 155 + rm -rf build picosky.js picosky.html picosky-demo.js picosky-demo.html picosky.p8.png picosky-online.p8.png
+61
README.md
··· 1 + # picosky 2 + 3 + A Bluesky (AT Protocol) client that runs as a PICO-8 cart in your browser - browse, post, and like, all in 128×128. 4 + 5 + ## Roadmap 6 + 7 + - [x] Auth, Feed and Thread view 8 + - [x] Demo Cart 9 + - [x] Demoscene credits 10 + - [x] Sfx, Music, and Change Track 11 + - [x] Like / Unlike and Refresh 12 + - [x] Post and Reply 13 + - [x] Avatars, Images, alt text 14 + - [x] Multiple Feeds 15 + - [x] Quote and Repost 16 + - [x] Animations 17 + - [ ] Alpha Testing 18 + - [ ] Touch/Tap/Swipe mobile support 19 + 20 + ## Project Structure 21 + 22 + ``` 23 + ├── src/ PICO-8 Lua source modules 24 + ├── picosky.js web export - online mode (requires auth) 25 + ├── picosky-demo.js web export - demo mode (no auth needed) 26 + ├── picosky.p8 standalone demo cart 27 + ├── picosky-comms.js GPIO bridge: JS ↔ PICO-8 28 + ├── picosky-firehose.js AT Protocol firehose client 29 + ├── picosky-shim.js cart ↔ AT Protocol adapter 30 + ├── crt.js CRT shader overlay 31 + ├── index.html web player + OAuth gate 32 + ├── sw.js service worker (PWA offline) 33 + ├── manifest.webmanifest 34 + ├── client-metadata.json AT Protocol OAuth metadata 35 + ├── m3x6.lua m3x6 bitmap font (embedded in cart) 36 + ├── vendor/ third-party code (CRT shader) 37 + ├── favicons/ app icons 38 + └── fonts/ PICO-8 bitmap font 39 + ``` 40 + 41 + ### src/ 42 + 43 + | File | Purpose | 44 + |------|---------| 45 + | `cart.p8` | master cart - sprites, map, sound, music | 46 + | `actions.lua` | Bluesky actions (post, like, repost) | 47 + | `comms.lua` | GPIO protocol implementation | 48 + | `demo.lua` | demo mode with mock feed | 49 + | `input.lua` | keyboard and button input | 50 + | `render.lua` | screen rendering | 51 + | `state.lua` | app state management | 52 + 53 + ## Credits 54 + 55 + picosky made by [vinnymac](https://tangled.org/vinnymac.dev) 56 + 57 + Special thanks to: 58 + - [PICO-8](https://www.lexaloffle.com/pico-8.php) by zep 59 + - [m3x6 font](https://managore.itch.io/m3x6) by daniel linssen 60 + - [webgl-crt-shader](https://github.com/gingerbeardman/webgl-crt-shader) by gingerbeardman 61 + - [Bluesky team](https://bsky.app)
+3
_headers
··· 1 + /sw.js 2 + Content-Type: application/javascript 3 + Service-Worker-Allowed: /
+12
client-metadata.json
··· 1 + { 2 + "client_id": "https://picosky.vinnymac.dev/client-metadata.json", 3 + "client_name": "picosky", 4 + "client_uri": "https://picosky.vinnymac.dev", 5 + "redirect_uris": ["https://picosky.vinnymac.dev/"], 6 + "scope": "atproto transition:generic", 7 + "grant_types": ["authorization_code", "refresh_token"], 8 + "response_types": ["code"], 9 + "token_endpoint_auth_method": "none", 10 + "application_type": "web", 11 + "dpop_bound_access_tokens": true 12 + }
+395
crt.js
··· 1 + // ── CRT shader overlay for picosky ─────────────────────────────────────────── 2 + // 3 + // Renders the live PICO-8 canvas (#canvas) through the "Serenity" WebGL CRT 4 + // shader (vendored from ../webgl-crt-shader, MIT - see vendor/CRTShader.js) when 5 + // the TV toggle (#btn-tv) is on. The cart keeps drawing to its own canvas; we 6 + // sample that canvas as a texture each frame and draw it through the shader to a 7 + // second canvas (#crt-canvas) laid exactly on top. 8 + // 9 + // Self-contained: it only reaches in for #canvas, #stage, #crt-canvas, #btn-tv, 10 + // and (on mobile) #mobile-header-actions. The TV toggle sits next to the audio 11 + // icon in the bottom-right #settings cluster on desktop, and - on mobile - is 12 + // relocated up into the top-right header (order: tv, theme, divider, shutdown). 13 + // bootCart() also handles this relocation so the order is correct even when 14 + // crt.js hasn't loaded yet (cold-cache first visit with fast OAuth response). 15 + // 16 + // On/off is persisted to localStorage and defaults to ON for first-time visitors. 17 + // 18 + // WebGL2 plumbing (fullscreen-quad program, the GLSL-ES-3.00 rewrite of the 19 + // three.js-style fragment shader, program compile) is ported from the library's 20 + // own reference player, ../webgl-crt-shader/crt-webgl.js. 21 + 22 + import { CRTShader } from './vendor/CRTShader.js'; 23 + 24 + const PIXEL_RATIO_CAP = 2; // cap devicePixelRatio so mobile GPUs aren't overdrawn 25 + const STORAGE_KEY = 'picosky-crt'; // localStorage: 'off' disables; anything else (incl. unset) = on 26 + 27 + // Used to relocate the toggle into the mobile header (see relocateForMobile). 28 + const isMobile = window.matchMedia( 29 + '(max-width: 599px), (orientation: landscape) and (max-height: 599px)' 30 + ).matches; 31 + 32 + // CRT look - pronounced enough to read clearly even on a high-DPI phone. Close to 33 + // the library's defaults, with a bit more curve/vignette and a moderated rgbShift 34 + // so the 128px pixel art doesn't pick up too much colour fringing. Same on desktop 35 + // and mobile (a modern iPhone handles the full shader; dpr is still capped at 2). 36 + // scanlineCount: 0 ⇒ auto-derive from the ON-SCREEN height each frame, so the 37 + // lines stay a consistent, chunky thickness regardless of devicePixelRatio. 38 + // Set a positive number to pin it instead. 39 + // The shader processes whatever the cart renders, so it's theme-agnostic - only the 40 + // button colour (grey off / white on) follows the page theme, handled in CSS. 41 + // Exposed as window.picoskyCRT.params for live tuning from the devtools console. 42 + const PRESET = { 43 + scanlineIntensity: 0.5, 44 + scanlineCount: 0, 45 + adaptiveIntensity: 0.3, 46 + brightness: 1.45, // lift to offset the darkening from scanlines + vignette 47 + contrast: 1.1, 48 + saturation: 1.2, 49 + bloomIntensity: 0.5, 50 + bloomThreshold: 0.5, 51 + rgbShift: 0.5, 52 + vignetteStrength: 0.35, 53 + curvature: 0.12, 54 + flickerStrength: 0.015, 55 + }; 56 + 57 + // ── DOM handles ────────────────────────────────────────────────────────────── 58 + const gameCanvas = document.getElementById('canvas'); 59 + const stage = document.getElementById('stage'); 60 + const crtCanvas = document.getElementById('crt-canvas'); 61 + const btn = document.getElementById('btn-tv'); 62 + 63 + function webgl2Supported() { 64 + try { 65 + return !!document.createElement('canvas').getContext('webgl2'); 66 + } catch (_) { 67 + return false; 68 + } 69 + } 70 + 71 + // On mobile, move the TV toggle out of the bottom-right #settings cluster and up 72 + // into the top-right header. bootCart() also appends #btn-tv (before #btn-theme 73 + // and #btn-shutdown) in case this module loads after the user clicks play on a 74 + // cold-cache first load - so check first to avoid re-appending to the wrong end. 75 + function relocateForMobile() { 76 + if (!isMobile || !btn) return; 77 + const headerActions = document.getElementById('mobile-header-actions'); 78 + if (headerActions && btn.parentElement !== headerActions) headerActions.appendChild(btn); 79 + } 80 + 81 + // ── Make the game canvas readable as a texture ─────────────────────────────── 82 + // A WebGL drawing buffer is cleared right after the browser composites it, so by 83 + // the time our RAF runs, texImage2D(gameCanvas) would read black/garbage. Setting 84 + // preserveDrawingBuffer:true at context-creation time keeps the buffer around to 85 + // be sampled. The PICO-8 export (picosky.js / picosky-demo.js) creates the 86 + // context itself, and we can't change attributes after the fact - so we wrap THIS 87 + // element's getContext to inject the flag, and install it now (module scripts run 88 + // at load, before the demo/Play click that injects the cart, so the patch is in 89 + // place in time). Harmless if PICO-8 falls back to a 2D context. 90 + function patchGameCanvasForCapture() { 91 + if (!gameCanvas || gameCanvas.__crtPatched) return; 92 + gameCanvas.__crtPatched = true; 93 + const original = gameCanvas.getContext.bind(gameCanvas); 94 + gameCanvas.getContext = function (type, attrs) { 95 + if (type === 'webgl' || type === 'experimental-webgl' || type === 'webgl2') { 96 + attrs = Object.assign({}, attrs, { preserveDrawingBuffer: true }); 97 + } 98 + return original(type, attrs); 99 + }; 100 + } 101 + 102 + // ── Renderer state (lazily initialised on first enable) ────────────────────── 103 + let gl = null; 104 + let program = null; 105 + let texture = null; 106 + let uniforms = null; 107 + let texW = 0; 108 + let texH = 0; 109 + let displayH = 0; // on-screen (CSS) height of the canvas, for DPI-independent scanlines 110 + let rafId = null; 111 + let resizeObserver = null; 112 + let on = false; 113 + 114 + function ensureInit() { 115 + if (gl) return; 116 + 117 + gl = crtCanvas.getContext('webgl2', { alpha: false }); 118 + if (!gl) throw new Error('WebGL2 context creation failed'); 119 + 120 + program = createProgram(gl, buildVertexSource(), buildFragmentSource()); 121 + // Empty VAO: the vertex shader synthesises the quad from gl_VertexID, no buffers. 122 + gl.bindVertexArray(gl.createVertexArray()); 123 + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true); // canvas Y is top-down, GL is bottom-up 124 + 125 + uniforms = getUniformLocations(gl, program, [ 126 + 'uTexture', 'uEnabled', 'scanlineIntensity', 'scanlineCount', 'time', 'yOffset', 127 + 'brightness', 'contrast', 'saturation', 'bloomIntensity', 'bloomThreshold', 128 + 'rgbShift', 'adaptiveIntensity', 'vignetteStrength', 'curvature', 'flickerStrength', 129 + ]); 130 + 131 + texture = gl.createTexture(); 132 + gl.bindTexture(gl.TEXTURE_2D, texture); 133 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); 134 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); 135 + // NEAREST keeps the pixel art blocky under the shader (the library's demo uses 136 + // LINEAR "for the vibe" - we want crisp pixels instead). 137 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); 138 + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); 139 + } 140 + 141 + // ── Geometry: lay #crt-canvas exactly over #canvas ─────────────────────────── 142 + // #crt-canvas is absolutely positioned inside #stage; the game canvas is centred 143 + // in #stage at a size that varies by breakpoint, so mirror its on-screen box and 144 + // size the backing store to that box × dpr (capped). 145 + function syncGeometry() { 146 + const g = gameCanvas.getBoundingClientRect(); 147 + const s = stage.getBoundingClientRect(); 148 + crtCanvas.style.left = `${g.left - s.left}px`; 149 + crtCanvas.style.top = `${g.top - s.top}px`; 150 + crtCanvas.style.width = `${g.width}px`; 151 + crtCanvas.style.height = `${g.height}px`; 152 + displayH = g.height; 153 + 154 + const dpr = Math.min(window.devicePixelRatio || 1, PIXEL_RATIO_CAP); 155 + const bw = Math.max(1, Math.round(g.width * dpr)); 156 + const bh = Math.max(1, Math.round(g.height * dpr)); 157 + if (crtCanvas.width !== bw || crtCanvas.height !== bh) { 158 + crtCanvas.width = bw; 159 + crtCanvas.height = bh; 160 + } 161 + } 162 + 163 + // ── Per-frame draw ─────────────────────────────────────────────────────────── 164 + function render(ts) { 165 + // Upload the current game frame. Reallocate (texImage2D) when the source size 166 + // changes, otherwise the cheaper in-place texSubImage2D. 167 + const sw = gameCanvas.width; 168 + const sh = gameCanvas.height; 169 + gl.bindTexture(gl.TEXTURE_2D, texture); 170 + if (sw !== texW || sh !== texH) { 171 + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, gameCanvas); 172 + texW = sw; 173 + texH = sh; 174 + } else { 175 + gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, gameCanvas); 176 + } 177 + 178 + gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); 179 + gl.useProgram(program); 180 + 181 + // scanlineCount: pinned if PRESET sets one, else auto from the ON-SCREEN height 182 + // (~one dark line pair per 2 CSS px) so density is DPI-independent and the lines 183 + // stay chunky/visible on Retina rather than dissolving. 184 + const scanlineCount = PRESET.scanlineCount > 0 185 + ? PRESET.scanlineCount 186 + : Math.max(120, Math.min(600, Math.round(displayH / 2))); 187 + 188 + gl.activeTexture(gl.TEXTURE0); 189 + gl.uniform1i(uniforms.uTexture, 0); 190 + gl.uniform1i(uniforms.uEnabled, 1); 191 + gl.uniform1f(uniforms.time, ts * 0.001); 192 + gl.uniform1f(uniforms.yOffset, 0.0); 193 + gl.uniform1f(uniforms.scanlineCount, scanlineCount); 194 + gl.uniform1f(uniforms.scanlineIntensity, PRESET.scanlineIntensity); 195 + gl.uniform1f(uniforms.adaptiveIntensity, PRESET.adaptiveIntensity); 196 + gl.uniform1f(uniforms.brightness, PRESET.brightness); 197 + gl.uniform1f(uniforms.contrast, PRESET.contrast); 198 + gl.uniform1f(uniforms.saturation, PRESET.saturation); 199 + gl.uniform1f(uniforms.bloomIntensity, PRESET.bloomIntensity); 200 + gl.uniform1f(uniforms.bloomThreshold, PRESET.bloomThreshold); 201 + gl.uniform1f(uniforms.rgbShift, PRESET.rgbShift); 202 + gl.uniform1f(uniforms.vignetteStrength, PRESET.vignetteStrength); 203 + gl.uniform1f(uniforms.curvature, PRESET.curvature); 204 + gl.uniform1f(uniforms.flickerStrength, PRESET.flickerStrength); 205 + 206 + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); 207 + 208 + rafId = requestAnimationFrame(render); 209 + } 210 + 211 + // ── Enable / disable ───────────────────────────────────────────────────────── 212 + function enable() { 213 + try { 214 + ensureInit(); 215 + } catch (err) { 216 + // Loud failure, but keep the game playable: revert the toggle and bail. 217 + console.error('[crt] init failed, leaving CRT off:', err); 218 + setToggle(false); 219 + return; 220 + } 221 + stage.classList.add('crt-on'); // CSS hides the raw canvas + reveals #crt-canvas 222 + syncGeometry(); 223 + startObservers(); 224 + if (rafId == null) rafId = requestAnimationFrame(render); 225 + } 226 + 227 + function disable() { 228 + if (rafId != null) { 229 + cancelAnimationFrame(rafId); 230 + rafId = null; 231 + } 232 + stopObservers(); 233 + stage.classList.remove('crt-on'); 234 + } 235 + 236 + function startObservers() { 237 + if (!resizeObserver) { 238 + resizeObserver = new ResizeObserver(syncGeometry); 239 + resizeObserver.observe(gameCanvas); 240 + } 241 + window.addEventListener('resize', syncGeometry, { passive: true }); 242 + window.addEventListener('orientationchange', syncGeometry, { passive: true }); 243 + } 244 + 245 + function stopObservers() { 246 + if (resizeObserver) { 247 + resizeObserver.disconnect(); 248 + resizeObserver = null; 249 + } 250 + window.removeEventListener('resize', syncGeometry); 251 + window.removeEventListener('orientationchange', syncGeometry); 252 + } 253 + 254 + // ── Toggle button ──────────────────────────────────────────────────────────── 255 + // Grey (off) ↔ white (on) is driven by the `.on` class (see index.html CSS); grey 256 + // uses the theme-aware --muted token so it reads in both light and dark themes. 257 + function setToggle(next) { 258 + on = next; 259 + btn.classList.toggle('on', on); 260 + btn.setAttribute('aria-pressed', String(on)); 261 + } 262 + 263 + // Persisted preference. Default ON: only an explicit 'off' disables it, so 264 + // first-time visitors get the CRT look out of the box. 265 + function readStored() { 266 + try { return localStorage.getItem(STORAGE_KEY) !== 'off'; } catch (_) { return true; } 267 + } 268 + function writeStored(value) { 269 + try { localStorage.setItem(STORAGE_KEY, value ? 'on' : 'off'); } catch (_) {} 270 + } 271 + 272 + function wireButton() { 273 + if (!btn) return; 274 + btn.addEventListener('click', () => { 275 + setToggle(!on); 276 + writeStored(on); 277 + if (on) enable(); 278 + else disable(); 279 + }); 280 + // Hook for the e2e/headless harness - and `params` is the LIVE preset object the 281 + // render loop reads each frame, so tweaking it from the console (e.g. 282 + // `picoskyCRT.params.scanlineIntensity = 0.7`) updates the look immediately. 283 + window.picoskyCRT = { 284 + enable: () => { setToggle(true); enable(); }, 285 + disable: () => { setToggle(false); disable(); }, 286 + get on() { return on; }, 287 + params: PRESET, 288 + }; 289 + 290 + // Apply the saved preference, defaulting to ON for first-time visitors. The CRT 291 + // canvas sits behind the gate/play overlay until the cart boots, so it's not 292 + // seen blank. 293 + if (readStored()) { setToggle(true); enable(); } 294 + } 295 + 296 + // ── WebGL2 program build (ported from ../webgl-crt-shader/crt-webgl.js) ─────── 297 + function buildVertexSource() { 298 + return `#version 300 es 299 + precision highp float; 300 + const vec2 pos[4] = vec2[4]( 301 + vec2(-1.0, -1.0), vec2(1.0, -1.0), vec2(-1.0, 1.0), vec2(1.0, 1.0) 302 + ); 303 + const vec2 uvData[4] = vec2[4]( 304 + vec2(0.0, 0.0), vec2(1.0, 0.0), vec2(0.0, 1.0), vec2(1.0, 1.0) 305 + ); 306 + out vec2 vUv; 307 + void main() { 308 + vUv = uvData[gl_VertexID]; 309 + gl_Position = vec4(pos[gl_VertexID], 0.0, 1.0); 310 + } 311 + `; 312 + } 313 + 314 + function buildFragmentSource() { 315 + // Rewrite the three.js-style GLSL into GLSL ES 3.00: drop its own uniform/varying 316 + // decls, swap legacy names/builtins, and rename main→mainImage so we can gate it 317 + // behind uEnabled. 318 + let body = CRTShader.fragmentShader; 319 + body = body.replace(/uniform\s+[^;]+;\s*/g, ''); 320 + body = body.replace(/varying\s+[^;]+;\s*/g, ''); 321 + body = body.replace(/\btDiffuse\b/g, 'uTexture'); 322 + body = body.replace(/texture2D\s*\(/g, 'texture('); 323 + body = body.replace(/gl_FragColor/g, 'fragColor'); 324 + body = body.replace(/void main\s*\(/, 'void mainImage('); 325 + return `#version 300 es 326 + precision highp float; 327 + uniform sampler2D uTexture; 328 + uniform bool uEnabled; 329 + uniform float scanlineIntensity; 330 + uniform float scanlineCount; 331 + uniform float time; 332 + uniform float yOffset; 333 + uniform float brightness; 334 + uniform float contrast; 335 + uniform float saturation; 336 + uniform float bloomIntensity; 337 + uniform float bloomThreshold; 338 + uniform float rgbShift; 339 + uniform float adaptiveIntensity; 340 + uniform float vignetteStrength; 341 + uniform float curvature; 342 + uniform float flickerStrength; 343 + in vec2 vUv; 344 + out vec4 fragColor; 345 + void bypass() { fragColor = texture(uTexture, vUv); } 346 + ${body} 347 + void main() { 348 + if (!uEnabled) { bypass(); return; } 349 + mainImage(); 350 + } 351 + `; 352 + } 353 + 354 + function createProgram(glContext, vsSource, fsSource) { 355 + const vs = compileShader(glContext, glContext.VERTEX_SHADER, vsSource); 356 + const fs = compileShader(glContext, glContext.FRAGMENT_SHADER, fsSource); 357 + const prog = glContext.createProgram(); 358 + glContext.attachShader(prog, vs); 359 + glContext.attachShader(prog, fs); 360 + glContext.linkProgram(prog); 361 + if (!glContext.getProgramParameter(prog, glContext.LINK_STATUS)) { 362 + throw new Error(glContext.getProgramInfoLog(prog) || 'Program link error'); 363 + } 364 + return prog; 365 + } 366 + 367 + function compileShader(glContext, type, source) { 368 + const shader = glContext.createShader(type); 369 + glContext.shaderSource(shader, source); 370 + glContext.compileShader(shader); 371 + if (!glContext.getShaderParameter(shader, glContext.COMPILE_STATUS)) { 372 + throw new Error(glContext.getShaderInfoLog(shader) || 'Shader compile error'); 373 + } 374 + return shader; 375 + } 376 + 377 + function getUniformLocations(glContext, prog, names) { 378 + const map = {}; 379 + for (const name of names) map[name] = glContext.getUniformLocation(prog, name); 380 + return map; 381 + } 382 + 383 + // ── WebGL2 capability gate (runs last, once all state above is initialised) ── 384 + // No WebGL2 ⇒ the effect can't run. Hide the toggle (honest degradation - better 385 + // than a button that silently does nothing) and skip everything else. Otherwise 386 + // install the getContext patch, relocate the toggle on mobile, and wire it up 387 + // (which also applies the saved/default-on state). This still runs at module load - 388 + // long before the demo/Play click boots the cart - so the patch is installed in time. 389 + if (!webgl2Supported()) { 390 + if (btn) btn.style.display = 'none'; 391 + } else { 392 + patchGameCanvasForCapture(); 393 + relocateForMobile(); 394 + wireButton(); 395 + }
favicons/apple-touch-icon.png

This is a binary file and will not be displayed.

favicons/favicon.ico

This is a binary file and will not be displayed.

favicons/icon-192.png

This is a binary file and will not be displayed.

favicons/icon-512.png

This is a binary file and will not be displayed.

+8
favicons/icon.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges" role="img" aria-label="picosky"> 2 + <g fill="#1185fe"> 3 + <rect x="2" y="0" width="2" height="1"/><rect x="12" y="0" width="2" height="1"/><rect x="1" y="1" width="4" height="1"/><rect x="11" y="1" width="4" height="1"/><rect x="0" y="2" width="6" height="1"/><rect x="10" y="2" width="6" height="1"/><rect x="0" y="3" width="7" height="1"/><rect x="9" y="3" width="7" height="1"/><rect x="0" y="4" width="6" height="1"/><rect x="10" y="4" width="6" height="1"/><rect x="0" y="5" width="5" height="1"/><rect x="11" y="5" width="5" height="1"/><rect x="1" y="6" width="4" height="1"/><rect x="7" y="6" width="2" height="1"/><rect x="11" y="6" width="4" height="1"/><rect x="2" y="7" width="3" height="1"/><rect x="7" y="7" width="2" height="1"/><rect x="11" y="7" width="3" height="1"/><rect x="3" y="8" width="2" height="1"/><rect x="7" y="8" width="2" height="1"/><rect x="11" y="8" width="2" height="1"/><rect x="2" y="9" width="4" height="1"/><rect x="10" y="9" width="4" height="1"/><rect x="1" y="10" width="5" height="1"/><rect x="10" y="10" width="5" height="1"/><rect x="0" y="11" width="6" height="1"/><rect x="10" y="11" width="6" height="1"/><rect x="0" y="12" width="6" height="1"/><rect x="10" y="12" width="6" height="1"/><rect x="1" y="13" width="5" height="1"/><rect x="10" y="13" width="5" height="1"/><rect x="2" y="14" width="4" height="1"/><rect x="10" y="14" width="4" height="1"/><rect x="4" y="15" width="2" height="1"/><rect x="10" y="15" width="2" height="1"/> 4 + </g> 5 + <g fill="#0560ff"> 6 + <rect x="6" y="4" width="1" height="1"/><rect x="9" y="4" width="1" height="1"/><rect x="5" y="5" width="2" height="1"/><rect x="9" y="5" width="2" height="1"/><rect x="5" y="6" width="2" height="1"/><rect x="9" y="6" width="2" height="1"/><rect x="5" y="7" width="2" height="1"/><rect x="9" y="7" width="2" height="1"/><rect x="5" y="8" width="2" height="1"/><rect x="9" y="8" width="2" height="1"/><rect x="6" y="9" width="4" height="1"/><rect x="6" y="10" width="4" height="1"/><rect x="6" y="11" width="4" height="1"/><rect x="6" y="12" width="4" height="1"/><rect x="6" y="13" width="4" height="1"/> 7 + </g> 8 + </svg>
fonts/PICO-8.eot

This is a binary file and will not be displayed.

fonts/PICO-8.ttf

This is a binary file and will not be displayed.

+1844
index.html
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" /> 6 + <title>picosky - a Bluesky client for PICO-8</title> 7 + <meta name="description" content="A Bluesky (AT Protocol) client that runs as a PICO-8 cart in your browser - browse, post, and like, all in 128×128." /> 8 + 9 + <!-- icons + PWA manifest --> 10 + <link rel="icon" href="/favicons/favicon.ico" sizes="48x48" /> 11 + <link rel="icon" href="/favicons/icon.svg" type="image/svg+xml" /> 12 + <link rel="apple-touch-icon" href="/favicons/apple-touch-icon.png" /> 13 + <link rel="manifest" href="/manifest.webmanifest" /> 14 + <meta name="theme-color" content="#1185fe" /> 15 + 16 + <!-- add-to-homescreen / standalone launch --> 17 + <meta name="apple-mobile-web-app-capable" content="yes" /> 18 + <meta name="mobile-web-app-capable" content="yes" /> 19 + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 20 + <meta name="apple-mobile-web-app-title" content="picosky" /> 21 + 22 + <!-- Open Graph --> 23 + <meta property="og:type" content="website" /> 24 + <meta property="og:site_name" content="picosky" /> 25 + <meta property="og:title" content="picosky - a Bluesky client for PICO-8" /> 26 + <meta property="og:description" content="A Bluesky (AT Protocol) client that runs as a PICO-8 cart in your browser." /> 27 + <meta property="og:url" content="https://picosky.vinnymac.dev/" /> 28 + <meta property="og:image" content="https://picosky.vinnymac.dev/og.png" /> 29 + <meta property="og:image:width" content="1200" /> 30 + <meta property="og:image:height" content="630" /> 31 + <meta property="og:image:alt" content="A pixel-art Bluesky butterfly beside the picosky wordmark" /> 32 + 33 + <!-- Twitter card --> 34 + <meta name="twitter:card" content="summary_large_image" /> 35 + <meta name="twitter:title" content="picosky - a Bluesky client for PICO-8" /> 36 + <meta name="twitter:description" content="A Bluesky (AT Protocol) client that runs as a PICO-8 cart in your browser." /> 37 + <meta name="twitter:image" content="https://picosky.vinnymac.dev/og.png" /> 38 + 39 + <script> 40 + // Apply the saved theme BEFORE first paint to avoid a flash of the wrong 41 + // theme (FOUC). "auto" (or missing) defers to the OS preference so first- 42 + // time visitors get the right theme without interaction. The deferred module 43 + // below owns toggling + cart sync. 44 + try { 45 + const _t = localStorage.getItem("picosky-theme"); 46 + document.documentElement.dataset.theme = 47 + _t === "dark" ? "dark" 48 + : _t === "light" ? "light" 49 + : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; 50 + } catch (e) {} 51 + </script> 52 + <style> 53 + /* Official Bluesky palette (light / day - default) */ 54 + :root { 55 + --bsky-blue: #1185fe; 56 + --bsky-deep: #0560ff; 57 + --blue: #29adff; 58 + --ink: #0b0f14; 59 + --bg: #ffffff; 60 + --muted: #6b7785; 61 + --panel: #e8f1ff; /* mobile controller surface */ 62 + --hdr-border: #e6eaf0; /* mobile header divider */ 63 + --ctrl-border: #c5d8f8; /* controller top border */ 64 + --field-border: #d5dbe2;/* text input border */ 65 + --ctrl-btn: #0b0f14; /* d-pad / X / settings button fill */ 66 + } 67 + /* Night theme - bg matches PICO-8 night canvas so page + cart read as one surface. */ 68 + :root[data-theme="dark"] { 69 + --ink: #fff1e8; 70 + --bg: #1c2733; 71 + --muted: #8b98a5; 72 + --panel: #11202c; 73 + --hdr-border: #2c3a47; 74 + --ctrl-border: #2c3a47; 75 + --field-border: #33424f; 76 + --ctrl-btn: #3a4a59; 77 + } 78 + 79 + *, *::before, *::after { box-sizing: border-box; } 80 + 81 + html, body { 82 + margin: 0; 83 + background: var(--bg); 84 + color: var(--ink); 85 + font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; 86 + overscroll-behavior: none; 87 + } 88 + body { height: 100%; min-height: 100dvh; } 89 + 90 + /* ── Desktop layout ── */ 91 + #stage { 92 + position: absolute; inset: 0; margin: auto; 93 + width: 512px; height: 512px; 94 + display: flex; align-items: center; justify-content: center; 95 + } 96 + canvas#canvas { 97 + width: 512px; height: 512px; background: #000; 98 + image-rendering: pixelated; 99 + touch-action: none; 100 + } 101 + 102 + /* ── Fullscreen: canvas scales to fill viewport, centered, square aspect ratio ── */ 103 + :fullscreen #stage { 104 + position: fixed; inset: 0; width: 100vw; height: 100dvh; background: #000; 105 + } 106 + :fullscreen canvas#canvas { 107 + width: min(100vw, 100dvh) !important; 108 + height: min(100vw, 100dvh) !important; 109 + } 110 + :-webkit-full-screen #stage { 111 + position: fixed; inset: 0; width: 100vw; height: 100dvh; background: #000; 112 + } 113 + :-webkit-full-screen canvas#canvas { 114 + width: min(100vw, 100dvh) !important; 115 + height: min(100vw, 100dvh) !important; 116 + } 117 + 118 + /* ── CRT shader overlay - hidden until TV toggle; crt.js positions it over #canvas ── */ 119 + #crt-canvas { 120 + position: absolute; 121 + display: none; 122 + background: #000; 123 + pointer-events: none; 124 + } 125 + #stage.crt-on #crt-canvas { display: block; } 126 + /* CRT on: hide raw canvas so curved corners read black, not the square frame */ 127 + #stage.crt-on canvas#canvas { visibility: hidden; } 128 + 129 + #controls { 130 + display: none; 131 + position: absolute; 132 + top: calc(50% + 268px); 133 + left: 50%; 134 + transform: translateX(-50%); 135 + gap: 8px; 136 + } 137 + #controls.visible { display: flex; } 138 + 139 + /* Mobile-only elements - hidden on desktop */ 140 + #mobile-header { display: none; } 141 + #mobile-controls { display: none; } 142 + #compose-input { display: none; } 143 + 144 + /* ── OAuth gate overlay ── */ 145 + #gate { 146 + position: absolute; inset: 0; z-index: 10; 147 + display: flex; flex-direction: column; align-items: center; 148 + justify-content: center; gap: 16px; background: var(--bg); 149 + } 150 + #gate.hidden { display: none; } 151 + #gate h1 { margin: 0; font-size: 28px; letter-spacing: -0.5px; } 152 + #gate p { margin: 0; color: var(--muted); } 153 + .butterfly { width: 96px; height: 96px; } 154 + .row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; } 155 + input[type="text"] { 156 + padding: 10px 12px; border: 1px solid var(--field-border); border-radius: 8px; 157 + font-size: 16px; width: 240px; outline: none; 158 + background: var(--bg); color: var(--ink); 159 + } 160 + input[type="text"]:focus { border-color: var(--bsky-blue); } 161 + button { 162 + padding: 10px 16px; border: 0; border-radius: 8px; cursor: pointer; 163 + font-size: 15px; font-weight: 600; color: #fff; background: var(--bsky-blue); 164 + -webkit-tap-highlight-color: transparent; 165 + -webkit-user-select: none; 166 + user-select: none; 167 + touch-action: manipulation; 168 + } 169 + button.ghost { background: transparent; color: var(--bsky-blue); font-weight: 500; } 170 + /* Shutdown shows its label on desktop; the power glyph is mobile-only. */ 171 + #btn-shutdown .power-icon { display: none; } 172 + #err { color: #d23; min-height: 18px; font-size: 13px; } 173 + 174 + /* ── Play screen ── */ 175 + #play { 176 + position: absolute; inset: 0; z-index: 10; 177 + display: flex; flex-direction: column; align-items: center; 178 + justify-content: center; gap: 16px; background: var(--bg); 179 + } 180 + #play.hidden { display: none; } 181 + #play h1 { margin: 0; font-size: 28px; letter-spacing: -0.5px; } 182 + #play p { margin: 0; color: var(--muted); } 183 + 184 + /* ── Loading animation ── */ 185 + #gate.loading .butterfly { 186 + animation: flutter 0.6s ease-in-out infinite alternate; 187 + transform-origin: center; 188 + } 189 + #gate.loading .signin-form { visibility: hidden; } 190 + /* Boot/session-check just says "Loading…"; the real sign-in (after the 191 + user clicks Sign in) adds .signing-in for the accurate message. */ 192 + #gate.loading #gate-subtitle::after { content: "Loading…"; } 193 + #gate.loading.signing-in #gate-subtitle::after { content: "Signing in…"; } 194 + #gate.loading #gate-subtitle span { display: none; } 195 + @keyframes flutter { 196 + from { transform: scaleX(1) scaleY(1); } 197 + to { transform: scaleX(0.82) scaleY(1.1); } 198 + } 199 + 200 + /* ── Mobile layout ── 201 + Portrait phones (≤599px wide) OR landscape phones (short viewport height + 202 + landscape). Landscape can't use a width breakpoint - a phone on its side is 203 + wider than 599px - so it keys off (height ≤ 599px). Shared chrome/controls 204 + styling lives here; the orientation-specific layout is split out below 205 + (portrait = controls in a bottom bar; landscape = controls flank the canvas). */ 206 + @media (width <= 599px), (orientation: landscape) and (height <= 599px) { 207 + html { height: 100dvh; } 208 + body { 209 + height: 100dvh; 210 + display: flex; 211 + flex-direction: column; 212 + overflow: hidden; 213 + } 214 + 215 + /* Header: butterfly + title + session action buttons */ 216 + #mobile-header { 217 + position: relative; /* anchors the ::before status-bar scrim */ 218 + display: flex; 219 + align-items: center; 220 + gap: 8px; 221 + /* Safe-area insets so the logo/title (left) and actions (right) clear 222 + the iPhone status bar / notch: top in portrait (the bar floats over 223 + us in standalone PWA mode) and left/right in landscape (the phone 224 + can rotate either way). */ 225 + padding: env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left)); 226 + flex-shrink: 0; 227 + /* 50px of visible header below the reserved status-bar strip. */ 228 + height: calc(50px + env(safe-area-inset-top)); 229 + border-bottom: 1px solid var(--hdr-border); 230 + background: var(--bg); 231 + } 232 + /* black-translucent draws white status-bar glyphs (clock/battery), but 233 + the light theme's header is white - so paint the reserved top-inset 234 + strip with the brand blue (= theme-color) in both themes so the glyphs 235 + always read. Zero-height (invisible) on non-notch devices / landscape. */ 236 + #mobile-header::before { 237 + content: ""; 238 + position: absolute; 239 + top: 0; left: 0; right: 0; 240 + height: env(safe-area-inset-top); 241 + background: var(--bsky-blue); 242 + } 243 + .butterfly-sm { width: 26px; height: 26px; flex-shrink: 0; } 244 + #mobile-header .title { 245 + font-size: 17px; 246 + font-weight: 700; 247 + letter-spacing: -0.4px; 248 + color: var(--ink); 249 + } 250 + #mobile-header-actions { 251 + margin-left: auto; 252 + display: flex; 253 + gap: 4px; 254 + } 255 + #mobile-header-actions button { 256 + padding: 6px 12px; 257 + font-size: 13px; 258 + } 259 + /* Shutdown becomes a round power button matching the audio/theme 260 + controls (same fill, shape, shadow as #settings buttons). */ 261 + #mobile-header-actions #btn-shutdown { 262 + width: 34px; height: 34px; 263 + padding: 0; 264 + border-radius: 50%; 265 + background: var(--ctrl-btn); 266 + color: rgba(255, 255, 255, 0.85); 267 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 268 + display: flex; align-items: center; justify-content: center; 269 + transition: transform 0.07s; 270 + } 271 + #mobile-header-actions #btn-shutdown:active { transform: scale(0.9); } 272 + #mobile-header-actions #btn-shutdown .btn-label { display: none; } 273 + #mobile-header-actions #btn-shutdown .power-icon { display: block; } 274 + 275 + /* TV toggle, relocated here next to the power button on mobile: same round 276 + control shape, grey (off) / white (on) via the theme-aware --muted. */ 277 + #mobile-header-actions #btn-tv { 278 + width: 34px; height: 34px; 279 + padding: 0; 280 + border-radius: 50%; 281 + background: var(--ctrl-btn); 282 + color: var(--muted); 283 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 284 + display: flex; align-items: center; justify-content: center; 285 + transition: transform 0.07s; 286 + } 287 + #mobile-header-actions #btn-tv:active { transform: scale(0.9); } 288 + #mobile-header-actions #btn-tv.on { color: #fff; } 289 + 290 + /* Theme toggle relocated to header on mobile: same round shape as #btn-tv. */ 291 + #mobile-header-actions #btn-theme { 292 + width: 34px; height: 34px; 293 + padding: 0; 294 + border-radius: 50%; 295 + background: var(--ctrl-btn); 296 + color: rgba(255, 255, 255, 0.85); 297 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 298 + display: flex; align-items: center; justify-content: center; 299 + transition: transform 0.07s; 300 + } 301 + #mobile-header-actions #btn-theme:active { transform: scale(0.9); } 302 + 303 + /* Info / credits button in mobile header: same round shape as the others */ 304 + #mobile-header-actions #btn-info-mobile { 305 + width: 34px; height: 34px; 306 + padding: 0; 307 + border-radius: 50%; 308 + background: var(--ctrl-btn); 309 + color: rgba(255, 255, 255, 0.85); 310 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 311 + display: flex; align-items: center; justify-content: center; 312 + transition: transform 0.07s; 313 + font-family: 'PICO-8', monospace; 314 + font-size: 16px; 315 + line-height: 1; 316 + -webkit-font-smoothing: none; 317 + -moz-osx-font-smoothing: grayscale; 318 + font-smooth: never; 319 + } 320 + #mobile-header-actions #btn-info-mobile:active { transform: scale(0.9); } 321 + 322 + /* Thin vertical separator between utility buttons and the shutdown button */ 323 + .header-divider { 324 + width: 2px; 325 + height: 32px; 326 + background: var(--hdr-border); 327 + align-self: center; 328 + flex-shrink: 0; 329 + margin: 0 4px; 330 + border-radius: 1px; 331 + } 332 + 333 + /* Stage fills remaining vertical space */ 334 + #stage { 335 + position: relative; /* anchors the absolute #compose-input overlay */ 336 + flex: 1 1 auto; 337 + width: 100%; 338 + min-height: 0; 339 + margin: 0; 340 + background: #000; 341 + display: flex; 342 + align-items: center; 343 + justify-content: center; 344 + } 345 + 346 + /* Canvas scales down to fit the viewport minus header (50px), controls 347 + (170px), and the top/bottom safe-area insets, so nothing clips. */ 348 + canvas#canvas { 349 + width: min(100vw, calc(100dvh - 50px - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 512px) !important; 350 + height: min(100vw, calc(100dvh - 50px - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 512px) !important; 351 + } 352 + 353 + /* Desktop controls strip not needed on mobile */ 354 + #controls { display: none !important; } 355 + 356 + /* ── Mobile game controller ── */ 357 + #mobile-controls { 358 + position: relative; /* anchors the absolute pause pill */ 359 + flex-shrink: 0; 360 + display: flex; 361 + align-items: flex-end; 362 + justify-content: flex-start; 363 + gap: 30px; 364 + padding: 12px 12px 12px 6px; 365 + padding-bottom: max(12px, calc(12px + env(safe-area-inset-bottom))); 366 + /* Grow by the bottom inset so it extends the bar instead of eating 367 + into it (box-sizing: border-box) - keeps the inner control room 368 + constant; the bar stays anchored to the screen bottom. */ 369 + height: calc(170px + env(safe-area-inset-bottom)); 370 + background: var(--panel); 371 + border-top: 1px solid var(--ctrl-border); 372 + } 373 + #mobile-controls.hidden { display: none; } 374 + 375 + /* D-pad: 3×3 grid, centre cell empty */ 376 + .dpad { 377 + display: grid; 378 + grid-template-columns: repeat(3, 50px); 379 + grid-template-rows: repeat(3, 50px); 380 + gap: 3px; 381 + transform: translate(7px, 7px); 382 + } 383 + .dpad-btn { 384 + width: 50px; height: 50px; 385 + padding: 0; 386 + border: none; 387 + border-radius: 10px; 388 + font-size: 15px; 389 + line-height: 1; 390 + background: var(--ctrl-btn); 391 + color: rgba(255, 255, 255, 0.9); 392 + display: flex; align-items: center; justify-content: center; 393 + transition: background 0.07s, transform 0.07s; 394 + box-shadow: 0 2px 4px rgba(11,15,20,0.25); 395 + touch-action: none; 396 + } 397 + .dpad-btn.pressed { background: var(--bsky-deep); transform: scale(0.89); } 398 + .dpad-btn-up { grid-column: 2; grid-row: 1; } 399 + .dpad-btn-left { grid-column: 1; grid-row: 2; } 400 + .dpad-btn-right { grid-column: 3; grid-row: 2; } 401 + .dpad-btn-down { grid-column: 2; grid-row: 3; } 402 + /* One arrow shape for all four, rotated per direction (rotate the span, 403 + not the button - the button's .pressed scale must compose cleanly). */ 404 + .dpad-arrow { display: block; line-height: 1; pointer-events: none; } 405 + .dpad-btn-right .dpad-arrow { transform: rotate(90deg); } 406 + .dpad-btn-down .dpad-arrow { transform: rotate(180deg); } 407 + .dpad-btn-left .dpad-arrow { transform: rotate(270deg); } 408 + 409 + /* Action buttons: diagonal - O upper-right, X lower-left (Nintendo-style) */ 410 + .action-btns { 411 + position: relative; 412 + width: 116px; 413 + height: 116px; 414 + } 415 + .action-btn { 416 + position: absolute; 417 + width: 58px; height: 58px; 418 + padding: 0; 419 + border: none; 420 + border-radius: 50%; 421 + font-size: 15px; 422 + font-weight: 700; 423 + display: flex; align-items: center; justify-content: center; 424 + transition: transform 0.07s, opacity 0.07s; 425 + letter-spacing: 0; 426 + touch-action: none; 427 + } 428 + .action-btn.pressed { transform: scale(0.88); opacity: 0.8; } 429 + .btn-o { 430 + top: 5px; right: 0; 431 + background: var(--bsky-blue); 432 + color: #fff; 433 + box-shadow: 0 2px 8px rgba(17, 133, 254, 0.4); 434 + } 435 + .btn-x { 436 + bottom: 5px; left: 0; 437 + background: var(--ctrl-btn); 438 + color: rgba(255, 255, 255, 0.9); 439 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 440 + } 441 + 442 + /* ── Compose on mobile ── 443 + A hidden, transparent contenteditable captures the soft keyboard; we 444 + forward its text to the cart. It never intercepts touches 445 + (pointer-events:none) and is focused programmatically inside the 446 + O-press gesture iOS requires. Send/back are the O/X buttons + the 447 + keyboard's return; all compose UI is drawn by the cart (PICO-8). */ 448 + #compose-input { 449 + display: block; 450 + position: absolute; 451 + inset: 0; 452 + width: 100%; height: 100%; 453 + margin: 0; border: 0; padding: 0; 454 + background: transparent; 455 + color: transparent; 456 + caret-color: transparent; 457 + font-size: 16px; /* 16px avoids iOS focus zoom */ 458 + white-space: pre-wrap; 459 + overflow: hidden; 460 + outline: none; 461 + pointer-events: none; 462 + } 463 + 464 + /* Overlays must cover the whole viewport including the mobile header */ 465 + #gate, #play { position: fixed; height: 100dvh; } 466 + 467 + /* Pause button - thin pill, top-right corner of the controls bar */ 468 + #btn-pause { 469 + position: absolute; 470 + top: 10px; 471 + right: max(14px, env(safe-area-inset-right)); 472 + padding: 4px 12px; 473 + border-radius: 10px; 474 + background: var(--ctrl-btn); 475 + color: rgba(255,255,255,0.7); 476 + font-size: 11px; 477 + font-weight: 500; 478 + letter-spacing: 0.03em; 479 + border: none; 480 + box-shadow: 0 2px 4px rgba(11,15,20,0.25); 481 + transition: background 0.07s, transform 0.07s, opacity 0.07s; 482 + touch-action: none; 483 + } 484 + #btn-pause.pressed { 485 + background: var(--bsky-deep); transform: scale(0.89); 486 + } 487 + } 488 + 489 + /* ── Mobile landscape: controls flank the canvas ── 490 + The square canvas is sized by the short axis (height) and centred, leaving a 491 + gutter on each side; the d-pad sits in the left gutter and the action buttons 492 + in the right. Overrides the portrait bottom-bar layout from the block above. */ 493 + @media (orientation: landscape) and (height <= 599px) { 494 + /* Player fills the FULL viewport height (square, centred). The header no 495 + longer steals a row - its title/power live in the side gutters instead. 496 + Reserve ~180px of gutter each side so controls never touch the canvas. */ 497 + canvas#canvas { 498 + width: min(100dvh, calc(100dvw - 360px), 512px) !important; 499 + height: min(100dvh, calc(100dvw - 360px), 512px) !important; 500 + } 501 + 502 + /* Stage spans the whole viewport and is transparent, so the canvas centres 503 + over the full height and the page-bg gutters show around it. The header 504 + stays underneath in place; the centred canvas only covers its empty middle, 505 + leaving the title (left) and power/logout (right) visible in the gutters. */ 506 + /* width/height are explicit to override the desktop #stage's 512px box; with 507 + position:fixed they make the stage exactly the viewport so the canvas 508 + centres over the full height (not inside a 512px box). */ 509 + #stage { position: fixed; inset: 0; width: 100dvw; height: 100dvh; background: transparent; z-index: 2; } 510 + /* No divider - its bg already matches the gutters; the line would cross them. */ 511 + #mobile-header { border-bottom: none; } 512 + 513 + /* Controller becomes a full-viewport overlay; only its buttons take touches 514 + so the canvas underneath stays interactive. */ 515 + #mobile-controls { 516 + position: fixed; 517 + inset: 0; 518 + height: auto; 519 + padding: 0; 520 + background: none; 521 + border-top: none; 522 + pointer-events: none; 523 + z-index: 5; 524 + } 525 + #mobile-controls > * { pointer-events: auto; } 526 + 527 + /* D-pad: left gutter, vertically centred on the full-height canvas. 528 + Clears the landscape notch via safe-area inset. */ 529 + .dpad { 530 + position: absolute; 531 + top: 50%; 532 + left: max(14px, calc(env(safe-area-inset-left) + 8px)); 533 + transform: translateY(-50%); 534 + } 535 + 536 + /* Action buttons: right gutter, vertically centred. */ 537 + .action-btns { 538 + position: absolute; 539 + top: 50%; 540 + right: max(14px, calc(env(safe-area-inset-right) + 8px)); 541 + transform: translateY(-50%); 542 + } 543 + 544 + /* Pause button: bottom of the left gutter, aligned with the d-pad's left 545 + edge. Keeping left == d-pad-left (not d-pad-right + gap) ensures the 546 + button never overflows into the canvas regardless of safe-area size or 547 + phone width. top/right must be auto (not unset) to reliably clear the 548 + portrait values on mobile Safari. */ 549 + #btn-pause { 550 + position: absolute; 551 + top: auto; 552 + right: auto; 553 + left: max(14px, calc(env(safe-area-inset-left) + 8px)); 554 + bottom: max(8px, calc(8px + env(safe-area-inset-bottom))); 555 + transform: none; 556 + } 557 + } 558 + 559 + /* ── Persistent settings cluster (theme + audio) ── 560 + Fixed bottom-right on BOTH desktop and mobile, above the gate/play 561 + overlays (z-index 11 > their 10), so it's visible on every screen and 562 + the user can set theme/audio before pressing Play. On mobile it lands in 563 + the controller's bottom-right corner (where audio used to live). */ 564 + #settings { 565 + position: fixed; 566 + bottom: max(10px, calc(10px + env(safe-area-inset-bottom))); 567 + right: max(14px, env(safe-area-inset-right)); 568 + z-index: 11; 569 + display: flex; 570 + gap: 8px; 571 + } 572 + #settings button { 573 + width: 34px; height: 34px; 574 + border-radius: 50%; 575 + background: var(--ctrl-btn); 576 + color: rgba(255, 255, 255, 0.85); 577 + padding: 0; border: none; 578 + display: flex; align-items: center; justify-content: center; 579 + box-shadow: 0 2px 4px rgba(11, 15, 20, 0.25); 580 + transition: opacity 0.15s, transform 0.07s; 581 + touch-action: manipulation; 582 + } 583 + #settings button:active { transform: scale(0.9); } 584 + #settings button.muted { opacity: 0.45; } 585 + 586 + /* TV / CRT toggle: grey (theme-aware --muted) when off, white when on. The 587 + icon is fill="currentColor", so it follows the button colour. Two-ID 588 + selectors beat the `#settings button` colour rule above. (On mobile the 589 + button is relocated into #mobile-header-actions, styled separately below.) */ 590 + #settings #btn-tv { color: var(--muted); } 591 + #settings #btn-tv.on { color: #fff; } 592 + 593 + /* ── PICO-8 font (MIT license, jacobpierce/pico-8-font) ── */ 594 + @font-face { 595 + font-family: 'PICO-8'; 596 + src: url('fonts/PICO-8.eot'); 597 + src: url('fonts/PICO-8.eot?#iefix') format('embedded-opentype'), 598 + url('fonts/PICO-8.ttf') format('truetype'); 599 + font-weight: normal; 600 + font-style: normal; 601 + } 602 + 603 + /* Help and info buttons - PICO-8 font, desktop settings cluster only */ 604 + #btn-help, #btn-info { 605 + font-family: 'PICO-8', monospace; 606 + font-size: 16px; 607 + line-height: 1; 608 + -webkit-font-smoothing: none; 609 + -moz-osx-font-smoothing: grayscale; 610 + font-smooth: never; 611 + } 612 + @media (width <= 599px), (orientation: landscape) and (height <= 599px) { #settings #btn-tv { display: none; } } 613 + @media (width <= 599px), (orientation: landscape) and (height <= 599px) { #settings #btn-help { display: none; } } 614 + @media (width <= 599px), (orientation: landscape) and (height <= 599px) { #settings #btn-info { display: none; } } 615 + @media (width <= 599px), (orientation: landscape) and (height <= 599px) { #settings #btn-fullscreen { display: none; } } 616 + 617 + /* Hide tooltips unconditionally - popover-unsupported browsers would render 618 + them as visible inline text otherwise. showPopover() promotes to top layer 619 + and overrides this on browsers that do support the Popover API. */ 620 + .btn-tooltip { display: none; } 621 + 622 + /* ── Button tooltips (desktop hover devices only) ── */ 623 + @media (hover: hover) { 624 + #btn-audio { anchor-name: --btn-audio; } 625 + #btn-fullscreen { anchor-name: --btn-fullscreen; } 626 + #btn-tv { anchor-name: --btn-tv; } 627 + #btn-theme { anchor-name: --btn-theme; } 628 + #btn-help { anchor-name: --btn-help; } 629 + #btn-info { anchor-name: --btn-info; } 630 + 631 + /* Light theme: dark chip on white page (19:1 contrast) */ 632 + .btn-tooltip { 633 + margin: 0; 634 + padding: 3px 9px; 635 + border: 1px solid rgba(255, 255, 255, 0.1); 636 + border-radius: 6px; 637 + background: #0b0f14; 638 + color: rgba(255, 255, 255, 0.9); 639 + font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; 640 + font-size: 11px; 641 + font-weight: 600; 642 + line-height: 1.4; 643 + white-space: nowrap; 644 + pointer-events: none; 645 + box-shadow: 0 2px 8px rgba(11, 15, 20, 0.25); 646 + opacity: 0; 647 + transition: opacity 0.12s ease; 648 + } 649 + /* Dark theme: light chip on dark page (10:1 contrast) */ 650 + [data-theme="dark"] .btn-tooltip { 651 + background: #c8d4e0; 652 + color: #0b0f14; 653 + border-color: rgba(11, 15, 20, 0.15); 654 + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); 655 + } 656 + @supports (anchor-name: --x) { 657 + .btn-tooltip { 658 + position: fixed; 659 + inset: unset; 660 + position-area: top center; 661 + margin-bottom: 7px; 662 + } 663 + #tip-audio { position-anchor: --btn-audio; } 664 + #tip-fullscreen { position-anchor: --btn-fullscreen; } 665 + #tip-tv { position-anchor: --btn-tv; } 666 + #tip-theme { position-anchor: --btn-theme; } 667 + #tip-help { position-anchor: --btn-help; } 668 + #tip-info { position-anchor: --btn-info; } 669 + } 670 + .btn-tooltip:popover-open { display: block; opacity: 1; } 671 + } 672 + 673 + /* ── Keyboard shortcuts dialog ── */ 674 + #shortcuts-dialog { 675 + border: 3px solid var(--ctrl-border); 676 + background: var(--panel); 677 + color: var(--ink); 678 + font-family: 'PICO-8', monospace; 679 + -webkit-font-smoothing: none; 680 + -moz-osx-font-smoothing: grayscale; 681 + font-smooth: never; 682 + font-size: 10px; 683 + padding: 0; 684 + max-width: 380px; 685 + width: calc(100vw - 32px); 686 + border-radius: 0; 687 + box-shadow: 4px 4px 0 rgba(0,0,0,0.35); 688 + } 689 + #shortcuts-dialog::backdrop { 690 + background: rgba(0, 0, 0, 0.55); 691 + } 692 + .shortcuts-header { 693 + display: flex; 694 + align-items: center; 695 + justify-content: space-between; 696 + padding: 10px 12px 8px; 697 + border-bottom: 2px solid var(--ctrl-border); 698 + background: var(--ctrl-btn); 699 + color: #fff1e8; 700 + } 701 + .shortcuts-header h2 { 702 + margin: 0; 703 + font-size: 12px; 704 + font-weight: normal; 705 + letter-spacing: 0.5px; 706 + text-transform: lowercase; 707 + } 708 + #shortcuts-close, #info-close { 709 + width: 20px; height: 20px; 710 + padding: 0; border: 2px solid rgba(255,255,255,0.3); 711 + border-radius: 0; 712 + background: transparent; 713 + color: #fff1e8; 714 + font-family: 'PICO-8', monospace; 715 + font-size: 12px; 716 + line-height: 1; 717 + display: flex; align-items: center; justify-content: center; 718 + cursor: pointer; 719 + -webkit-font-smoothing: none; 720 + flex-shrink: 0; 721 + } 722 + #shortcuts-close:hover, #info-close:hover { background: rgba(255,255,255,0.15); } 723 + #shortcuts-close:active, #info-close:active { transform: scale(0.9); } 724 + .shortcuts-section { 725 + padding: 0; 726 + } 727 + .shortcuts-section-label { 728 + font-size: 10px; 729 + text-transform: lowercase; 730 + color: var(--muted); 731 + padding: 6px 12px 4px; 732 + letter-spacing: 0.5px; 733 + border-top: 2px solid var(--ctrl-border); 734 + } 735 + .shortcuts-section-label:first-child { border-top: none; } 736 + .shortcuts-table { 737 + width: 100%; 738 + border-collapse: collapse; 739 + font-size: 10px; 740 + } 741 + .shortcuts-table tr:last-child td { padding-bottom: 8px; } 742 + .shortcuts-table td { 743 + padding: 3px 12px; 744 + vertical-align: middle; 745 + line-height: 1.4; 746 + white-space: nowrap; 747 + } 748 + .shortcuts-table td:first-child { 749 + width: 1%; 750 + padding-right: 16px; 751 + } 752 + .shortcuts-table td:last-child { 753 + color: var(--muted); 754 + } 755 + kbd { 756 + display: inline-block; 757 + background: var(--ctrl-btn); 758 + color: #fff1e8; 759 + font-family: 'PICO-8', monospace; 760 + font-size: 10px; 761 + -webkit-font-smoothing: none; 762 + padding: 2px 4px; 763 + border-radius: 0; 764 + border-bottom: 2px solid rgba(0,0,0,0.3); 765 + white-space: nowrap; 766 + line-height: 1; 767 + } 768 + .key-sep { 769 + color: var(--muted); 770 + padding: 0 2px; 771 + font-size: 10px; 772 + } 773 + 774 + /* ── Credits dialog ── */ 775 + #info-dialog { 776 + border: 3px solid var(--ctrl-border); 777 + background: var(--panel); 778 + color: var(--ink); 779 + font-family: 'PICO-8', monospace; 780 + -webkit-font-smoothing: none; 781 + -moz-osx-font-smoothing: grayscale; 782 + font-smooth: never; 783 + font-size: 10px; 784 + padding: 0; 785 + max-width: 360px; 786 + width: calc(100vw - 32px); 787 + border-radius: 0; 788 + box-shadow: 4px 4px 0 rgba(0,0,0,0.35); 789 + } 790 + #info-dialog::backdrop { background: rgba(0, 0, 0, 0.55); } 791 + .info-body { 792 + padding: 12px 14px 14px; 793 + line-height: 1.8; 794 + display: flex; 795 + flex-direction: column; 796 + gap: 4px; 797 + } 798 + .info-body > p { margin: 0; } 799 + .info-thanks { color: var(--muted); font-size: 9px; padding-top: 8px; } 800 + .info-list { 801 + margin: 0; 802 + padding: 0; 803 + list-style: none; 804 + line-height: 2; 805 + } 806 + .info-list li::before { content: "- "; color: var(--muted); } 807 + .info-list a { color: var(--blue); text-decoration: none; } 808 + .info-list a:hover { text-decoration: underline; } 809 + .info-cross { color: var(--muted); font-size: 9px; padding-top: 8px; } 810 + .info-cross a { color: var(--blue); text-decoration: none; } 811 + .info-cross a:hover { text-decoration: underline; } 812 + </style> 813 + </head> 814 + <body> 815 + 816 + <!-- Mobile-only header: butterfly logo + title + session button slot --> 817 + <div id="mobile-header"> 818 + <svg class="butterfly-sm" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"> 819 + <g fill="#1185fe"> 820 + <rect x="2" y="0" width="2" height="1"/><rect x="12" y="0" width="2" height="1"/> 821 + <rect x="1" y="1" width="4" height="1"/><rect x="11" y="1" width="4" height="1"/> 822 + <rect x="0" y="2" width="6" height="1"/><rect x="10" y="2" width="6" height="1"/> 823 + <rect x="0" y="3" width="7" height="1"/><rect x="9" y="3" width="7" height="1"/> 824 + <rect x="0" y="4" width="6" height="1"/><rect x="10" y="4" width="6" height="1"/> 825 + <rect x="0" y="5" width="5" height="1"/><rect x="11" y="5" width="5" height="1"/> 826 + <rect x="1" y="6" width="4" height="1"/><rect x="7" y="6" width="2" height="1"/><rect x="11" y="6" width="4" height="1"/> 827 + <rect x="2" y="7" width="3" height="1"/><rect x="7" y="7" width="2" height="1"/><rect x="11" y="7" width="3" height="1"/> 828 + <rect x="3" y="8" width="2" height="1"/><rect x="7" y="8" width="2" height="1"/><rect x="11" y="8" width="2" height="1"/> 829 + <rect x="2" y="9" width="4" height="1"/><rect x="10" y="9" width="4" height="1"/> 830 + <rect x="1" y="10" width="5" height="1"/><rect x="10" y="10" width="5" height="1"/> 831 + <rect x="0" y="11" width="6" height="1"/><rect x="10" y="11" width="6" height="1"/> 832 + <rect x="0" y="12" width="6" height="1"/><rect x="10" y="12" width="6" height="1"/> 833 + <rect x="1" y="13" width="5" height="1"/><rect x="10" y="13" width="5" height="1"/> 834 + <rect x="2" y="14" width="4" height="1"/><rect x="10" y="14" width="4" height="1"/> 835 + <rect x="4" y="15" width="2" height="1"/><rect x="10" y="15" width="2" height="1"/> 836 + </g> 837 + <g fill="#0560ff"> 838 + <rect x="6" y="4" width="1" height="1"/><rect x="9" y="4" width="1" height="1"/> 839 + <rect x="5" y="5" width="2" height="1"/><rect x="9" y="5" width="2" height="1"/> 840 + <rect x="5" y="6" width="2" height="1"/><rect x="9" y="6" width="2" height="1"/> 841 + <rect x="5" y="7" width="2" height="1"/><rect x="9" y="7" width="2" height="1"/> 842 + <rect x="5" y="8" width="2" height="1"/><rect x="9" y="8" width="2" height="1"/> 843 + <rect x="6" y="9" width="4" height="1"/> 844 + <rect x="6" y="10" width="4" height="1"/> 845 + <rect x="6" y="11" width="4" height="1"/> 846 + <rect x="6" y="12" width="4" height="1"/> 847 + <rect x="6" y="13" width="4" height="1"/> 848 + </g> 849 + </svg> 850 + <span class="title">picosky</span> 851 + <div id="mobile-header-actions"> 852 + <button id="btn-info-mobile" aria-label="Info" aria-haspopup="dialog"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 8" shape-rendering="crispEdges" fill="currentColor" width="12" height="16" aria-hidden="true"><rect x="2" y="0" width="2" height="2"/><rect x="2" y="3" width="2" height="5"/></svg></button> 853 + </div> 854 + </div> 855 + 856 + <!-- PICO-8 canvas stage --> 857 + <div id="stage"> 858 + <canvas 859 + id="canvas" 860 + class="emscripten" 861 + oncontextmenu="event.preventDefault()" 862 + ></canvas> 863 + <!-- CRT shader output: the cart re-rendered through the CRT effect, hidden until the TV toggle turns it on. --> 864 + <canvas id="crt-canvas" aria-hidden="true"></canvas> 865 + <!-- Transparent capture surface for the mobile soft keyboard --> 866 + <div 867 + id="compose-input" 868 + contenteditable="true" 869 + role="textbox" 870 + aria-label="Compose post" 871 + autocapitalize="off" 872 + autocorrect="off" 873 + spellcheck="false" 874 + enterkeyhint="send" 875 + ></div> 876 + </div> 877 + 878 + <!-- Keyboard shortcuts dialog (desktop only) --> 879 + <dialog id="shortcuts-dialog" aria-label="Keyboard shortcuts"> 880 + <div class="shortcuts-header"> 881 + <h2>keyboard shortcuts</h2> 882 + <button id="shortcuts-close" aria-label="Close">x</button> 883 + </div> 884 + 885 + <!-- Navigation --> 886 + <div class="shortcuts-section"> 887 + <div class="shortcuts-section-label">navigation</div> 888 + <table class="shortcuts-table"> 889 + <tbody> 890 + <tr><td><kbd>↑</kbd><span class="key-sep">/</span><kbd>↓</kbd></td><td>move cursor</td></tr> 891 + <tr><td><kbd>←</kbd><span class="key-sep">/</span><kbd>→</kbd></td><td>collapse / expand post</td></tr> 892 + <tr><td><kbd>z</kbd></td><td>open menu</td></tr> 893 + <tr><td><kbd>x</kbd></td><td>open thread / back</td></tr> 894 + <tr><td><kbd>Esc</kbd></td><td>back to timeline</td></tr> 895 + </tbody> 896 + </table> 897 + </div> 898 + 899 + <!-- Quick actions --> 900 + <div class="shortcuts-section"> 901 + <div class="shortcuts-section-label">quick actions</div> 902 + <table class="shortcuts-table"> 903 + <tbody> 904 + <tr><td><kbd>l</kbd></td><td>like / unlike post</td></tr> 905 + <tr><td><kbd>s</kbd></td><td>repost / unrepost</td></tr> 906 + <tr><td><kbd>q</kbd></td><td>quote post</td></tr> 907 + <tr><td><kbd>n</kbd></td><td>new post</td></tr> 908 + <tr><td><kbd>r</kbd></td><td>refresh timeline</td></tr> 909 + <tr><td><kbd>t</kbd></td><td>toggle theme</td></tr> 910 + <tr><td><kbd>d</kbd></td><td>credits / demo</td></tr> 911 + </tbody> 912 + </table> 913 + </div> 914 + 915 + <!-- In menu --> 916 + <div class="shortcuts-section"> 917 + <div class="shortcuts-section-label">while in menu</div> 918 + <table class="shortcuts-table"> 919 + <tbody> 920 + <tr><td><kbd>←</kbd><span class="key-sep">/</span><kbd>→</kbd></td><td>navigate items</td></tr> 921 + <tr><td><kbd>Enter</kbd></td><td>activate item</td></tr> 922 + <tr><td><kbd>x</kbd><span class="key-sep">/</span><kbd>Esc</kbd></td><td>close menu</td></tr> 923 + </tbody> 924 + </table> 925 + </div> 926 + 927 + <!-- Compose --> 928 + <div class="shortcuts-section"> 929 + <div class="shortcuts-section-label">while composing</div> 930 + <table class="shortcuts-table"> 931 + <tbody> 932 + <tr><td><kbd>Enter</kbd></td><td>send post</td></tr> 933 + <tr><td><kbd>Esc</kbd></td><td>cancel</td></tr> 934 + <tr><td><kbd>Bksp</kbd></td><td>delete char</td></tr> 935 + </tbody> 936 + </table> 937 + </div> 938 + 939 + <!-- PICO-8 system --> 940 + <div class="shortcuts-section"> 941 + <div class="shortcuts-section-label">pico-8 system</div> 942 + <table class="shortcuts-table"> 943 + <tbody> 944 + <tr><td><kbd>Enter</kbd><span class="key-sep">/</span><kbd>P</kbd></td><td>pause menu</td></tr> 945 + <tr><td><kbd>Ctrl</kbd>+<kbd>M</kbd></td><td>mute / unmute</td></tr> 946 + </tbody> 947 + </table> 948 + </div> 949 + </dialog> 950 + 951 + <!-- Info dialog --> 952 + <dialog id="info-dialog" aria-label="Info"> 953 + <div class="shortcuts-header"> 954 + <h2>info</h2> 955 + <button id="info-close" aria-label="Close">x</button> 956 + </div> 957 + <div class="info-body"> 958 + <p>picosky v0.3 made by <a href="https://tangled.org/vinnymac.dev">vinnymac</a> (<a href="https://tangled.org/vinnymac/picosky">source</a>)</p> 959 + <p class="info-thanks">special thanks to:</p> 960 + <ul class="info-list"> 961 + <li>zep for <a href="https://www.lexaloffle.com/pico-8.php">PICO-8</a></li> 962 + <li>daniel linssen for <a href="https://managore.itch.io/m3x6">m3x6</a></li> 963 + <li>gingerbeardman for <a href="https://github.com/gingerbeardman/webgl-crt-shader">webgl-crt-shader</a></li> 964 + <li><a href="https://bsky.app/profile/bsky.app">bsky team</a></li> 965 + </ul> 966 + <p class="info-cross">want more? try <a href="https://tangled.sh/vinnymac/npicomx">npicomx</a></p> 967 + </div> 968 + </dialog> 969 + 970 + <!-- Desktop session controls (shown after cart boots). Audio + theme live in 971 + the persistent #settings cluster (bottom-right), not here. --> 972 + <div id="controls"> 973 + <button class="ghost" id="btn-logout" style="display:none">Logout</button> 974 + <button class="ghost" id="btn-shutdown" aria-label="Shutdown"> 975 + <span class="btn-label">Shutdown</span> 976 + <!-- Mobile-only pixel power glyph: a thick centre bar in the opening of a 977 + thick ring that's broken at the top. Pixelated from a reference power 978 + symbol, symmetric, same crispEdges/rect style as the theme + audio icons. --> 979 + <svg class="power-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" shape-rendering="crispEdges" fill="currentColor" width="18" height="18" aria-hidden="true"> 980 + <!-- centre bar (protrudes above the ring, ends at the middle) --> 981 + <rect x="8" y="0" width="2" height="8"/> 982 + <!-- left arc, top opening down to the bottom --> 983 + <rect x="3" y="3" width="2" height="1"/><rect x="2" y="4" width="3" height="2"/> 984 + <rect x="1" y="6" width="3" height="1"/><rect x="1" y="7" width="2" height="5"/> 985 + <rect x="1" y="12" width="3" height="1"/><rect x="2" y="13" width="3" height="1"/> 986 + <rect x="2" y="14" width="4" height="1"/><rect x="3" y="15" width="5" height="1"/> 987 + <!-- right arc (mirror) --> 988 + <rect x="13" y="3" width="2" height="1"/><rect x="13" y="4" width="3" height="2"/> 989 + <rect x="14" y="6" width="3" height="1"/><rect x="15" y="7" width="2" height="5"/> 990 + <rect x="14" y="12" width="3" height="1"/><rect x="13" y="13" width="3" height="1"/> 991 + <rect x="12" y="14" width="4" height="1"/><rect x="10" y="15" width="5" height="1"/> 992 + <!-- bottom of the ring --> 993 + <rect x="4" y="16" width="10" height="1"/><rect x="6" y="17" width="6" height="1"/> 994 + </svg> 995 + </button> 996 + </div> 997 + 998 + <!-- Mobile game controller (shown after cart boots) --> 999 + <div id="mobile-controls" class="hidden"> 1000 + <div class="dpad" role="group" aria-label="Directional pad"> 1001 + <button class="dpad-btn dpad-btn-up" data-pico8btn="2" aria-label="Up"><span class="dpad-arrow">▲</span></button> 1002 + <button class="dpad-btn dpad-btn-left" data-pico8btn="0" aria-label="Left"><span class="dpad-arrow">▲</span></button> 1003 + <button class="dpad-btn dpad-btn-right" data-pico8btn="1" aria-label="Right"><span class="dpad-arrow">▲</span></button> 1004 + <button class="dpad-btn dpad-btn-down" data-pico8btn="3" aria-label="Down"><span class="dpad-arrow">▲</span></button> 1005 + </div> 1006 + <div class="action-btns" role="group" aria-label="Action buttons"> 1007 + <button class="action-btn btn-x" data-pico8btn="5" aria-label="X button">X</button> 1008 + <button class="action-btn btn-o" data-pico8btn="4" aria-label="O button">O</button> 1009 + </div> 1010 + <button id="btn-pause" aria-label="Pause menu">pause</button> 1011 + </div> 1012 + 1013 + <!-- Persistent theme + audio toggles --> 1014 + <div id="settings"> 1015 + <button id="btn-theme" aria-label="Theme: auto" aria-describedby="tip-theme"> 1016 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges" fill="white" width="16" height="16" aria-hidden="true"> 1017 + <g class="theme-sun" style="display:none"> 1018 + <rect x="6" y="4" width="4" height="2"/><rect x="4" y="6" width="8" height="4"/> 1019 + <rect x="6" y="10" width="4" height="2"/> 1020 + <rect x="6" y="0" width="4" height="2"/><rect x="6" y="14" width="4" height="2"/> 1021 + <rect x="0" y="6" width="2" height="4"/><rect x="14" y="6" width="2" height="4"/> 1022 + <rect x="2" y="2" width="2" height="2"/><rect x="12" y="2" width="2" height="2"/> 1023 + <rect x="2" y="12" width="2" height="2"/><rect x="12" y="12" width="2" height="2"/> 1024 + </g> 1025 + <g class="theme-moon" style="display:none"> 1026 + <rect x="6" y="2" width="4" height="1"/> 1027 + <rect x="4" y="3" width="8" height="1"/> 1028 + <rect x="3" y="4" width="2" height="2"/><rect x="7" y="4" width="6" height="2"/> 1029 + <rect x="2" y="6" width="12" height="2"/> 1030 + <rect x="2" y="8" width="8" height="2"/><rect x="12" y="8" width="2" height="2"/> 1031 + <rect x="3" y="10" width="10" height="2"/> 1032 + <rect x="4" y="12" width="8" height="1"/> 1033 + <rect x="6" y="13" width="4" height="1"/> 1034 + </g> 1035 + <g class="theme-auto"> 1036 + <rect x="6" y="0" width="2" height="2"/> 1037 + <rect x="2" y="2" width="2" height="2"/> 1038 + <rect x="6" y="4" width="2" height="2"/> 1039 + <rect x="0" y="6" width="2" height="4"/><rect x="4" y="6" width="4" height="4"/> 1040 + <rect x="6" y="10" width="2" height="2"/> 1041 + <rect x="2" y="12" width="2" height="2"/> 1042 + <rect x="6" y="14" width="2" height="2"/> 1043 + <rect x="9" y="2" width="1" height="1"/> 1044 + <rect x="9" y="3" width="3" height="1"/> 1045 + <rect x="9" y="4" width="4" height="2"/> 1046 + <rect x="9" y="6" width="5" height="2"/> 1047 + <rect x="9" y="8" width="1" height="2"/><rect x="12" y="8" width="2" height="2"/> 1048 + <rect x="9" y="10" width="4" height="2"/> 1049 + <rect x="9" y="12" width="3" height="1"/> 1050 + <rect x="9" y="13" width="1" height="1"/> 1051 + </g> 1052 + </svg> 1053 + </button> 1054 + <span id="tip-theme" class="btn-tooltip" role="tooltip" popover="manual">Theme</span> 1055 + <button id="btn-audio" aria-label="Toggle audio" aria-pressed="false" aria-describedby="tip-audio"> 1056 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 8" shape-rendering="crispEdges" fill="white" width="18" height="13" aria-hidden="true"> 1057 + <rect x="3" y="0" width="1" height="1"/><rect x="2" y="1" width="2" height="1"/> 1058 + <rect x="1" y="2" width="3" height="1"/><rect x="0" y="3" width="4" height="2"/> 1059 + <rect x="1" y="5" width="3" height="1"/><rect x="2" y="6" width="2" height="1"/> 1060 + <rect x="3" y="7" width="1" height="1"/> 1061 + <g class="audio-waves"> 1062 + <rect x="5" y="1" width="1" height="1"/><rect x="6" y="2" width="1" height="4"/><rect x="5" y="6" width="1" height="1"/> 1063 + <rect x="7" y="0" width="1" height="1"/><rect x="8" y="1" width="1" height="6"/><rect x="7" y="7" width="1" height="1"/> 1064 + </g> 1065 + <g class="audio-mute" style="display:none"> 1066 + <rect x="5" y="2" width="1" height="1"/><rect x="6" y="3" width="1" height="1"/> 1067 + <rect x="7" y="4" width="1" height="1"/><rect x="8" y="5" width="1" height="1"/> 1068 + <rect x="8" y="2" width="1" height="1"/><rect x="7" y="3" width="1" height="1"/> 1069 + <rect x="6" y="4" width="1" height="1"/><rect x="5" y="5" width="1" height="1"/> 1070 + </g> 1071 + </svg> 1072 + </button> 1073 + <span id="tip-audio" class="btn-tooltip" role="tooltip" popover="manual">Audio</span> 1074 + <button id="btn-fullscreen" aria-label="Enter fullscreen" aria-pressed="false" aria-describedby="tip-fullscreen"> 1075 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" shape-rendering="crispEdges" fill="currentColor" width="16" height="16" aria-hidden="true"> 1076 + <g class="fs-expand"> 1077 + <rect x="0" y="0" width="3" height="1"/><rect x="0" y="1" width="1" height="2"/> 1078 + <rect x="9" y="0" width="3" height="1"/><rect x="11" y="1" width="1" height="2"/> 1079 + <rect x="0" y="11" width="3" height="1"/><rect x="0" y="9" width="1" height="2"/> 1080 + <rect x="9" y="11" width="3" height="1"/><rect x="11" y="9" width="1" height="2"/> 1081 + </g> 1082 + <g class="fs-compress" style="display:none"> 1083 + <rect x="0" y="3" width="3" height="1"/><rect x="3" y="0" width="1" height="3"/> 1084 + <rect x="9" y="3" width="3" height="1"/><rect x="8" y="0" width="1" height="3"/> 1085 + <rect x="0" y="8" width="3" height="1"/><rect x="3" y="9" width="1" height="3"/> 1086 + <rect x="9" y="8" width="3" height="1"/><rect x="8" y="9" width="1" height="3"/> 1087 + </g> 1088 + </svg> 1089 + </button> 1090 + <span id="tip-fullscreen" class="btn-tooltip" role="tooltip" popover="manual">Full</span> 1091 + <!-- CRT / TV toggle: pixel-art television --> 1092 + <button id="btn-tv" aria-label="Toggle CRT effect" aria-pressed="false" aria-describedby="tip-tv"> 1093 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 11" shape-rendering="crispEdges" fill="currentColor" width="18" height="16" aria-hidden="true"> 1094 + <rect x="2" y="0" width="1" height="1"/><rect x="3" y="1" width="1" height="1"/><rect x="4" y="2" width="1" height="1"/> 1095 + <rect x="9" y="0" width="1" height="1"/><rect x="8" y="1" width="1" height="1"/><rect x="7" y="2" width="1" height="1"/> 1096 + <rect x="5" y="3" width="2" height="1"/> 1097 + <rect x="0" y="4" width="12" height="1"/> 1098 + <rect x="0" y="9" width="12" height="1"/> 1099 + <rect x="0" y="5" width="1" height="4"/> 1100 + <rect x="11" y="5" width="1" height="4"/> 1101 + <rect x="8" y="5" width="1" height="4"/> 1102 + <rect x="9" y="6" width="1" height="1"/><rect x="9" y="8" width="1" height="1"/> 1103 + <rect x="2" y="10" width="2" height="1"/><rect x="8" y="10" width="2" height="1"/> 1104 + </svg> 1105 + </button> 1106 + <span id="tip-tv" class="btn-tooltip" role="tooltip" popover="manual">CRT</span> 1107 + <!-- Desktop-only: opens the keyboard shortcuts dialog --> 1108 + <button id="btn-help" aria-label="Keyboard shortcuts" aria-haspopup="dialog" aria-describedby="tip-help">?</button> 1109 + <span id="tip-help" class="btn-tooltip" role="tooltip" popover="manual">Help</span> 1110 + <button id="btn-info" aria-label="Info" aria-haspopup="dialog" aria-describedby="tip-info"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 8" shape-rendering="crispEdges" fill="currentColor" width="12" height="16" aria-hidden="true"><rect x="2" y="0" width="2" height="2"/><rect x="2" y="3" width="2" height="5"/></svg></button> 1111 + <span id="tip-info" class="btn-tooltip" role="tooltip" popover="manual">Info</span> 1112 + </div> 1113 + 1114 + <!-- OAuth gate overlay - starts in loading state; JS removes it once init resolves --> 1115 + <div id="gate" class="loading"> 1116 + <svg class="butterfly" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-label="picosky"> 1117 + <g fill="#1185fe"> 1118 + <rect x="2" y="0" width="2" height="1"/><rect x="12" y="0" width="2" height="1"/> 1119 + <rect x="1" y="1" width="4" height="1"/><rect x="11" y="1" width="4" height="1"/> 1120 + <rect x="0" y="2" width="6" height="1"/><rect x="10" y="2" width="6" height="1"/> 1121 + <rect x="0" y="3" width="7" height="1"/><rect x="9" y="3" width="7" height="1"/> 1122 + <rect x="0" y="4" width="6" height="1"/><rect x="10" y="4" width="6" height="1"/> 1123 + <rect x="0" y="5" width="5" height="1"/><rect x="11" y="5" width="5" height="1"/> 1124 + <rect x="1" y="6" width="4" height="1"/><rect x="7" y="6" width="2" height="1"/><rect x="11" y="6" width="4" height="1"/> 1125 + <rect x="2" y="7" width="3" height="1"/><rect x="7" y="7" width="2" height="1"/><rect x="11" y="7" width="3" height="1"/> 1126 + <rect x="3" y="8" width="2" height="1"/><rect x="7" y="8" width="2" height="1"/><rect x="11" y="8" width="2" height="1"/> 1127 + <rect x="2" y="9" width="4" height="1"/><rect x="10" y="9" width="4" height="1"/> 1128 + <rect x="1" y="10" width="5" height="1"/><rect x="10" y="10" width="5" height="1"/> 1129 + <rect x="0" y="11" width="6" height="1"/><rect x="10" y="11" width="6" height="1"/> 1130 + <rect x="0" y="12" width="6" height="1"/><rect x="10" y="12" width="6" height="1"/> 1131 + <rect x="1" y="13" width="5" height="1"/><rect x="10" y="13" width="5" height="1"/> 1132 + <rect x="2" y="14" width="4" height="1"/><rect x="10" y="14" width="4" height="1"/> 1133 + <rect x="4" y="15" width="2" height="1"/><rect x="10" y="15" width="2" height="1"/> 1134 + </g> 1135 + <g fill="#0560ff"> 1136 + <rect x="6" y="4" width="1" height="1"/><rect x="9" y="4" width="1" height="1"/> 1137 + <rect x="5" y="5" width="2" height="1"/><rect x="9" y="5" width="2" height="1"/> 1138 + <rect x="5" y="6" width="2" height="1"/><rect x="9" y="6" width="2" height="1"/> 1139 + <rect x="5" y="7" width="2" height="1"/><rect x="9" y="7" width="2" height="1"/> 1140 + <rect x="5" y="8" width="2" height="1"/><rect x="9" y="8" width="2" height="1"/> 1141 + <rect x="6" y="9" width="4" height="1"/> 1142 + <rect x="6" y="10" width="4" height="1"/> 1143 + <rect x="6" y="11" width="4" height="1"/> 1144 + <rect x="6" y="12" width="4" height="1"/> 1145 + <rect x="6" y="13" width="4" height="1"/> 1146 + </g> 1147 + </svg> 1148 + <h1>picosky</h1> 1149 + <p id="gate-subtitle"><span>a Bluesky client for PICO-8</span></p> 1150 + <div class="row signin-form"> 1151 + <input id="handle" type="text" placeholder="you.bsky.social" autocomplete="username" /> 1152 + <button id="signin">Sign in</button> 1153 + </div> 1154 + <div id="err"></div> 1155 + <button class="ghost signin-form" id="demo">Try demo (no login)</button> 1156 + </div> 1157 + 1158 + <!-- Play screen: shown after OAuth to capture a click and unlock audio --> 1159 + <div id="play" class="hidden"> 1160 + <svg class="butterfly" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"> 1161 + <g fill="#1185fe"> 1162 + <rect x="2" y="0" width="2" height="1"/><rect x="12" y="0" width="2" height="1"/> 1163 + <rect x="1" y="1" width="4" height="1"/><rect x="11" y="1" width="4" height="1"/> 1164 + <rect x="0" y="2" width="6" height="1"/><rect x="10" y="2" width="6" height="1"/> 1165 + <rect x="0" y="3" width="7" height="1"/><rect x="9" y="3" width="7" height="1"/> 1166 + <rect x="0" y="4" width="6" height="1"/><rect x="10" y="4" width="6" height="1"/> 1167 + <rect x="0" y="5" width="5" height="1"/><rect x="11" y="5" width="5" height="1"/> 1168 + <rect x="1" y="6" width="4" height="1"/><rect x="7" y="6" width="2" height="1"/><rect x="11" y="6" width="4" height="1"/> 1169 + <rect x="2" y="7" width="3" height="1"/><rect x="7" y="7" width="2" height="1"/><rect x="11" y="7" width="3" height="1"/> 1170 + <rect x="3" y="8" width="2" height="1"/><rect x="7" y="8" width="2" height="1"/><rect x="11" y="8" width="2" height="1"/> 1171 + <rect x="2" y="9" width="4" height="1"/><rect x="10" y="9" width="4" height="1"/> 1172 + <rect x="1" y="10" width="5" height="1"/><rect x="10" y="10" width="5" height="1"/> 1173 + <rect x="0" y="11" width="6" height="1"/><rect x="10" y="11" width="6" height="1"/> 1174 + <rect x="0" y="12" width="6" height="1"/><rect x="10" y="12" width="6" height="1"/> 1175 + <rect x="1" y="13" width="5" height="1"/><rect x="10" y="13" width="5" height="1"/> 1176 + <rect x="2" y="14" width="4" height="1"/><rect x="10" y="14" width="4" height="1"/> 1177 + <rect x="4" y="15" width="2" height="1"/><rect x="10" y="15" width="2" height="1"/> 1178 + </g> 1179 + <g fill="#0560ff"> 1180 + <rect x="6" y="4" width="1" height="1"/><rect x="9" y="4" width="1" height="1"/> 1181 + <rect x="5" y="5" width="2" height="1"/><rect x="9" y="5" width="2" height="1"/> 1182 + <rect x="5" y="6" width="2" height="1"/><rect x="9" y="6" width="2" height="1"/> 1183 + <rect x="5" y="7" width="2" height="1"/><rect x="9" y="7" width="2" height="1"/> 1184 + <rect x="5" y="8" width="2" height="1"/><rect x="9" y="8" width="2" height="1"/> 1185 + <rect x="6" y="9" width="4" height="1"/> 1186 + <rect x="6" y="10" width="4" height="1"/> 1187 + <rect x="6" y="11" width="4" height="1"/> 1188 + <rect x="6" y="12" width="4" height="1"/> 1189 + <rect x="6" y="13" width="4" height="1"/> 1190 + </g> 1191 + </svg> 1192 + <h1>picosky</h1> 1193 + <p id="play-subtitle">signed in as…</p> 1194 + <button id="btn-play">Play</button> 1195 + <button class="ghost" id="btn-play-logout">Logout</button> 1196 + <div id="play-err" style="color:#d23;min-height:18px;font-size:13px"></div> 1197 + </div> 1198 + 1199 + <script> 1200 + // PICO-8 / Emscripten setup. The cart export (picosky.js) binds to these. 1201 + var Module = { arguments: ["-width", "512", "-height", "512"] }; 1202 + Module.canvas = document.getElementById("canvas"); 1203 + // NB: do not define a non-function `require` here. PICO-8's Emscripten 1204 + // export detects Node via `typeof require === "function"`, so leaving it 1205 + // undefined is correct for the browser - and picosky-shim.js relies on 1206 + // that to pick its window-global path instead of trying to require(). 1207 + 1208 + // Declare pico8_state so PICO-8 writes .sound_volume (0=muted, >0=unmuted) 1209 + // and .is_paused each frame once the cart is running. 1210 + window.pico8_state = {}; 1211 + </script> 1212 + 1213 + <!-- GPIO bridge: declares window.pico8_gpio + window.picoskyComms before the cart loads --> 1214 + <script src="picosky-comms.js"></script> 1215 + <script src="picosky-firehose.js"></script> 1216 + <script src="picosky-shim.js"></script> 1217 + 1218 + <script type="module"> 1219 + const gate = document.getElementById("gate"); 1220 + const play = document.getElementById("play"); 1221 + const errEl = document.getElementById("err"); 1222 + const handleEl = document.getElementById("handle"); 1223 + const controls = document.getElementById("controls"); 1224 + const btnLogout = document.getElementById("btn-logout"); 1225 + const btnShutdown = document.getElementById("btn-shutdown"); 1226 + const mobileControls = document.getElementById("mobile-controls"); 1227 + const mobileHeaderActions = document.getElementById("mobile-header-actions"); 1228 + 1229 + // Holds the active shim so the page can drive the demoscene (Escape exit). 1230 + let shim = null; 1231 + let oauthClient = null; 1232 + 1233 + // Replace with your deployed origin. For local dev, AT Protocol allows a 1234 + // special http://localhost client - no hosted client-metadata.json needed. 1235 + // The catch: the redirect must use the 127.0.0.1 loopback IP, so serve and 1236 + // open this page at http://127.0.0.1:PORT/ (run `npm run serve`). 1237 + const ORIGIN = location.origin; 1238 + const SCOPE = "atproto transition:generic"; 1239 + const isLoopback = 1240 + location.hostname === "127.0.0.1" || location.hostname === "[::1]"; 1241 + // The literal hostname "localhost" is NOT a valid AT Proto loopback 1242 + // redirect host; bail early with a clear message instead of failing later. 1243 + if (location.hostname === "localhost") { 1244 + document.getElementById("err").textContent = 1245 + "Open this page at http://127.0.0.1 (not localhost) for OAuth."; 1246 + } 1247 + const CLIENT_ID = isLoopback 1248 + ? `http://localhost?redirect_uri=${encodeURIComponent( 1249 + ORIGIN + "/" 1250 + )}&scope=${encodeURIComponent(SCOPE)}` 1251 + : `${ORIGIN}/client-metadata.json`; 1252 + 1253 + // ── Cart screen awareness ──────────────────────────────────────────── 1254 + // Screen constants mirror picosky.p8 (scr_*). 1255 + const SCR = { boot: 0, timeline: 1, thread: 2, compose: 3, auth: 4, demo: 5 }; 1256 + // The STATE pin (pico8_gpio[1]) is written by BOTH sides each half-duplex 1257 + // turn: the cart writes its real screen, the JS comms loop stomps it to 0 1258 + // (picosky-comms.js). So the truth is "the most recent non-zero value". 1259 + // Track it and notify listeners on change. (We never need to observe a 1260 + // return to boot=0.) 1261 + let currentScreen = 0; 1262 + let mobileMode = false; // set in bootCart; mirrored to the cart via GPIO pin 126 1263 + const screenListeners = []; 1264 + const onScreenChange = (fn) => screenListeners.push(fn); 1265 + // The PICO-8 pause menu freezes the cart's _update, so the comms TURN pin 1266 + // (gpio[0]) stops ping-ponging. Track when it last changed; if it's been 1267 + // static a while the menu is open (or the cart halted) - used to suppress 1268 + // the compose soft-keyboard when O merely selects a pause-menu item. 1269 + // 1270 + // Primary signal: pico8_state.is_paused is written natively by PICO-8 each 1271 + // frame and accurately reflects the pause menu state. The TURN-pin heuristic 1272 + // is kept as a fallback for the pre-boot window (before pico8_state is 1273 + // populated), but it's unreliable on Android Firefox where rAF and 1274 + // setInterval can phase-lock: rAF always resets TURN before the setInterval 1275 + // reads it, so lastTurnChangeAt goes stale even while the cart runs normally, 1276 + // causing cartPaused() to wrongly return true indefinitely. 1277 + let lastTurn = -1, lastTurnChangeAt = 0; 1278 + const cartPaused = () => { 1279 + const ps = window.pico8_state; 1280 + if (ps && typeof ps.is_paused === "boolean") return ps.is_paused; 1281 + return performance.now() - lastTurnChangeAt > 150; 1282 + }; 1283 + // Poll on a timer (NOT requestAnimationFrame): the comms rAF stomps the 1284 + // STATE pin to 0 each JS turn, and an rAF sampler phase-locks with it and 1285 + // only ever sees the 0. A timer samples across phases and reliably catches 1286 + // the cart's real (non-zero) screen. 1287 + setInterval(() => { 1288 + const g = window.pico8_gpio; 1289 + if (!g) return; 1290 + // Pins 126/127 sit outside the comms frame region, so the page is the 1291 + // sole writer of pin 126. Re-assert it every tick as a packed byte: 1292 + // bit0 = mobile flag (O/X hint glyphs), bit1 = page theme. Writing the 1293 + // whole byte (not just bit0) is essential - a bare `g[126]=1` would drop 1294 + // the theme bit and the cart would flicker back to day. 1295 + g[126] = (mobileMode ? 1 : 0) | (resolvedTheme() << 1); 1296 + // TURN pin (gpio[0]) only advances while the cart's _update runs; a static 1297 + // value means the pause menu is open (see cartPaused()). 1298 + const turn = g[0] | 0; 1299 + if (turn !== lastTurn) { lastTurn = turn; lastTurnChangeAt = performance.now(); } 1300 + const v = g[1] | 0; 1301 + if (v > 0 && v !== currentScreen) { 1302 + const prev = currentScreen; 1303 + currentScreen = v; 1304 + for (const fn of screenListeners) fn(v, prev); 1305 + } 1306 + // Mirror the cart's theme (pin 127 bit1) back to the page only when it 1307 + // CHANGES (the in-cart `t` key / footer "theme" menu) - not on every 1308 + // mismatch. Reconciling on mismatch would revert a page-initiated toggle 1309 + // during the cart's adoption lag (pin 127 still holds the old theme for a 1310 + // frame or two), which made the sun/moon button intermittently do nothing. 1311 + // Gated on a booted cart so the pre-boot 0 doesn't reset a chosen theme. 1312 + if (currentScreen > 0) { 1313 + const ct = (g[127] >> 1) & 1; 1314 + if (lastCartTheme === -1) { 1315 + lastCartTheme = ct; // first reading after boot: sync, don't reconcile 1316 + } else if (ct !== lastCartTheme) { 1317 + lastCartTheme = ct; 1318 + if (ct !== resolvedTheme()) { pageTheme = ct; applyTheme(); } 1319 + } 1320 + } 1321 + }, 16); 1322 + 1323 + // ── Synthetic keyboard → cart ──────────────────────────────────────── 1324 + // The Emscripten SDL bridge reads characters (stat(30/31)) from key events 1325 + // on `document` and wants the full keydown/keypress/keyup trio; it derives 1326 + // the character from the keypress charCode. 1327 + function dispatchKey(key, code, keyCode, charCode) { 1328 + for (const type of ["keydown", "keypress", "keyup"]) { 1329 + document.dispatchEvent(new KeyboardEvent(type, { 1330 + key, code, keyCode, which: keyCode, 1331 + charCode: type === "keypress" ? charCode : 0, 1332 + bubbles: true, 1333 + })); 1334 + } 1335 + } 1336 + // Faithful single-key press (used by the select button for 'd'). 1337 + function pressKey(char, keyCode) { 1338 + dispatchKey(char, "Key" + char.toUpperCase(), 1339 + keyCode ?? char.toUpperCase().charCodeAt(0), char.charCodeAt(0)); 1340 + } 1341 + const sendEnter = () => dispatchKey("Enter", "Enter", 13, 13); // send 1342 + const sendEsc = () => dispatchKey("Escape", "Escape", 27, 27); // cancel 1343 + const sendBackspace = () => dispatchKey("Backspace", "Backspace", 8, 8); 1344 + // Forward one typed character. PICO-8 can't represent ASCII uppercase 1345 + // (charCode 65-90 maps to its P8SCII symbol glyphs via the shift+letter 1346 + // convention), so fold A-Z to lowercase. ASCII-first: ignore anything 1347 + // outside 0x20-0x7e (emoji/IME deferred). 1348 + function typeChar(ch) { 1349 + if (ch >= "A" && ch <= "Z") ch = ch.toLowerCase(); 1350 + const cc = ch.charCodeAt(0); 1351 + if (cc < 0x20 || cc > 0x7e) return; 1352 + dispatchKey(ch, "Key" + ch.toUpperCase(), ch.toUpperCase().charCodeAt(0), cc); 1353 + } 1354 + 1355 + // ── Mobile compose: soft-keyboard capture ──────────────────────────── 1356 + const composeInput = document.getElementById("compose-input"); 1357 + let kbMirror = ""; // mirrors composeInput text so we can diff to deltas 1358 + 1359 + function openKeyboard() { 1360 + if (!composeInput) return; 1361 + kbMirror = ""; 1362 + composeInput.textContent = ""; 1363 + composeInput.focus(); // must run inside a user gesture for iOS 1364 + } 1365 + function closeKeyboard() { 1366 + if (!composeInput) return; 1367 + composeInput.blur(); 1368 + composeInput.textContent = ""; 1369 + kbMirror = ""; 1370 + } 1371 + 1372 + if (composeInput) { 1373 + // The contenteditable also lets the soft keyboard's REAL (trusted) key 1374 + // events bubble to the cart's document listener - which would double every 1375 + // character (real + our synthetic forward). Stop the real ones here; 1376 + // our synthetic dispatch to `document` is the single source of truth. 1377 + // (PICO-8 listens in bubble phase, so stopPropagation on this element 1378 + // blocks it; verified. Default action + the `input` event still fire.) 1379 + ["keydown", "keypress", "keyup"].forEach((type) => 1380 + composeInput.addEventListener(type, (e) => { if (e.isTrusted) e.stopPropagation(); }) 1381 + ); 1382 + // Drive the cart from text deltas (robust to autocorrect/paste) rather 1383 + // than raw keydowns, which iOS reports as keyCode 229 during composition. 1384 + // Synthetic key events are dispatched to `document`; they're untrusted, so 1385 + // they do NOT re-insert into this contenteditable (no feedback loop). 1386 + composeInput.addEventListener("input", () => { 1387 + const v = composeInput.textContent.replace(/\u00a0/g, " "); 1388 + let common = 0; 1389 + const min = Math.min(v.length, kbMirror.length); 1390 + while (common < min && v[common] === kbMirror[common]) common++; 1391 + for (let i = common; i < kbMirror.length; i++) sendBackspace(); 1392 + for (let i = common; i < v.length; i++) typeChar(v[i]); 1393 + kbMirror = v; 1394 + }); 1395 + // The keyboard's return key sends (enterkeyhint="send"); preventDefault 1396 + // also stops the contenteditable from inserting a newline. 1397 + composeInput.addEventListener("keydown", (e) => { 1398 + if (e.key === "Enter") { e.preventDefault(); sendEnter(); } 1399 + }); 1400 + } 1401 + 1402 + // Tear down the keyboard whenever the cart leaves compose (send/cancel). 1403 + onScreenChange((s, prev) => { 1404 + if (prev === SCR.compose && s !== SCR.compose) closeKeyboard(); 1405 + }); 1406 + 1407 + // Wire pointer events on the mobile controller to window.pico8_buttons. 1408 + // 1409 + // pico8_buttons is indexed by PLAYER, and each element is a bitmask of the 1410 + // buttons held for that player: bit0=left, bit1=right, bit2=up, bit3=down, 1411 + // bit4=O, bit5=X. This single-player cart only reads player 0, so every 1412 + // button OR/ANDs its bit into pico8_buttons[0]. The data-pico8btn values 1413 + // (0=left … 5=X) are exactly the bit positions, so the mask is 1 << idx. 1414 + function setupMobileControls() { 1415 + const btns = document.querySelectorAll(".dpad-btn, .action-btn"); 1416 + btns.forEach(btn => { 1417 + const idx = parseInt(btn.dataset.pico8btn, 10); 1418 + const bit = 1 << idx; 1419 + const isO = idx === 4, isX = idx === 5; 1420 + 1421 + btn.addEventListener("pointerdown", e => { 1422 + e.preventDefault(); 1423 + btn.setPointerCapture(e.pointerId); 1424 + btn.classList.add("pressed"); 1425 + 1426 + // In compose the cart ignores btnp (picosky.p8 update_compose), so the 1427 + // action buttons inject keys instead: O = send (Enter), X = back (Esc). 1428 + if (currentScreen === SCR.compose && (isO || isX)) { 1429 + isO ? sendEnter() : sendEsc(); 1430 + closeKeyboard(); 1431 + return; // do not set the button bit 1432 + } 1433 + 1434 + if (window.pico8_buttons) window.pico8_buttons[0] |= bit; 1435 + 1436 + // O opens compose only when the cart says so (feed, or the menu 1437 + // cursor on "post") - pin 127 bit0 is the cart's compose-intent flag 1438 + // (1 = timeline/thread with O→compose; 0 = elsewhere or menu item 1439 + // that isn't "post"). gpio[127] is written by the cart each _update 1440 + // and never stomped by the JS comms loop, so it's always current. 1441 + // Raise the soft keyboard now, inside the gesture iOS requires. 1442 + // Skip while the cart is paused: when the PICO-8 pause menu is open, 1443 + // _update is frozen so the intent flag is stale, and O just selects 1444 + // a pause-menu item. No separate currentScreen check is needed - 1445 + // compose_intent() already encodes "is on timeline/thread", and 1446 + // dropping the JS-cached currentScreen avoids a second timing issue 1447 + // (on Android Firefox the STATE pin can be stomped before the 1448 + // setInterval reads it, leaving currentScreen=0 indefinitely). 1449 + if (isO && window.pico8_gpio && !cartPaused()) { 1450 + if ((window.pico8_gpio[127] & 1) === 1) { 1451 + openKeyboard(); // compose-intent already set 1452 + } else { 1453 + // Quick double-tap race: both taps land before PICO-8 processes 1454 + // a frame, so compose_intent is still 0 on this press even though 1455 + // the first tap will set in_menu=true (and compose_intent=1) once 1456 + // _update runs. Defer one rAF - PICO-8 will have updated gpio[127] 1457 + // by then, and rAF still counts as within-gesture for focus() on iOS. 1458 + requestAnimationFrame(() => { 1459 + if (window.pico8_gpio && (window.pico8_gpio[127] & 1) === 1) { 1460 + openKeyboard(); 1461 + } 1462 + }); 1463 + } 1464 + } 1465 + }); 1466 + 1467 + const release = () => { 1468 + btn.classList.remove("pressed"); 1469 + if (window.pico8_buttons) window.pico8_buttons[0] &= ~bit; 1470 + }; 1471 + btn.addEventListener("pointerup", release); 1472 + btn.addEventListener("pointercancel", release); 1473 + }); 1474 + } 1475 + setupMobileControls(); 1476 + 1477 + // Reveal mobile controls at page load so the layout is settled (stage at its 1478 + // final height) before crt.js mounts and calls syncGeometry(). 1479 + if (window.matchMedia( 1480 + "(max-width: 599px), (orientation: landscape) and (max-height: 599px)" 1481 + ).matches) { 1482 + mobileControls.classList.remove("hidden"); 1483 + } 1484 + 1485 + // Audio mute toggle. 1486 + // Tracks state with a plain boolean - no AudioContext creation or inspection, 1487 + // which was causing the toggle to always read "unmuted" (new contexts are 1488 + // synchronously suspended so the state check was always wrong). 1489 + // Best-effort: suspends/resumes the Emscripten SDL2 audio context if available. 1490 + let isMuted = false; 1491 + 1492 + function setAudioVisual(muted) { 1493 + audioBtns.forEach(btn => { 1494 + btn.querySelector(".audio-waves").style.display = muted ? "none" : ""; 1495 + btn.querySelector(".audio-mute").style.display = muted ? "" : "none"; 1496 + btn.setAttribute("aria-pressed", String(muted)); 1497 + btn.classList.toggle("muted", muted); 1498 + }); 1499 + } 1500 + 1501 + // Sync the cart's mute state using PICO-8's official toggle command. 1502 + // Module.pico8ToggleSound() sets codo_command=3 inside the runtime. 1503 + // We compare against pico8_state.sound_volume (written by PICO-8 every 1504 + // frame once loaded: 0=muted, >0=unmuted) so we only call toggle when 1505 + // the cart's actual state diverges from isMuted - avoiding double-flips. 1506 + // Safe to call before boot; pico8_state.sound_volume is undefined then. 1507 + function applyMuteToContext() { 1508 + try { 1509 + if (typeof Module !== "undefined" && typeof Module.pico8ToggleSound === "function") { 1510 + const sv = window.pico8_state?.sound_volume; 1511 + if (sv !== undefined) { 1512 + const cartMuted = sv === 0; 1513 + if (isMuted !== cartMuted) Module.pico8ToggleSound(); 1514 + } 1515 + } 1516 + } catch(_) {} 1517 + } 1518 + function toggleAudio() { 1519 + isMuted = !isMuted; 1520 + applyMuteToContext(); 1521 + setAudioVisual(isMuted); 1522 + } 1523 + 1524 + // One "click" listener only. A tap already synthesizes exactly one click 1525 + // (the viewport disables the 300ms delay), so a separate touchend handler 1526 + // double-fires the toggle (flip then flip back = "nothing happened"). 1527 + const audioBtns = [document.getElementById("btn-audio")].filter(Boolean); 1528 + audioBtns.forEach(btn => btn.addEventListener("click", toggleAudio)); 1529 + 1530 + // ── Theme (light / dark / auto) ────────────────────────────────────── 1531 + // Three-state cycle: 0=light, 1=dark, 2=auto (follows OS preference). 1532 + // "auto" is the default for first-time visitors (no saved preference). 1533 + // The cart GPIO sync always uses the *resolved* value (0 or 1), never 2. 1534 + // GPIO pin 126 bit1 = page→cart; pin 127 bit1 = cart→page. 1535 + const _osPrefersDark = window.matchMedia("(prefers-color-scheme: dark)"); 1536 + let pageTheme = (() => { 1537 + const s = localStorage.getItem("picosky-theme"); 1538 + if (s === "dark") return 1; 1539 + if (s === "light") return 0; 1540 + return 2; // auto (first visit or explicitly set) 1541 + })(); 1542 + let lastCartTheme = -1; // last cart theme seen on pin 127 (edge-detect; -1 = unknown) 1543 + const themeBtns = [document.getElementById("btn-theme")].filter(Boolean); 1544 + 1545 + function resolvedTheme() { 1546 + return pageTheme === 2 ? (_osPrefersDark.matches ? 1 : 0) : pageTheme; 1547 + } 1548 + function setThemeVisual() { 1549 + const dark = resolvedTheme() === 1; 1550 + const auto = pageTheme === 2; 1551 + themeBtns.forEach(btn => { 1552 + btn.querySelector(".theme-sun").style.display = (!auto && !dark) ? "" : "none"; 1553 + btn.querySelector(".theme-moon").style.display = (!auto && dark) ? "" : "none"; 1554 + btn.querySelector(".theme-auto").style.display = auto ? "" : "none"; 1555 + btn.setAttribute("aria-label", 1556 + auto ? "Theme: auto" : dark ? "Theme: dark" : "Theme: light"); 1557 + }); 1558 + } 1559 + function applyTheme() { 1560 + const dark = resolvedTheme() === 1; 1561 + document.documentElement.dataset.theme = dark ? "dark" : "light"; 1562 + try { 1563 + localStorage.setItem("picosky-theme", 1564 + pageTheme === 2 ? "auto" : pageTheme === 1 ? "dark" : "light"); 1565 + } catch (e) {} 1566 + // Push resolved theme to cart (pin 126 bit1), preserving the mobile flag (bit0). 1567 + if (window.pico8_gpio) window.pico8_gpio[126] = (mobileMode ? 1 : 0) | (resolvedTheme() << 1); 1568 + setThemeVisual(); 1569 + } 1570 + function toggleTheme() { pageTheme = (pageTheme + 1) % 3; applyTheme(); } 1571 + themeBtns.forEach(btn => btn.addEventListener("click", toggleTheme)); 1572 + // Re-apply when the OS preference changes while in auto mode. 1573 + _osPrefersDark.addEventListener("change", () => { if (pageTheme === 2) applyTheme(); }); 1574 + setThemeVisual(); // reflect the FOUC-applied theme on the button 1575 + 1576 + // ── Keyboard shortcuts dialog (desktop only) ────────────────────────── 1577 + { 1578 + const helpBtn = document.getElementById("btn-help"); 1579 + const shortcutsDlg = document.getElementById("shortcuts-dialog"); 1580 + const shortcutsClose = document.getElementById("shortcuts-close"); 1581 + helpBtn?.addEventListener("click", () => shortcutsDlg.showModal()); 1582 + shortcutsClose?.addEventListener("click", () => shortcutsDlg.close()); 1583 + // Click on the backdrop (outside the dialog box) closes it. 1584 + shortcutsDlg?.addEventListener("click", e => { 1585 + if (e.target === shortcutsDlg) shortcutsDlg.close(); 1586 + }); 1587 + // Escape closes the dialog; stopPropagation prevents PICO-8's SDL bridge 1588 + // from consuming the key before the dialog can act on it. 1589 + shortcutsDlg?.addEventListener("keydown", e => { 1590 + if (e.key === "Escape") { e.stopPropagation(); shortcutsDlg.close(); } 1591 + }); 1592 + } 1593 + 1594 + // ── Credits dialog (desktop btn-info + mobile btn-info-mobile) ──────── 1595 + { 1596 + const infoDlg = document.getElementById("info-dialog"); 1597 + const infoClose = document.getElementById("info-close"); 1598 + [document.getElementById("btn-info"), document.getElementById("btn-info-mobile")] 1599 + .forEach(b => b?.addEventListener("click", () => infoDlg.showModal())); 1600 + infoClose?.addEventListener("click", () => infoDlg.close()); 1601 + infoDlg?.addEventListener("click", e => { if (e.target === infoDlg) infoDlg.close(); }); 1602 + infoDlg?.addEventListener("keydown", e => { 1603 + if (e.key === "Escape") { e.stopPropagation(); infoDlg.close(); } 1604 + }); 1605 + } 1606 + 1607 + { 1608 + // Pause = PICO-8 button 6, which opens its official Pause menu. The cart 1609 + // reads pico8_buttons in mobile mode, so set bit 6 (the keyboard path is 1610 + // unavailable while devkit keyboard is on). The cart's poke(0x5f30,1) in 1611 + // compose/demo suppresses it there, so this is safe to set unconditionally. 1612 + const btnPause = document.getElementById("btn-pause"); 1613 + const PAUSE_BIT = 1 << 6; 1614 + btnPause.addEventListener("pointerdown", e => { 1615 + e.preventDefault(); 1616 + btnPause.setPointerCapture(e.pointerId); 1617 + btnPause.classList.add("pressed"); 1618 + if (window.pico8_buttons) window.pico8_buttons[0] |= PAUSE_BIT; 1619 + }); 1620 + const releasePause = () => { 1621 + btnPause.classList.remove("pressed"); 1622 + if (window.pico8_buttons) window.pico8_buttons[0] &= ~PAUSE_BIT; 1623 + }; 1624 + btnPause.addEventListener("pointerup", releasePause); 1625 + btnPause.addEventListener("pointercancel", releasePause); 1626 + } 1627 + 1628 + function bootCart(agent, { authenticated = false, did = null } = {}) { 1629 + // Pass the session DID so writes (post/like) use the explicit repo API - 1630 + // the OAuth agent's accountDid is empty, which would throw "Not logged in". 1631 + shim = window.picoskyShim.createShim(window.picoskyComms, agent, { did }); 1632 + gate.classList.add("hidden"); 1633 + 1634 + // Match phones in EITHER orientation: portrait keys off width, landscape off 1635 + // a short viewport height (a phone on its side is wider than 599px). Mirrors 1636 + // the mobile CSS breakpoints so the controller is revealed in both. 1637 + const isMobile = window.matchMedia( 1638 + "(max-width: 599px), (orientation: landscape) and (max-height: 599px)" 1639 + ).matches; 1640 + 1641 + if (isMobile) { 1642 + // Reveal game controller and move session buttons into the header bar. 1643 + // Defining pico8_buttons makes PICO-8 read button state from this array 1644 + // (indexed by player) every frame instead of scanning the keyboard, so 1645 + // the on-screen controller can drive the cart. Index 0 is player 0. 1646 + window.pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; 1647 + // Tell the cart it's on mobile (GPIO pin 126 bit0) so it draws O/X 1648 + // hints. The packed byte (incl. the theme bit) is seeded below. 1649 + mobileMode = true; 1650 + mobileControls.classList.remove("hidden"); 1651 + btnShutdown.style.display = ""; 1652 + // Move TV toggle and theme toggle into the header. crt.js does the same 1653 + // for #btn-tv at module load, but may not run until after bootCart() on a 1654 + // cold-cache first load (external module fetch). Appending here guarantees 1655 + // the order [tv, theme, divider, shutdown] regardless of crt.js timing. 1656 + // crt.js's relocateForMobile() is idempotent: it skips the append when 1657 + // #btn-tv is already a child of #mobile-header-actions. 1658 + const btnTV = document.getElementById("btn-tv"); 1659 + const btnTheme = document.getElementById("btn-theme"); 1660 + if (btnTV) mobileHeaderActions.append(btnTV); 1661 + if (btnTheme) mobileHeaderActions.append(btnTheme); 1662 + const divider = document.createElement('div'); 1663 + divider.className = 'header-divider'; 1664 + divider.setAttribute('aria-hidden', 'true'); 1665 + mobileHeaderActions.append(divider, btnShutdown); 1666 + if (authenticated) { 1667 + btnLogout.style.display = ""; 1668 + } 1669 + } else { 1670 + controls.classList.add("visible"); 1671 + if (authenticated) btnLogout.style.display = ""; 1672 + } 1673 + 1674 + // Seed the side-channel byte (mobile flag + chosen theme) BEFORE the cart 1675 + // loads, so the cart's _init adopts the theme on its first frame (no flash). 1676 + if (window.pico8_gpio) window.pico8_gpio[126] = (mobileMode ? 1 : 0) | (resolvedTheme() << 1); 1677 + // Carry a pre-Play mute choice into the cart's audio context once it exists. 1678 + if (isMuted) { let n = 0; const t = setInterval(() => { applyMuteToContext(); if (++n > 20) clearInterval(t); }, 200); } 1679 + 1680 + const s = document.createElement("script"); 1681 + s.async = true; 1682 + // Authed users load the lean online cart; the demo loads the cart that 1683 + // carries its own lua mock feed (no js data agent needed). 1684 + const cartJs = authenticated ? "picosky.js" : "picosky-demo.js"; 1685 + s.src = cartJs + "?v=" + Date.now(); 1686 + s.onerror = () => 1687 + (errEl.textContent = 1688 + cartJs + " (cart export) not found - run `make build`."); 1689 + document.body.appendChild(s); 1690 + } 1691 + 1692 + function shutdown() { 1693 + location.reload(); 1694 + } 1695 + 1696 + btnShutdown.addEventListener("click", shutdown); 1697 + btnLogout.addEventListener("click", async () => { 1698 + if (oauthClient) { 1699 + try { 1700 + const sessions = await oauthClient.getStoredSessions?.() ?? []; 1701 + for (const s of sessions) await oauthClient.revoke(s.sub).catch(() => {}); 1702 + } catch (_) {} 1703 + } 1704 + shutdown(); 1705 + }); 1706 + 1707 + // Demo mode: skip OAuth and load the demo cart, which self-feeds its mock 1708 + // timeline in lua. No js data agent is needed (the firehose still powers 1709 + // the demoscene); the shim runs with a null agent. 1710 + document.getElementById("demo").addEventListener("click", () => { 1711 + bootCart(null, { authenticated: false }); 1712 + }); 1713 + 1714 + // Real OAuth (AT Protocol). Loaded lazily so demo mode works offline. 1715 + async function initOAuth() { 1716 + const { BrowserOAuthClient } = await import( 1717 + "https://esm.sh/@atproto/oauth-client-browser@0.3.0" 1718 + ); 1719 + const client = await BrowserOAuthClient.load({ 1720 + clientId: CLIENT_ID, 1721 + handleResolver: "https://bsky.social", 1722 + }); 1723 + oauthClient = client; 1724 + 1725 + // Handle the redirect callback if we're returning from the PDS. 1726 + const result = await client.init(); 1727 + if (result && result.session) return result.session; 1728 + 1729 + document.getElementById("signin").addEventListener("click", async () => { 1730 + errEl.textContent = ""; 1731 + const handle = handleEl.value.trim(); 1732 + if (!handle) return (errEl.textContent = "enter your handle"); 1733 + gate.classList.add("loading", "signing-in"); 1734 + try { 1735 + await client.signIn(handle, { scope: SCOPE }); 1736 + } catch (e) { 1737 + gate.classList.remove("loading", "signing-in"); 1738 + errEl.textContent = String(e.message || e); 1739 + } 1740 + }); 1741 + return null; 1742 + } 1743 + 1744 + (async () => { 1745 + try { 1746 + const session = await initOAuth(); 1747 + if (session) { 1748 + const { Agent } = await import("https://esm.sh/@atproto/api@0.13.0"); 1749 + const agent = new Agent(session); 1750 + // Show play screen to capture a click before booting the cart. 1751 + // Browsers block audio until the first user interaction; this click 1752 + // unlocks the audio context so PICO-8 sfx work from the start. 1753 + gate.classList.add("hidden"); 1754 + play.classList.remove("hidden"); 1755 + // Resolve the handle to show a friendly greeting. 1756 + try { 1757 + const profile = await agent.app.bsky.actor.getProfile({ actor: session.did }); 1758 + document.getElementById("play-subtitle").textContent = 1759 + "signed in as @" + profile.data.handle; 1760 + } catch (e) { 1761 + document.getElementById("play-err").textContent = 1762 + e.message || String(e); 1763 + } 1764 + document.getElementById("btn-play").addEventListener("click", () => { 1765 + play.classList.add("hidden"); 1766 + bootCart(agent, { authenticated: true, did: session.did }); 1767 + }, { once: true }); 1768 + document.getElementById("btn-play-logout").addEventListener("click", async () => { 1769 + try { 1770 + await oauthClient.revoke(agent.did); 1771 + } catch (_) {} 1772 + shutdown(); 1773 + }, { once: true }); 1774 + } else { 1775 + gate.classList.remove("loading"); 1776 + } 1777 + } catch (e) { 1778 + gate.classList.remove("loading"); 1779 + errEl.textContent = "OAuth unavailable - use demo mode. " + (e.message || ""); 1780 + } 1781 + })(); 1782 + 1783 + // Escape exits the demoscene back to the client (PICO-8's web player 1784 + // swallows Escape for its pause menu, so the page owns this key). 1785 + addEventListener("keydown", (e) => { 1786 + if (e.key === "Escape" && shim && shim.stopDemo) { 1787 + e.preventDefault(); 1788 + shim.stopDemo(); 1789 + } 1790 + }); 1791 + 1792 + // Block arrow/space scrolling while the cart has focus. 1793 + addEventListener("keydown", (e) => { 1794 + const o = document.activeElement; 1795 + if ((!o || o === document.body || o.id === "canvas") && 1796 + [32, 37, 38, 39, 40].includes(e.keyCode)) e.preventDefault(); 1797 + }); 1798 + 1799 + // ── Button tooltips ────────────────────────────────────────────────── 1800 + if ("showPopover" in HTMLElement.prototype) { 1801 + document.querySelectorAll("#settings button[aria-describedby]").forEach(btn => { 1802 + const tip = document.getElementById(btn.getAttribute("aria-describedby")); 1803 + if (!tip) return; 1804 + btn.addEventListener("mouseenter", () => tip.showPopover()); 1805 + btn.addEventListener("mouseleave", () => tip.hidePopover()); 1806 + btn.addEventListener("focus", () => tip.showPopover()); 1807 + btn.addEventListener("blur", () => tip.hidePopover()); 1808 + }); 1809 + } 1810 + 1811 + // ── Fullscreen toggle ──────────────────────────────────────────────── 1812 + { 1813 + const btnFs = document.getElementById("btn-fullscreen"); 1814 + if (btnFs) { 1815 + function setFsVisual(isFs) { 1816 + btnFs.querySelector(".fs-expand").style.display = isFs ? "none" : ""; 1817 + btnFs.querySelector(".fs-compress").style.display = isFs ? "" : "none"; 1818 + btnFs.setAttribute("aria-label", isFs ? "Exit fullscreen" : "Enter fullscreen"); 1819 + btnFs.setAttribute("aria-pressed", String(isFs)); 1820 + } 1821 + btnFs.addEventListener("click", () => { 1822 + if (!document.fullscreenElement) document.documentElement.requestFullscreen(); 1823 + else document.exitFullscreen(); 1824 + }); 1825 + document.addEventListener("fullscreenchange", () => setFsVisual(!!document.fullscreenElement)); 1826 + } 1827 + } 1828 + </script> 1829 + 1830 + <!-- CRT shader overlay (TV toggle) --> 1831 + <script type="module" src="./crt.js"></script> 1832 + 1833 + <!-- Register the service worker (installable PWA + offline shell) --> 1834 + <script> 1835 + if ("serviceWorker" in navigator) { 1836 + addEventListener("load", () => { 1837 + navigator.serviceWorker.register("/sw.js").catch((e) => { 1838 + console.warn("picosky: service worker registration failed", e); 1839 + }); 1840 + }); 1841 + } 1842 + </script> 1843 + </body> 1844 + </html>
+2
m3x6.lua
··· 1 + poke(0x5600,4,4,7) 2 + poke4(0x5700,unpack(split"0x0000.0000,0x0000.0000,0x0202.0202,0x0000.0200,0x0000.0505,0x0000.0000,0x0505.0705,0x0000.0507,0x0407.0106,0x0000.0203,0x0204.0100,0x0000.0401,0x0102.0502,0x0000.0305,0x0000.0102,0x0000.0000,0x0101.0102,0x0000.0201,0x0202.0201,0x0000.0102,0x0205.0000,0x0000.0005,0x0702.0000,0x0000.0002,0x0000.0000,0x0000.0102,0x0700.0000,0x0000.0000,0x0000.0000,0x0000.0200,0x0202.0404,0x0000.0101,0x0505.0506,0x0000.0305,0x0202.0302,0x0000.0702,0x0204.0403,0x0000.0701,0x0403.0403,0x0000.0304,0x0406.0505,0x0000.0404,0x0403.0107,0x0000.0304,0x0503.0106,0x0000.0605,0x0204.0407,0x0000.0202,0x0502.0506,0x0000.0305,0x0605.0503,0x0000.0304,0x0002.0000,0x0000.0002,0x0002.0000,0x0000.0102,0x0102.0400,0x0000.0402,0x0007.0000,0x0000.0007,0x0402.0100,0x0000.0102,0x0204.0403,0x0000.0200,0x0505.0506,0x0000.0601,0x0604.0300,0x0000.0705,0x0505.0301,0x0000.0705,0x0101.0600,0x0000.0701,0x0505.0604,0x0000.0705,0x0705.0600,0x0000.0601,0x0702.0204,0x0000.0202,0x0705.0600,0x0000.0304,0x0505.0301,0x0000.0505,0x0202.0002,0x0000.0202,0x0202.0002,0x0000.0102,0x0305.0101,0x0000.0505,0x0202.0202,0x0000.0402,0x0707.0300,0x0000.0507,0x0505.0300,0x0000.0505,0x0505.0600,0x0000.0305,0x0305.0700,0x0000.0101,0x0705.0600,0x0000.0404,0x0101.0600,0x0000.0101,0x0701.0600,0x0000.0304,0x0207.0202,0x0000.0202,0x0505.0500,0x0000.0705,0x0505.0500,0x0000.0205,0x0705.0500,0x0000.0507,0x0205.0500,0x0000.0505,0x0605.0500,0x0000.0304,0x0204.0700,0x0000.0701,0x0101.0103,0x0000.0301,0x0202.0101,0x0000.0404,0x0202.0203,0x0000.0302,0x0000.0502,0x0000.0000,0x0000.0000,0x0000.0403,0x0000.0201,0x0000.0000,0x0507.0506,0x0000.0505,0x0507.0503,0x0000.0705,0x0101.0106,0x0000.0701,0x0505.0503,0x0000.0305,0x0103.0107,0x0000.0701,0x0301.0106,0x0000.0101,0x0501.0106,0x0000.0705,0x0507.0505,0x0000.0505,0x0202.0207,0x0000.0702,0x0404.0407,0x0000.0304,0x0503.0505,0x0000.0505,0x0101.0101,0x0000.0701,0x0507.0705,0x0000.0505,0x0505.0503,0x0000.0505,0x0505.0506,0x0000.0305,0x0103.0507,0x0000.0101,0x0505.0506,0x0000.0403,0x0503.0507,0x0000.0505,0x0407.0106,0x0000.0304,0x0202.0207,0x0000.0202,0x0505.0505,0x0000.0705,0x0505.0505,0x0000.0205,0x0705.0505,0x0000.0507,0x0202.0505,0x0000.0505,0x0205.0505,0x0000.0202,0x0202.0407,0x0000.0701,0x0302.0204,0x0000.0402,0x0202.0202,0x0000.0202,0x0602.0201,0x0000.0102,0x0704.0000,0x0000.0001,0x0205.0200,0x0000.0000"))
+17
manifest.webmanifest
··· 1 + { 2 + "name": "picosky", 3 + "short_name": "picosky", 4 + "description": "a Bluesky client for PICO-8", 5 + "id": "/", 6 + "start_url": "/", 7 + "scope": "/", 8 + "display": "standalone", 9 + "orientation": "any", 10 + "background_color": "#ffffff", 11 + "theme_color": "#1185fe", 12 + "icons": [ 13 + { "src": "/favicons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, 14 + { "src": "/favicons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }, 15 + { "src": "/favicons/icon.svg", "type": "image/svg+xml", "sizes": "any" } 16 + ] 17 + }
+23
mise.toml
··· 1 + # mise: the single committed source of truth for this project's toolchain. 2 + # mise install – install the pinned tools below 3 + # mise run deps – install python deps (Pillow) into .venv 4 + # make png / make count – build/measure the cart (tools resolve via mise) 5 + # 6 + # Why a venv for Python: Pillow is a *library*, not a CLI tool, so it can't be a 7 + # [tools] entry. shrinko8 (vendored in tools/shrinko8) needs Pillow to write the 8 + # .p8.png. The auto-venv below also sidesteps PEP 668 / EXTERNALLY-MANAGED, so no 9 + # `--break-system-packages` and nothing global is touched. 10 + 11 + [tools] 12 + node = "22.22.0" 13 + pnpm = "11.2.2" 14 + python = "3.13" 15 + uv = "0.11" 16 + 17 + [env] 18 + # auto-create AND auto-activate .venv (built by uv; --seed gives it pip) 19 + _.python.venv = { path = ".venv", create = true, uv_create_args = ["--seed"] } 20 + 21 + [tasks.deps] 22 + description = "Install python deps (Pillow -> shrinko8 png export) into .venv" 23 + run = "uv pip install -r requirements.txt"
og.png

This is a binary file and will not be displayed.

+10
package.json
··· 1 + { 2 + "name": "picosky", 3 + "version": "0.1.0", 4 + "description": "A Bluesky (AT Protocol) client that runs as a PICO-8 cart in the browser.", 5 + "private": true, 6 + "packageManager": "pnpm@11.2.2", 7 + "scripts": { 8 + "serve": "node serve.js" 9 + } 10 + }
+250
picosky-comms.js
··· 1 + // picosky-comms.js 2 + // Extended bidirectional GPIO bridge (JS side) for picosky. 3 + // Mirrors the cart-side protocol in picosky.p8. See spec.md sec 3. 4 + // 5 + // Works in the browser (auto-creates `pico8_gpio` + `picoskyComms` and runs a 6 + // requestAnimationFrame loop) and under Node (module.exports) for testing. 7 + 8 + (function (root, factory) { 9 + const api = factory(); 10 + if (typeof module !== "undefined" && module.exports) { 11 + module.exports = api; // Node / test harness 12 + } 13 + if (typeof window !== "undefined") { 14 + // Browser: the cart's Emscripten module binds to this global. 15 + if (!window.pico8_gpio) window.pico8_gpio = new Array(128).fill(0); 16 + window.picoskyComms = api.createComms(window.pico8_gpio); 17 + window.picoskyProtocol = api; 18 + } 19 + })(this, function () { 20 + "use strict"; 21 + 22 + // --- byte (pin) map ------------------------------------------------------- 23 + const PINS = { 24 + TURN: 0, 25 + STATE: 1, 26 + FID: 2, // frame id (1-based) 27 + FLEN: 3, // frame count 28 + DLEN: 4, // data bytes in this frame 29 + OP: 5, // opcode 30 + ARG: 6, // small int arg 31 + DATA: 7, // first data byte 32 + }; 33 + const DATA_BYTES = 119; 34 + const TURN = { CART: 0, JS: 1 }; 35 + 36 + // --- opcodes -------------------------------------------------------------- 37 + const OP = { 38 + // cart -> js 39 + REQ_TIMELINE: 0x10, 40 + REQ_THREAD: 0x11, 41 + REQ_MORE: 0x12, 42 + REQ_DEMO: 0x13, // start the demoscene (open firehose) 43 + REQ_DEMO_STOP: 0x14, // cart left the demoscene on its own (close firehose) 44 + POST_CREATE: 0x20, 45 + POST_REPLY: 0x21, 46 + LIKE: 0x22, // arg=refid, data "1"=like / "0"=unlike 47 + REPOST: 0x23, // arg=refid, data "1"=repost / "0"=unrepost 48 + POST_QUOTE: 0x24, // arg=refid (quoted post), data=comment text 49 + // js -> cart 50 + RESP_POST: 0x30, 51 + RESP_END: 0x31, 52 + RESP_ERROR: 0x32, 53 + RESP_OK: 0x33, 54 + RESP_AUTH_LOST: 0x34, 55 + RESP_IMAGE: 0x35, // pixelated image thumbnail (32x32, packed 4bpp) 56 + RESP_IMAGE_FAIL: 0x36, // image fetch failed; arg = refId 57 + RESP_AVATAR: 0x37, // pixelated avatar (8x8, packed 4bpp, 32 bytes) 58 + RESP_AVATAR_FAIL: 0x38, // avatar fetch failed; arg = refId 59 + RESP_FEEDS: 0x39, // subscribed feed names (FSEP-joined); idx 0 = following 60 + DEMO_STOP: 0x41, // leave the demoscene (esc pressed on the page) 61 + RESP_FIRE: 0x42, // raw firehose deltas: [posts,likes,reposts,follows,deletes] 62 + }; 63 + 64 + const FSEP = 255; // field separator 65 + const RSEP = 254; // record separator (reserved) 66 + 67 + // --- encoding ------------------------------------------------------------- 68 + // Outbound text -> bytes. Newline -> 0 (matches cart's chr(0) handling). 69 + // Non-ASCII is the caller's responsibility (normalize before this). 70 + function textToBytes(s) { 71 + const out = []; 72 + for (let i = 0; i < s.length; i++) { 73 + const ch = s[i]; 74 + if (ch === "\n") out.push(0); 75 + else { 76 + const code = s.charCodeAt(i); 77 + out.push(code > 253 ? 63 /* '?' */ : code); 78 + } 79 + } 80 + return out; 81 + } 82 + 83 + // Inbound bytes -> text (0 -> newline). Used to decode cart -> js commands. 84 + function bytesToText(bytes) { 85 + let s = ""; 86 + for (let i = 0; i < bytes.length; i++) { 87 + const b = bytes[i]; 88 + s += b === 0 ? "\n" : String.fromCharCode(b); 89 + } 90 + return s; 91 + } 92 + 93 + // Serialize an ordered list of post fields into a single byte array with 94 + // FSEP between fields. See spec.md sec 4. 95 + function serializeFields(fields) { 96 + const out = []; 97 + fields.forEach((f, idx) => { 98 + if (idx > 0) out.push(FSEP); 99 + const bytes = textToBytes(String(f == null ? "" : f)); 100 + for (const b of bytes) out.push(b); 101 + }); 102 + return out; 103 + } 104 + 105 + // --- comms instance ------------------------------------------------------- 106 + function createComms(gpio) { 107 + const c = { 108 + gpio, 109 + outq: [], // queued outbound frames 110 + inbuf: "", // assembled inbound text 111 + onCommand: null, // (op, arg, text) => void (set by shim) 112 + provideIdleFrame: null, // () => frame|null (set by shim for demoscene) 113 + getState: () => 0, 114 + }; 115 + 116 + // Queue an outbound message, split into <=119 byte frames. 117 + c.enqueue = function (op, arg, bytes) { 118 + bytes = bytes || []; 119 + const n = Math.max(1, Math.ceil(bytes.length / DATA_BYTES)); 120 + for (let i = 0; i < n; i++) { 121 + const chunk = bytes.slice(i * DATA_BYTES, (i + 1) * DATA_BYTES); 122 + c.outq.push({ op, arg: arg || 0, fid: i + 1, flen: n, data: chunk }); 123 + } 124 + }; 125 + 126 + // Convenience wrappers used by the shim. 127 + c.sendPost = (fields) => c.enqueue(OP.RESP_POST, 0, serializeFields(fields)); 128 + c.sendEnd = (hasMore) => c.enqueue(OP.RESP_END, hasMore ? 1 : 0, []); 129 + c.sendOk = () => c.enqueue(OP.RESP_OK, 0, []); 130 + c.sendError = (msg) => c.enqueue(OP.RESP_ERROR, 0, textToBytes(String(msg))); 131 + c.sendAuthLost = () => c.enqueue(OP.RESP_AUTH_LOST, 0, []); 132 + c.sendDemoStop = () => c.enqueue(OP.DEMO_STOP, 0, []); 133 + // Image thumbnail: refId in arg, pixel data packed 2px/byte (hi nibble first). 134 + // 32x32 image = 512 bytes, sent as ~5 frames of 119 bytes each. 135 + c.sendImage = (refId, pixelBytes) => 136 + c.enqueue(OP.RESP_IMAGE, refId & 0xff, Array.from(pixelBytes)); 137 + c.sendImageFail = (refId) => 138 + c.enqueue(OP.RESP_IMAGE_FAIL, refId & 0xff, []); 139 + // Avatar: 16x16 = 128 bytes packed 4bpp, split into ~2 frames by enqueue(). 140 + c.sendAvatar = (refId, pixelBytes) => 141 + c.enqueue(OP.RESP_AVATAR, refId & 0xff, Array.from(pixelBytes)); 142 + c.sendAvatarFail = (refId) => 143 + c.enqueue(OP.RESP_AVATAR_FAIL, refId & 0xff, []); 144 + // Subscribed feed names, ordered (idx 0 = following). FSEP-joined like posts; 145 + // the cart rebuilds its feed switcher from this single frame-set. 146 + c.sendFeeds = (names) => 147 + c.enqueue(OP.RESP_FEEDS, 0, serializeFields(names)); 148 + 149 + // Build a single-frame firehose update. Counts are raw bytes (NOT text); 150 + // the cart reads them straight from the data pins. Clamp 0..253 so they 151 + // never collide with the FSEP/RSEP byte values. (spec.md sec 4) 152 + c.makeFireFrame = function (counts, intensity) { 153 + const data = (counts || []).map((n) => Math.max(0, Math.min(253, n | 0))); 154 + return { 155 + op: OP.RESP_FIRE, 156 + arg: Math.max(0, Math.min(255, intensity | 0)), 157 + fid: 1, 158 + flen: 1, 159 + data, 160 + }; 161 + }; 162 + 163 + c.writeFrame = function (f) { 164 + gpio[PINS.OP] = f.op; 165 + gpio[PINS.ARG] = f.arg; 166 + gpio[PINS.FID] = f.fid; 167 + gpio[PINS.FLEN] = f.flen; 168 + gpio[PINS.DLEN] = f.data.length; 169 + for (let i = 0; i < f.data.length; i++) gpio[PINS.DATA + i] = f.data[i]; 170 + }; 171 + 172 + c.clearOut = function () { 173 + gpio[PINS.OP] = 0; 174 + gpio[PINS.ARG] = 0; 175 + gpio[PINS.FID] = 0; 176 + gpio[PINS.FLEN] = 0; 177 + gpio[PINS.DLEN] = 0; 178 + }; 179 + 180 + // Read whatever the cart left in the data region this turn. 181 + c.readFrame = function () { 182 + const op = gpio[PINS.OP] | 0; 183 + if (op === 0) return; 184 + const dlen = gpio[PINS.DLEN] | 0; 185 + const bytes = []; 186 + for (let i = 0; i < dlen; i++) bytes.push(gpio[PINS.DATA + i] | 0); 187 + c.inbuf += bytesToText(bytes); 188 + if ((gpio[PINS.FID] | 0) >= (gpio[PINS.FLEN] | 0)) { 189 + const full = c.inbuf; 190 + c.inbuf = ""; 191 + if (c.onCommand) c.onCommand(op, gpio[PINS.ARG] | 0, full); 192 + } 193 + }; 194 + 195 + // One turn of the half-duplex loop. Returns true if we acted. 196 + c.step = function () { 197 + if ((gpio[PINS.TURN] | 0) !== TURN.JS) return false; 198 + c.readFrame(); 199 + if (c.outq.length > 0) { 200 + c.writeFrame(c.outq.shift()); 201 + } else { 202 + // No queued request/response: let the demoscene stream a live frame. 203 + const idle = c.provideIdleFrame && c.provideIdleFrame(); 204 + if (idle) c.writeFrame(idle); 205 + else c.clearOut(); 206 + } 207 + gpio[PINS.STATE] = c.getState() | 0; 208 + gpio[PINS.TURN] = TURN.CART; 209 + return true; 210 + }; 211 + 212 + return c; 213 + } 214 + 215 + // --- browser rAF loop ----------------------------------------------------- 216 + function startLoop(comms) { 217 + function tick() { 218 + comms.step(); 219 + requestAnimationFrame(tick); 220 + } 221 + requestAnimationFrame(tick); 222 + } 223 + 224 + if (typeof window !== "undefined" && window.picoskyComms == null) { 225 + // (set up above before factory returns to window assignment path) 226 + } 227 + 228 + const api = { 229 + PINS, 230 + DATA_BYTES, 231 + TURN, 232 + OP, 233 + FSEP, 234 + RSEP, 235 + textToBytes, 236 + bytesToText, 237 + serializeFields, 238 + createComms, 239 + startLoop, 240 + }; 241 + 242 + // Kick the browser loop once the global is wired up. 243 + if (typeof window !== "undefined") { 244 + setTimeout(() => { 245 + if (window.picoskyComms) startLoop(window.picoskyComms); 246 + }, 0); 247 + } 248 + 249 + return api; 250 + });
+1126
picosky-demo.html
··· 1 + <html><head> 2 + <title>PICO-8 Cartridge</title> 3 + <meta name="viewport" content="width=device-width, user-scalable=no"> 4 + <script type="text/javascript"> 5 + 6 + // Default shell for PICO-8 0.2.6 (includes @weeble's gamepad mod 1.0) 7 + 8 + // options 9 + 10 + // fullscreen, sound, close button at top when playing on touchscreen 11 + var p8_allow_mobile_menu = true; 12 + 13 + // p8_autoplay true to boot the cartridge automatically after page load when possible 14 + // if the browser can not create an audio context outside of a user gesture (e.g. on iOS), p8_autoplay has no effect 15 + var p8_autoplay = false; 16 + 17 + // When pico8_state is defined, PICO-8 will set .is_paused, .sound_volume and .frame_number each frame 18 + // (used for determining button icons) 19 + var pico8_state = []; 20 + 21 + // When pico8_buttons is defined, PICO-8 reads each int as a bitfield holding that player's button states 22 + // 0x1 left, 0x2 right, 0x4 up, 0x8 right, 0x10 O, 0x20 X, 0x40 menu 23 + // (used by p8_update_gamepads) 24 + var pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; // max 8 players 25 + 26 + // When pico8_mouse is defined, PICO-8 reads the 3 integers as X, Y and a bitfield for buttons: 0x1 LMB, 0x2 RMB 27 + var pico8_mouse = []; 28 + 29 + // used to display number of detected joysticks 30 + var pico8_gamepads = {}; 31 + pico8_gamepads.count = 0; 32 + 33 + // When pico8_gpio is defined, reading and writing to gpio pins will read and write to these values 34 + var pico8_gpio = new Array(128); 35 + 36 + // When pico8_audio_context context is defined, the html shell (this file) is responsible for creating and managing it. 37 + // This makes satisfying browser requirements easier -- e.g. initialising audio from a short script in response to a user action. 38 + // Otherwise PICO-8 will try to create and use its own context. 39 + 40 + var pico8_audio_context; 41 + 42 + 43 + // menu button and controller graphics 44 + p8_gfx_dat={ 45 + "p8b_pause1": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAOUlEQVRIx2NgGPbg/8cX/0F46FtAM4vobgHVLRowC6hm0YBbQLFFoxaM4FQ0dHPy0C1Nh26NNugBAAnizNiMfvbGAAAAAElFTkSuQmCC", 46 + "p8b_controls":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAQ0lEQVRIx2NgGAXEgP8fX/ynBaap4XBLhqcF1IyfYWQBrZLz0LEAlzqqxQFVLcAmT3MLqJqTaW7B4CqLaF4fjIIBBwBL/B2vqtPVIwAAAABJRU5ErkJggg==", 47 + "p8b_full":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAN0lEQVRIx2NgGPLg/8cX/2mJ6WcBrUJm4CwgOSgGrQVEB8WoBaMWDGMLhm5OHnql6dCt0YY8AAA9oZm+9Z9xQAAAAABJRU5ErkJggg==", 48 + "p8b_pause0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAKUlEQVRIx2NgGHbg/8cX/7FhctWNWjBqwagFoxaMWjBqwagF5Fkw5AAAPaGZvsIUtXUAAAAASUVORK5CYII=", 49 + "p8b_sound0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAANklEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwavBcRG4qgFoxYMZwuGfk4efqXp8KnRBj0AAMz7cLDnG4FeAAAAAElFTkSuQmCC", 50 + "p8b_sound1":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAPUlEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwhZQLQDqG4BsZFIKMhGLRi1YChbMPRz8vArTYdPjTboAQCSVgpXUWQAMAAAAABJRU5ErkJggg==", 51 + "p8b_close":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAU0lEQVRIx2NkoDFgpJsF/z+++I8iwS9BkuW49A+cBcRaREgf/Swg1SJi1dHfAkIG4EyOOIJy4Cwg1iJCiWDUAvItGLqpaOjm5KFfmg79Gm3ItioAl+mAGVYIZUUAAAAASUVORK5CYII=", 52 + 53 + "controls_left_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAEI0lEQVR42u3dMU7DQBCG0Tjam9DTcP8jpEmfswS5iHBhAsLxev/hvQY6pGXyZRTQ+nQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHqbHEEtl+vt7hS+fLy/mXHBQqxEi/6aI/AiFW9SnB2BWDkDBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwONJ8tYvrXRAsImK19j0IFsPGSrQQLCJiNV+et7xAT7QQLIaN1dr3ooVgMWysRAvBIipWooVgERUr0UKwiIqVaCFYRMVKtBAsomIlWggWUbESLQSLqFiJFoJFVKxEC8EiKlaihWARFSvRQrDYJSSVfhaCBSBYAIIFCBbAHpoj4Bl/scOGBWDD4lX8iwE2LADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAECxAsAMECECxAsMh1ud7uTsHZVDcZyFo8Yt5sVJ6NyUAaSNEyIymaXwZepIKd4mwoQbAFC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQI4UHME2/10QZq7usyBObBhRQwpmBUb1nADuPbuaUD/p2ezMH+1admwhosVfBcxb2SCJVaIlmAhVoiWYIkVoiVagiVWiJZgiZVYIVqCJVaIlmgJllghWoIlViBagiVWiJZoCZZYIVqCJVYgWoIlViBaggUIlnc0sPELlmghVmIlWKKFWAmWaIFYCZZoIVYIlmghVoIlWiBWgiVaiJVgIVqIlWCJFoiVYIkWYiVYiBZiJViihViJ1XbNEWyL1mMQRYvfvIGJlQ1rmE0LzIoNyyBiDrBhAYIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgDc+Nn1D/tdH8YupwgZy5qG4ykKIlVmZDsDjshSlazqQqH7p793Q2CBaAYAGCBSBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWwENzBKxZPub9CJ7WjA0LsGFRV+9N5+jNDhsWgGABggUgWACCxW56fgjuA3cEiz9Z/nWwR0iWP8P/YCFYDBstsUKwiIiWWCFYRERLrBAsIqIlVggWEdESKwSLiGiJFYJFRLTECsEiIlpihWARES2xQrCIiJZYIVhEREusECwioiVWCBYx0RIrBIuoaIkVr+YhFHTZtMCGBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBbj2uOR8s6AEbhexgsWYri3SKhKczcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA2n+e0UMDzh3yTAAAAAElFTkSuQmCC", 54 + 55 + 56 + "controls_right_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAFeCAYAAAA/lyK/AAAKHklEQVR42u3dAZKaWBAGYE3tvfBmMCfDnGzWJLhLHHBGBt7rhu+rSiWbbAk8p3+7UeF0AgAAAAAAAAAAAOAQzpaAzN5vDlOsNwILhJXQSuIfP/YoZMGcxQ9LgLByfAILQGABAgtAYAEILEBgAQgsAIEFCCwAgQUgsACBBSCwAAQWILAABBYst/cL3LmA3/9ccRRFTRquZIigylKsrjwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZ0tAXz0/v7eLi6q8/nNCgos2CKYmttvl+E/uw02cX/M6y3IflpxgQVLu6fuScC8HDIP4ff08XVhwNMwuf3q3z9qvzP+fTUgh1+P+iHkAP4Li6mQairtTzO3T54tEFRhu5mZrk9wwYGDqo0+ds10XYILjhRUjgOI2J30ezqRvcdjAmH1dzeyu6KeCC7dFiQt5sMU8mMwe/YhV9cx1jhuQKehswRWCKvm4GvRCC3I0VUYhT6GlvNaIKyEFiCshBYIK6EltKBuAQorawYKz9oBaxWct+uXraGPf0ChYuudh7GOkKkzUGTrhpZOFTYcBY0x1hR0A7pWQFF5MYDDFJSxpdBoaDVgp93Vk3sJzmmjdjF76rLc+Zmq3dXvH8KbKCF1+nPn5svDP12HX1Om/v9fukh3d4621pC1u2oD7cv4+vDtwscJeZ/BSOsNKbur2udVtrqlVtT7DDqXBQlf7aduo1UoFPsjrzvorpaFVdGbOUwEZHPEtYeMYdXU6jZqXzcqQmiN9sHHSOCFsaQpvN0mSIdT9WoKo3UwFkLEkSTaZWtqh6exEIK+uke9xta40zpKlwvGwc+32Qf+NH2VfTMWQsBRJMMXq2t9bcZYCF8rkrZ0UUYefWp9Ofke5tl+hn4oI0oVSOnOZfjjr+/0/Yy6LsO+XWusUa1tQorAKjwOphp5KnVZzmNB7YLM+BWUGvvsPBY8L45eIc7uc/FvANxP+GdaJ+ewKOm602192+hc1sUaCSwqjzsVtnVNuFTX0utVY3sCiyxdxNset5V1nzOukcBibzrHsF8CC6EVcCxEYIHAElgAAgtAYAECC0BgAQgsiOdiCQQWx9IJLIEFwsoxCCxYW8YL07mYnsDiYAU5+kJvxtHq8nAMAhIqhVWxq2m6gN/XA8sF/OCTDqKALmEHcV+b6w6fD0jZYbkJRaD9zdiJ6rAopSu8vWuWLmt8S7IDPC+QooNo3Uh1ch+r3kjViXd4HiBthaJ0q/qZtfFTCZ90PJUCoQ+4HtX2zT0J4esdT1Nwm81oNGwDrsV7hW03xkEIWijRQuthf5oK22+jn9uDw46FEUJiqrOqtR/GQUjw6v4QWjXOG/UBwso4CAsKpq+8/WLBMWyzD9Lh9cZBSDSSTARIv+G22ppdnXEQ1iviNsh+rHpCfgjETR57D+sOuqx1g6tfUtTD4/TRgmpP3dVZ6VArJE5/vsfWlbr+0xf36XL6eBWD62n+KgpT//8p0nFFXW+BRbou6/cP4U3QQD2dvv7l4G44ljdrDTvtsqJ/128n69w7dwUrvfJ7m33T9W28Mwi6LN0VKCq8GECSscVoaE1BN6BrBTYqMqFlHSHVGKMz+F6nahSEwqGl4KwdKDxrBqxZgL0CXBRWzluB0BJWgNASViC0hBVQr0C9XT8dVj7+AQlCqz/oGvTCCnJ2F4fpto563KDT0FkCtQt5b13HxO3IjICws6JOH1x7PCZgvttK243s5TiAhQUfvTuJeuNVoF5whRurJkY/QQWC64NqXddMNyWogE+7mXt4tRtvu50JKSfTX+QusByy6xr+2E388/jvrufz+ecroXj6+7b1s4+f+XbxAmv/hfH6E+MHuljnNQqZboNNdEvCD4Hlhx4vNgLLWGGsAEJ2Uk7cAuG7KW+NA9mCyocPgfBB5esdQPygchxAxO7EJUqAVN2Ii8ABYYvZZXaBFF2HGxkYEUGnobME1g4rN+MUWpCiqzAKndzuHISV0AKEldACYYXQgmAFKKysGSg8awesVXDerl+2hj7+AYWKrXcexjpCps5Aka0bWjpV2HAUNMZYU9AN6FoBReXFAA5TUMaWQqOh1YBA3dWeinLNY9FlwYrdVdTH28u67GltyOtH9u5q+GO31mOeb7J3Wvd9vx/LirqHdQcivOJn7Sa23m9dFjqsIN1V9k5rw85KlwUZXumzdBQl91OXhQ7rtYK5f3zhuvW2MnRahTqrsevD8wAC64nLluNgptCqEFbjdb8oIQg6kkQbhWruj7EQHdZr42BXetuROq1KndWHLstYiMD62jh4rbHxCKEVIKzG628shOijiLHUWIgO66VxpKYanVaQzirU84DAitxdhfqwYsnQChhWYZ8XBFYot5p9O1JoRQ2rSM8DROywwp4z2Wrfop8nch4LHdZz16Bd3+qdVuQxMPrzgcBSIAVDK0lYCSwE1kwBpzixu0ZoJQqrdM8PAqt0ILwl2MfFoZUtrJx4R2DtwJLQythZgcA6YGgJKxBYKUJLWIHAShFawgoEVorQElYgsFKElrACgZUmtIQVCKzwpkZCQGCFDavzQGiBwAofVo8jodACgRU6rIQWCKxUYSW0YOeBlemqAK98dCFraLlKAwJruqDfkhXyy5+zytxpuWoDAmvaZY9hlTi0LsoIZoIgeiGvtY9ZrpXumu7osOZ1e+2skndanVJCYM0HQxtwn1b/bmD00HLCHYH1vIDfghbuZl9kztBpOeEOT8IhUvGW2p+I54qcv0KH9bluKJZmz51V9E5rtP6dMkJgzbsOv1+OElZBQ+vy8HwAEUeRo2/fOIgOK8lYGOFKobU7LeMgvFgwwwt8f+Suotb+/Fr3YdONn0YIWKxRR6Aa+2UcxEi4fCxsSxRo7TEwyng4Wm/jIER7pfedPt0VOqwUXVamW3GV6LR0VxD0FT9rJ7Hlfuuu0GGt12X1axZmls6qVKc1Wl/dFazxyr/G2+x76SLWPI7Rx0h0V7BCQbVrfS5rT0W5YmDdP3flcjKgqI7xYgBMjC0+gW1NQTegawU2KjKhZR0h1RijM/hep2oUhMKhpeCsHSg8awasWYC9AlwUVs5bgdASVoDQElYgtIQVUK9AvV0/HVY+/gEJQqs/6Br0wgpydheH6baOetyg09BZArULeW9dx9BVGQFhx0WdPrj2eEzAfLeVthvZy3EACws+encydFSCCgRX3LFqYvQTVCC4PqjWdc10U4IK+LSbuYdXu/G225mQcjKdwzhbguUBMvyxm/jn8d9dz+fzz1dC8fbbZeax/vq72+O+eSYQWLzceY1CpttgE92S8AOBxZIu7PUnRvcEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwwL/cvBIh09+hJAAAAABJRU5ErkJggg==", 57 + 58 + }; 59 + 60 + 61 + // added 0.2.1: work-around for iOS/Safari running from an iFrame (e.g. from itch.io page): 62 + // touch events only register after adding dummy listeners on document. 63 + 64 + document.addEventListener('touchstart', {}); 65 + document.addEventListener('touchmove', {}); 66 + document.addEventListener('touchend', {}); 67 + 68 + 69 + // -------------------------------------------------------------------------------------------------------------------------------- 70 + // pico-8 0.2.2: allow dropping files 71 + var p8_dropped_cart = null; 72 + var p8_dropped_cart_name = ""; 73 + function p8_drop_file(e) 74 + { 75 + // console.log("@@ dropping file..."); 76 + 77 + e.stopPropagation(); 78 + e.preventDefault(); 79 + 80 + if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files[0]) 81 + { 82 + // read from file 83 + reader = new FileReader(); 84 + reader.onload = function (event) 85 + { 86 + p8_dropped_cart_name = 'untitled.p8'; 87 + if (typeof e.dataTransfer.files[0].name !== 'undefined') p8_dropped_cart_name = e.dataTransfer.files[0].name; 88 + if (typeof e.dataTransfer.files[0].fileName !== 'undefined') p8_dropped_cart_name = e.dataTransfer.files[0].fileName; 89 + p8_dropped_cart = reader.result; 90 + // data:image/png;base64 91 + e.stopPropagation(); 92 + e.preventDefault(); 93 + codo_command = 9; // read directly from p8_dropped_cart with libb64 decoder 94 + }; 95 + reader.readAsDataURL(e.dataTransfer.files[0]); 96 + 97 + } 98 + else 99 + { 100 + // read from url (or data url) 101 + txt = e.dataTransfer.getData('Text'); 102 + if (txt){ 103 + p8_dropped_cart_name = "untitled.p8.png"; 104 + p8_dropped_cart = txt; 105 + codo_command = 9; 106 + } 107 + } 108 + } 109 + function nop(evt) { 110 + evt.stopPropagation(); 111 + evt.preventDefault(); 112 + } 113 + function dragover(evt) { 114 + evt.stopPropagation(); 115 + evt.preventDefault(); 116 + Module.pico8DragOver(); 117 + } 118 + function dragstop(evt) { 119 + evt.stopPropagation(); 120 + evt.preventDefault(); 121 + Module.pico8DragStop(); 122 + } 123 + 124 + // download (pico-8 0.2.4d web exports can save a .wav file) 125 + function download_browser_file(filename, contents) 126 + { 127 + var element = document.createElement('a'); 128 + if (filename.substr(filename.length - 7) == ".p8.png") 129 + element.setAttribute('href', 'data:image/png;base64,' + encodeURIComponent(contents)); 130 + else if (filename.substr(filename.length - 4) == ".wav") 131 + element.setAttribute('href', 'data:audio/x-wav;base64,' + encodeURIComponent(contents)); 132 + else 133 + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(contents)); 134 + element.setAttribute('download', filename); 135 + element.style.display = 'none'; 136 + document.body.appendChild(element); 137 + element.click(); 138 + document.body.removeChild(element); 139 + } 140 + // -------------------------------------------------------------------------------------------------------------------------------- 141 + 142 + 143 + var p8_buttons_hash = -1; 144 + function p8_update_button_icons() 145 + { 146 + // buttons only appear when running 147 + if (!p8_is_running) 148 + { 149 + requestAnimationFrame(p8_update_button_icons); 150 + return; 151 + } 152 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 153 + 154 + // hash based on: pico8_state.sound_volume pico8_state.is_paused bottom_margin left is_fullscreen p8_touch_detected 155 + var hash = 0; 156 + hash = pico8_state.sound_volume; 157 + if (pico8_state.is_paused) hash += 0x100; 158 + if (p8_touch_detected) hash += 0x200; 159 + if (is_fullscreen) hash += 0x400; 160 + 161 + if (p8_buttons_hash == hash) 162 + { 163 + requestAnimationFrame(p8_update_button_icons); 164 + return; 165 + } 166 + 167 + p8_buttons_hash = hash; 168 + // console.log("@@ updating button icons"); 169 + 170 + els = document.getElementsByClassName('p8_menu_button'); 171 + for (i = 0; i < els.length; i++) 172 + { 173 + el = els[i]; 174 + index = el.id; 175 + if (index == 'p8b_sound') index += (pico8_state.sound_volume == 0 ? "0" : "1"); // 1 if undefined 176 + if (index == 'p8b_pause') index += (pico8_state.is_paused > 0 ? "1" : "0"); // 0 if undefined 177 + 178 + new_str = '<img width=24 height=24 style="pointer-events:none" src="'+p8_gfx_dat[index]+'">'; 179 + if (el.innerHTML != new_str) 180 + el.innerHTML = new_str; 181 + 182 + 183 + 184 + 185 + // hide all buttons for touch mode (can pause with menu buttons) 186 + 187 + var is_visible = p8_is_running; 188 + 189 + if ((!p8_touch_detected || !p8_allow_mobile_menu) && el.parentElement.id == "p8_menu_buttons_touch") 190 + is_visible = false; 191 + 192 + if (p8_touch_detected && el.parentElement.id == "p8_menu_buttons") 193 + is_visible = false; 194 + 195 + if (is_fullscreen) 196 + is_visible = false; 197 + 198 + if (is_visible) 199 + el.style.display=""; 200 + else 201 + el.style.display="none"; 202 + } 203 + requestAnimationFrame(p8_update_button_icons); 204 + } 205 + 206 + 207 + 208 + function abs(x) 209 + { 210 + return x < 0 ? -x : x; 211 + } 212 + 213 + // step 0 down 1 drag 2 up (not used) 214 + function pico8_buttons_event(e, step) 215 + { 216 + if (!p8_is_running) return; 217 + 218 + pico8_buttons[0] = 0; 219 + 220 + if (step == 2 && typeof(pico8_mouse) !== 'undefined') 221 + { 222 + pico8_mouse[2] = 0; 223 + } 224 + 225 + var num = 0; 226 + if (e.touches) num = e.touches.length; 227 + 228 + if (num == 0 && typeof(pico8_mouse) !== 'undefined') 229 + { 230 + // no active touches: release mouse button from anywhere on page. (maybe redundant? but just in case) 231 + pico8_mouse[2] = 0; 232 + } 233 + 234 + 235 + for (var i = 0; i < num; i++) 236 + { 237 + var touch = e.touches[i]; 238 + var x = touch.clientX; 239 + var y = touch.clientY; 240 + var w = window.innerWidth; 241 + var h = window.innerHeight; 242 + 243 + var r = Math.min(w,h) / 12; 244 + if (r > 40) r = 40; 245 + 246 + // mouse (0.1.12d) 247 + 248 + let canvas = document.getElementById("canvas"); 249 + if (p8_touch_detected) 250 + if (typeof(pico8_mouse) !== 'undefined') 251 + if (canvas) 252 + { 253 + var rect = canvas.getBoundingClientRect(); 254 + //console.log(rect.top, rect.right, rect.bottom, rect.left, x, y); 255 + 256 + if (x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom) 257 + { 258 + pico8_mouse = [ 259 + Math.floor((x - rect.left) * 128 / (rect.right - rect.left)), 260 + Math.floor((y - rect.top) * 128 / (rect.bottom - rect.top)), 261 + step < 2 ? 1 : 0 262 + ]; 263 + // return; // commented -- blocks overlapping buttons 264 + }else 265 + { 266 + pico8_mouse[2] = 0; 267 + } 268 + } 269 + 270 + 271 + // buttons 272 + 273 + b = 0; 274 + 275 + if (y < h - r*8) 276 + { 277 + // no controller buttons up here; includes canvas and menu buttons at top in touch mode 278 + } 279 + else 280 + { 281 + e.preventDefault(); 282 + 283 + if ((y < h - r*6) && y > (h - r*8)) 284 + { 285 + // menu button: half as high as X O button 286 + // stretch across right-hand half above X O buttons 287 + if (x > w - r*3) 288 + b |= 0x40; 289 + } 290 + else if (x < w/2 && x < r*6) 291 + { 292 + // stick 293 + 294 + mask = 0xf; // dpad 295 + var cx = 0 + r*3; 296 + var cy = h - r*3; 297 + 298 + deadzone = r/3; 299 + var dx = x - cx; 300 + var dy = y - cy; 301 + 302 + if (abs(dx) > abs(dy) * 0.6) // horizontal 303 + { 304 + if (dx < -deadzone) b |= 0x1; 305 + if (dx > deadzone) b |= 0x2; 306 + } 307 + if (abs(dy) > abs(dx) * 0.6) // vertical 308 + { 309 + if (dy < -deadzone) b |= 0x4; 310 + if (dy > deadzone) b |= 0x8; 311 + } 312 + } 313 + else if (x > w - r*6) 314 + { 315 + // button; diagonal split from bottom right corner 316 + 317 + mask = 0x30; 318 + 319 + // one or both of [X], [O] 320 + if ( (h-y) > (w-x) * 0.8) b |= 0x10; 321 + if ( (w-x) > (h-y) * 0.8) b |= 0x20; 322 + } 323 + } 324 + 325 + pico8_buttons[0] |= b; 326 + 327 + } 328 + } 329 + 330 + // p8_update_layout_hash is used to decide when to update layout (expensive especially when part of a heavy page) 331 + var p8_update_layout_hash = -1; 332 + var last_windowed_container_height = 512; 333 + var p8_layout_frames = 0; 334 + 335 + function p8_update_layout() 336 + { 337 + var canvas = document.getElementById("canvas"); 338 + var p8_playarea = document.getElementById("p8_playarea"); 339 + var p8_container = document.getElementById("p8_container"); 340 + var p8_frame = document.getElementById("p8_frame"); 341 + var csize = 512; 342 + var margin_top = 0; 343 + var margin_left = 0; 344 + 345 + // page didn't load yet? first call should be after p8_frame is created so that layout doesn't jump around. 346 + if (!canvas || !p8_playarea || !p8_container || !p8_frame) 347 + { 348 + p8_update_layout_hash = -1; 349 + requestAnimationFrame(p8_update_layout); 350 + return; 351 + } 352 + 353 + p8_layout_frames ++; 354 + 355 + // assumes frame doesn't have padding 356 + 357 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 358 + var frame_width = p8_frame.offsetWidth; 359 + var frame_height = p8_frame.offsetHeight; 360 + 361 + if (is_fullscreen) 362 + { 363 + // same as window 364 + frame_width = window.innerWidth; 365 + frame_height = window.innerHeight; 366 + } 367 + else{ 368 + // never larger than window // (happens when address bar is down in portraight mode on phone) 369 + frame_width = Math.min(frame_width, window.innerWidth); 370 + frame_height = Math.min(frame_height, window.innerHeight); 371 + } 372 + 373 + // as big as will fit in a frame.. 374 + csize = Math.min(frame_width,frame_height); 375 + 376 + // .. but never more than 2/3 of longest side for touch (e.g. leave space for controls on iPad) 377 + if (p8_touch_detected && p8_is_running) 378 + { 379 + var longest_side = Math.max(window.innerWidth,window.innerHeight); 380 + csize = Math.min(csize, longest_side * 2/3); 381 + } 382 + 383 + // pixel perfect: quantize to closest multiple of 128 384 + // only when large display (desktop) 385 + if (frame_width >= 512 && frame_height >= 512) 386 + { 387 + csize = (csize+1) & ~0x7f; 388 + } 389 + 390 + // csize should never be higher than parent frame 391 + // (otherwise stretched large when fullscreen and then return) 392 + if (!is_fullscreen && p8_frame) 393 + csize = Math.min(csize, last_windowed_container_height); // p8_frame_0 parent 394 + 395 + 396 + if (is_fullscreen) 397 + { 398 + // always center horizontally 399 + margin_left = (frame_width - csize)/2; 400 + 401 + if (p8_touch_detected) 402 + { 403 + if (window.innerWidth < window.innerHeight) 404 + { 405 + // portrait: keep at y=40 (avoid rounded top corners / camera nub thing etc.) 406 + margin_top = Math.min(40, frame_height - csize); 407 + } 408 + else 409 + { 410 + // landscape: put a little above vertical center 411 + margin_top = (frame_height - csize)/4; 412 + } 413 + } 414 + else{ 415 + // non-touch: center vertically 416 + margin_top = (frame_height - csize)/2; 417 + } 418 + } 419 + 420 + // skip if relevant state has not changed 421 + 422 + var update_hash = csize + margin_top * 1000.3 + margin_left * 0.001 + frame_width * 333.33 + frame_height * 772.15134; 423 + if (is_fullscreen) update_hash += 0.1237; 424 + 425 + // unexpected things can happen in the first few seconds, so just keep re-calculating layout. wasm version breaks layout otherwise. 426 + // also: bonus refresh at 5, 8 seconds just in case ._. 427 + if (p8_layout_frames < 180 || p8_layout_frames == 60*5 || p8_layout_frames == 60*8 ) 428 + update_hash = p8_layout_frames; 429 + 430 + if (!is_fullscreen) // fullscreen: update every frame for safety. should be cheap! 431 + if (!p8_touch_detected) // mobile: update every frame because nothing can be trusted 432 + if (p8_update_layout_hash == update_hash) 433 + { 434 + //console.log("p8_update_layout(): skipping"); 435 + requestAnimationFrame(p8_update_layout); 436 + return; 437 + } 438 + p8_update_layout_hash = update_hash; 439 + 440 + // record this for returning to original size after fullscreen pushes out container height (argh) 441 + if (!is_fullscreen && p8_frame) 442 + last_windowed_container_height = p8_frame.parentNode.parentNode.offsetHeight; 443 + 444 + 445 + // mobile in portrait mode: put screen at top (w / a little extra space for fullscreen button if needed) 446 + // (don't cart too about buttons overlapping screen) 447 + if (p8_touch_detected && p8_is_running && document.body.clientWidth < document.body.clientHeight) 448 + p8_playarea.style.marginTop = p8_allow_mobile_menu ? 32 : 8; 449 + else if (p8_touch_detected && p8_is_running) // landscape: slightly above vertical center (only relevant for iPad / highres devices) 450 + p8_playarea.style.marginTop = (document.body.clientHeight - csize) / 4; 451 + else 452 + p8_playarea.style.marginTop = ""; 453 + 454 + canvas.style.width = csize; 455 + canvas.style.height = csize; 456 + 457 + // to do: this should just happen from css layout 458 + canvas.style.marginLeft = margin_left; 459 + canvas.style.marginTop = margin_top; 460 + 461 + p8_container.style.width = csize; 462 + p8_container.style.height = csize; 463 + 464 + // set menu buttons position to bottom right 465 + el = document.getElementById("p8_menu_buttons"); 466 + el.style.marginTop = csize - el.offsetHeight; 467 + 468 + if (p8_touch_detected && p8_is_running) 469 + { 470 + // turn off pointer events to prevent double-tap zoom etc (works on Android) 471 + // don't want this for desktop because breaks mouse input & click-to-focus when using codo_textarea 472 + canvas.style.pointerEvents = "none"; 473 + 474 + p8_container.style.marginTop = "0px"; 475 + 476 + // buttons 477 + 478 + // same as touch event handling 479 + var w = window.innerWidth; 480 + var h = window.innerHeight; 481 + var r = Math.min(w,h) / 12; 482 + 483 + if (r > 40) r = 40; 484 + 485 + el = document.getElementById("controls_right_panel"); 486 + el.style.left = w-r*6; 487 + el.style.top = h-r*7; 488 + el.style.width = r*6; 489 + el.style.height = r*7; 490 + if (el.getAttribute("src") != p8_gfx_dat["controls_right_panel"]) // optimisation: avoid reload? (browser should handle though) 491 + el.setAttribute("src", p8_gfx_dat["controls_right_panel"]); 492 + 493 + el = document.getElementById("controls_left_panel"); 494 + el.style.left = 0; 495 + el.style.top = h-r*6; 496 + el.style.width = r*6; 497 + el.style.height = r*6; 498 + if (el.getAttribute("src") != p8_gfx_dat["controls_left_panel"]) // optimisation: avoid reload? (browser should handle though) 499 + el.setAttribute("src", p8_gfx_dat["controls_left_panel"]); 500 + 501 + // scroll to cart (commented; was a failed attempt to prevent scroll-on-drag on some browsers) 502 + // p8_frame.scrollIntoView(true); 503 + 504 + document.getElementById("touch_controls_gfx").style.display="table"; 505 + document.getElementById("touch_controls_background").style.display="table"; 506 + 507 + } 508 + else{ 509 + document.getElementById("touch_controls_gfx").style.display="none"; 510 + document.getElementById("touch_controls_background").style.display="none"; 511 + } 512 + 513 + if (!p8_is_running) 514 + { 515 + p8_playarea.style.display="none"; 516 + p8_container.style.display="flex"; 517 + p8_container.style.marginTop="auto"; 518 + 519 + el = document.getElementById("p8_start_button"); 520 + if (el) el.style.display="flex"; 521 + } 522 + requestAnimationFrame(p8_update_layout); 523 + } 524 + 525 + 526 + var p8_touch_detected = false; 527 + addEventListener("touchstart", function(event) 528 + { 529 + p8_touch_detected = true; 530 + 531 + // hide codo_textarea -- clipboard support on mobile is not feasible 532 + el = document.getElementById("codo_textarea"); 533 + if (el && el.style.display != "none"){ 534 + el.style.display="none"; 535 + } 536 + 537 + }, {passive: true}); 538 + 539 + function p8_create_audio_context() 540 + { 541 + if (pico8_audio_context) 542 + { 543 + try { 544 + pico8_audio_context.resume(); 545 + } 546 + catch(err) { 547 + console.log("** pico8_audio_context.resume() failed"); 548 + } 549 + return; 550 + } 551 + 552 + var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext; 553 + if (webAudioAPI) 554 + { 555 + pico8_audio_context = new webAudioAPI; 556 + 557 + // wake up iOS 558 + if (pico8_audio_context) 559 + { 560 + try { 561 + var dummy_source_sfx = pico8_audio_context.createBufferSource(); 562 + dummy_source_sfx.buffer = pico8_audio_context.createBuffer(1, 1, 22050); // dummy 563 + dummy_source_sfx.connect(pico8_audio_context.destination); 564 + dummy_source_sfx.start(1, 0.25); // gives InvalidStateError -- why? hasn't been played before 565 + //dummy_source_sfx.noteOn(0); // deleteme 566 + } 567 + catch(err) { 568 + console.log("** dummy_source_sfx.start(1, 0.25) failed"); 569 + } 570 + } 571 + } 572 + } 573 + 574 + function p8_close_cart() 575 + { 576 + // just reload page! used for touch buttons -- hard to roll back state 577 + window.location.hash = ""; // triggers reload 578 + } 579 + 580 + var p8_is_running = false; 581 + var p8_script = null; 582 + var Module = null; 583 + function p8_run_cart() 584 + { 585 + if (p8_is_running) return; 586 + p8_is_running = true; 587 + 588 + // touch: hide everything except p8_frame_0 589 + if (p8_touch_detected) 590 + { 591 + el = document.getElementById("body_0"); 592 + el2 = document.getElementById("p8_frame_0"); 593 + if (el && el2) 594 + { 595 + el.style.display="none"; 596 + el.parentNode.appendChild(el2); 597 + } 598 + } 599 + 600 + // create audio context and wake it up (for iOS -- needs happen inside touch event) 601 + p8_create_audio_context(); 602 + 603 + // show touch elements 604 + els = document.getElementsByClassName('p8_controller_area'); 605 + for (i = 0; i < els.length; i++) 606 + els[i].style.display=""; 607 + 608 + 609 + // install touch events. These also serve to block scrolling / pinching / zooming on phones when p8_is_running 610 + // moved event.preventDefault(); calls into pico8_buttons_event() (want to let top buttons pass through) 611 + addEventListener("touchstart", function(event){ pico8_buttons_event(event, 0); }, {passive: false}); 612 + addEventListener("touchmove", function(event){ pico8_buttons_event(event, 1); }, {passive: false}); 613 + addEventListener("touchend", function(event){ pico8_buttons_event(event, 2); }, {passive: false}); 614 + 615 + 616 + // load and run script 617 + e = document.createElement("script"); 618 + p8_script = e; 619 + e.onload = function(){ 620 + 621 + // show canvas / menu buttons only after loading 622 + el = document.getElementById("p8_playarea"); 623 + if (el) el.style.display="table"; 624 + 625 + if (typeof(p8_update_layout_hash) !== 'undefined') 626 + p8_update_layout_hash = -77; 627 + if (typeof(p8_buttons_hash) !== 'undefined') 628 + p8_buttons_hash = -33; 629 + 630 + 631 + } 632 + e.type = "application/javascript"; 633 + e.src = "picosky-demo.js"; 634 + e.id = "e_script"; 635 + 636 + document.body.appendChild(e); // load and run 637 + 638 + // hide start button and show canvas / menu buttons. hide start button 639 + el = document.getElementById("p8_start_button"); 640 + if (el) el.style.display="none"; 641 + 642 + // add #playing for touchscreen devices (allows back button to close) 643 + // X button can also be used to trigger this 644 + if (p8_touch_detected) 645 + { 646 + window.location.hash = "#playing"; 647 + window.onhashchange = function() 648 + { 649 + if (window.location.hash.search("playing") < 0) 650 + window.location.reload(); 651 + } 652 + } 653 + 654 + // install drag&drop listeners 655 + { 656 + let canvas = document.getElementById("canvas"); 657 + if (canvas) 658 + { 659 + canvas.addEventListener('dragenter', dragover, false); 660 + canvas.addEventListener('dragover', dragover, false); 661 + canvas.addEventListener('dragleave', dragstop, false); 662 + canvas.addEventListener('drop', nop, false); 663 + canvas.addEventListener('drop', p8_drop_file, false); 664 + } 665 + } 666 + } 667 + 668 + 669 + // Gamepad code 670 + 671 + var P8_BUTTON_O = {action:'button', code: 0x10}; 672 + var P8_BUTTON_X = {action:'button', code: 0x20}; 673 + var P8_DPAD_LEFT = {action:'button', code: 0x1}; 674 + var P8_DPAD_RIGHT = {action:'button', code: 0x2}; 675 + var P8_DPAD_UP = {action:'button', code: 0x4}; 676 + var P8_DPAD_DOWN = {action:'button', code: 0x8}; 677 + var P8_MENU = {action:'menu'}; 678 + var P8_NO_ACTION = {action:'none'}; 679 + 680 + var P8_BUTTON_MAPPING = [ 681 + // ref: https://w3c.github.io/gamepad/#remapping 682 + P8_BUTTON_O, // Bottom face button 683 + P8_BUTTON_X, // Right face button 684 + P8_BUTTON_X, // Left face button 685 + P8_BUTTON_O, // Top face button 686 + P8_NO_ACTION, // Near left shoulder button (L1) 687 + P8_NO_ACTION, // Near right shoulder button (R1) 688 + P8_NO_ACTION, // Far left shoulder button (L2) 689 + P8_NO_ACTION, // Far right shoulder button (R2) 690 + P8_MENU, // Left auxiliary button (select) 691 + P8_MENU, // Right auxiliary button (start) 692 + P8_NO_ACTION, // Left stick button 693 + P8_NO_ACTION, // Right stick button 694 + P8_DPAD_UP, // Dpad up 695 + P8_DPAD_DOWN, // Dpad down 696 + P8_DPAD_LEFT, // Dpad left 697 + P8_DPAD_RIGHT, // Dpad right 698 + ]; 699 + 700 + // Track which player is controller by each gamepad. Gamepad index i controls the 701 + // player with index pico8_gamepads_mapping[i]. Gamepads with null player are 702 + // currently unassigned - they get assigned to a player when a button is pressed. 703 + var pico8_gamepads_mapping = []; 704 + 705 + function p8_unassign_gamepad(gamepad_index) { 706 + if (pico8_gamepads_mapping[gamepad_index] == null) { 707 + return; 708 + } 709 + pico8_buttons[pico8_gamepads_mapping[gamepad_index]] = 0; 710 + pico8_gamepads_mapping[gamepad_index] = null; 711 + } 712 + 713 + 714 + function p8_first_player_without_gamepad(max_players) { 715 + var allocated_players = pico8_gamepads_mapping.filter(function(x) { return x != null; }); 716 + var sorted_players = Array.from(allocated_players).sort(); 717 + for (var desired = 0; desired < sorted_players.length && desired < max_players; ++desired) { 718 + if (desired != sorted_players[desired]) { 719 + return desired; 720 + } 721 + } 722 + if (sorted_players.length < max_players) { 723 + return sorted_players.length; 724 + } 725 + return null; 726 + } 727 + 728 + function p8_assign_gamepad_to_player(gamepad_index, player_index) { 729 + p8_unassign_gamepad(gamepad_index); 730 + pico8_gamepads_mapping[gamepad_index] = player_index; 731 + } 732 + 733 + 734 + 735 + function p8_convert_standard_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) { 736 + // Given a gamepad object, return: 737 + // { 738 + // button_state: the binary encoded Pico 8 button state 739 + // menu_button: true if any menu-mapped button was pressed 740 + // any_button: true if any button was pressed, including d-pad 741 + // buttons and unmapped buttons 742 + // } 743 + if (!gamepad || !gamepad.axes || !gamepad.buttons) { 744 + return { 745 + button_state: 0, 746 + menu_button: false, 747 + any_button: false 748 + }; 749 + } 750 + function button_state_from_axis(axis, low_state, high_state, default_state) { 751 + if (axis && axis < -axis_threshold) return low_state; 752 + if (axis && axis > axis_threshold) return high_state; 753 + return default_state; 754 + } 755 + var axes_actions = [ 756 + button_state_from_axis(gamepad.axes[0], P8_DPAD_LEFT, P8_DPAD_RIGHT, P8_NO_ACTION), 757 + button_state_from_axis(gamepad.axes[1], P8_DPAD_UP, P8_DPAD_DOWN, P8_NO_ACTION), 758 + ]; 759 + 760 + var button_actions = gamepad.buttons.map(function (button, index) { 761 + var pressed = button.value > button_threshold || button.pressed; 762 + if (!pressed) return P8_NO_ACTION; 763 + return P8_BUTTON_MAPPING[index] || P8_NO_ACTION; 764 + }); 765 + 766 + var all_actions = axes_actions.concat(button_actions); 767 + 768 + var menu_button = button_actions.some(function (action) { return action.action == 'menu'; }); 769 + var button_state = (all_actions 770 + .filter(function (a) { return a.action == 'button'; }) 771 + .map(function (a) { return a.code; }) 772 + .reduce(function (result, code) { return result | code; }, 0) 773 + ); 774 + var any_button = gamepad.buttons.some(function (button) { 775 + return button.value > button_threshold || button.pressed; 776 + }); 777 + 778 + any_button |= button_state; //jww: include axes 0,1 as might be first intended action 779 + 780 + return { 781 + button_state, 782 + menu_button, 783 + any_button 784 + }; 785 + } 786 + 787 + // jww: pico-8 0.2.1 version for unmapped gamepads, following p8_convert_standard_gamepad_to_button_state 788 + // axes 0,1 & buttons 0,1,2,3 are reasonably safe. don't try to read dpad. 789 + // menu buttons are unpredictable, but use 6..8 anyway (better to have a weird menu button than none) 790 + 791 + function p8_convert_unmapped_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) { 792 + 793 + if (!gamepad || !gamepad.axes || !gamepad.buttons) { 794 + return { 795 + button_state: 0, 796 + menu_button: false, 797 + any_button: false 798 + }; 799 + } 800 + 801 + var button_state = 0; 802 + 803 + if (gamepad.axes[0] && gamepad.axes[0] < -axis_threshold) button_state |= 0x1; 804 + if (gamepad.axes[0] && gamepad.axes[0] > axis_threshold) button_state |= 0x2; 805 + if (gamepad.axes[1] && gamepad.axes[1] < -axis_threshold) button_state |= 0x4; 806 + if (gamepad.axes[1] && gamepad.axes[1] > axis_threshold) button_state |= 0x8; 807 + 808 + // buttons: first 4 taken to be O/X, 6..8 taken to be menu button 809 + 810 + for (j = 0; j < gamepad.buttons.length; j++) 811 + if (gamepad.buttons[j].value > 0 || gamepad.buttons[j].pressed) 812 + { 813 + if (j < 4) 814 + button_state |= (0x10 << (((j+1)/2)&1)); // 0 1 1 0 -- A,X -> O,X on xbox360 815 + else if (j >= 6 && j <= 8) 816 + button_state |= 0x40; 817 + } 818 + 819 + var menu_button = button_state & 0x40; 820 + 821 + var any_button = gamepad.buttons.some(function (button) { 822 + return button.value > button_threshold || button.pressed; 823 + }); 824 + 825 + any_button |= button_state; //jww: include axes 0,1 as might be first intended action 826 + 827 + return { 828 + button_state, 829 + menu_button, 830 + any_button 831 + }; 832 + } 833 + 834 + 835 + // gamepad https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API 836 + // (sets bits in pico8_buttons[]) 837 + function p8_update_gamepads() { 838 + var axis_threshold = 0.3; 839 + var button_threshold = 0.5; // Should be unnecessary, we should be able to trust .pressed 840 + var max_players = 8; 841 + var gps = navigator.getGamepads() || navigator.webkitGetGamepads(); 842 + 843 + if (!gps) return; 844 + 845 + // In Chrome, gps is iterable but it's not an array. 846 + gps = Array.from(gps); 847 + 848 + pico8_gamepads.count = gps.length; 849 + while (gps.length > pico8_gamepads_mapping.length) { 850 + pico8_gamepads_mapping.push(null); 851 + } 852 + 853 + var menu_button = false; 854 + var gamepad_states = gps.map(function (gp) { 855 + return (gp && gp.mapping == "standard") ? 856 + p8_convert_standard_gamepad_to_button_state(gp, axis_threshold, button_threshold) : 857 + p8_convert_unmapped_gamepad_to_button_state(gp, axis_threshold, button_threshold); 858 + }); 859 + 860 + // Unassign disconnected gamepads. 861 + // gps.forEach(function (gp, i) { if (gp && !gp.connected) { p8_unassign_gamepad(i); }}); 862 + gps.forEach(function (gp, i) { if (!gp || !gp.connected) { p8_unassign_gamepad(i); }}); // https://www.lexaloffle.com/bbs/?pid=87132#p 863 + 864 + 865 + // Assign unassigned gamepads when any button is pressed. 866 + gamepad_states.forEach(function (state, i) { 867 + if (state.any_button && pico8_gamepads_mapping[i] == null) { 868 + var first_free_player = p8_first_player_without_gamepad(max_players); 869 + p8_assign_gamepad_to_player(i, first_free_player); 870 + } 871 + }); 872 + 873 + // Update pico8_buttons array. 874 + gamepad_states.forEach(function (gamepad_state, i) { 875 + if (pico8_gamepads_mapping[i] != null) { 876 + pico8_buttons[pico8_gamepads_mapping[i]] = gamepad_state.button_state; 877 + } 878 + }); 879 + 880 + // Update menu button. 881 + // Pico 8 only recognises the menu button on the first player, so we 882 + // press it when any gamepad has pressed a button mapped to menu. 883 + if (gamepad_states.some(function (state) { return state.menu_button; })) { 884 + pico8_buttons[0] |= 0x40; 885 + } 886 + 887 + requestAnimationFrame(p8_update_gamepads); 888 + } 889 + requestAnimationFrame(p8_update_gamepads); 890 + 891 + // End of gamepad code 892 + 893 + 894 + // key blocker. prevent browser operations while playing cart so that PICO-8 can use those keys e.g. cursors to scroll, ctrl-r to reload 895 + document.addEventListener('keydown', 896 + function (event) { 897 + event = event || window.event; 898 + if (!p8_is_running) return; 899 + 900 + if (pico8_state.has_focus == 1) 901 + if ([32, 37, 38, 39, 40, 77, 82, 80, 9].indexOf(event.keyCode) > -1) // block only cursors, M R P, tab 902 + if (event.preventDefault) event.preventDefault(); 903 + 904 + },{passive: false}); 905 + 906 + // when using codo_textarea to determine focus, need to explicitly hand focus back when clicking a p8_menu_button 907 + function p8_give_focus() 908 + { 909 + el = (typeof codo_textarea === 'undefined') ? document.getElementById("codo_textarea") : codo_textarea; 910 + if (el) 911 + { 912 + el.focus(); 913 + el.select(); 914 + } 915 + } 916 + 917 + function p8_request_fullscreen() { 918 + 919 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 920 + 921 + if (is_fullscreen) 922 + { 923 + if (document.exitFullscreen) { 924 + document.exitFullscreen(); 925 + } else if (document.webkitExitFullscreen) { 926 + document.webkitExitFullscreen(); 927 + } else if (document.mozCancelFullScreen) { 928 + document.mozCancelFullScreen(); 929 + } else if (document.msExitFullscreen) { 930 + document.msExitFullscreen(); 931 + } 932 + return; 933 + } 934 + 935 + var el = document.getElementById("p8_playarea"); 936 + 937 + if ( el.requestFullscreen ) { 938 + el.requestFullscreen(); 939 + } else if ( el.mozRequestFullScreen ) { 940 + el.mozRequestFullScreen(); 941 + } else if ( el.webkitRequestFullScreen ) { 942 + el.webkitRequestFullScreen( Element.ALLOW_KEYBOARD_INPUT ); 943 + } 944 + } 945 + 946 + </script> 947 + 948 + <STYLE TYPE="text/css"> 949 + <!-- 950 + .p8_menu_button{ 951 + opacity:0.3; 952 + padding:4px; 953 + display:table; 954 + width:24px; 955 + height:24px; 956 + float:right; 957 + } 958 + 959 + @media screen and (min-width:512px) { 960 + .p8_menu_button{ 961 + width:24px; margin-left:12px; margin-bottom:8px; 962 + } 963 + } 964 + .p8_menu_button:hover{ 965 + opacity:1.0; 966 + cursor:pointer; 967 + } 968 + 969 + canvas{ 970 + image-rendering: optimizeSpeed; 971 + image-rendering: -moz-crisp-edges; 972 + image-rendering: -webkit-optimize-contrast; 973 + image-rendering: optimize-contrast; 974 + image-rendering: pixelated; 975 + -ms-interpolation-mode: nearest-neighbor; 976 + border: 0px; 977 + cursor: none; 978 + } 979 + 980 + 981 + .p8_start_button{ 982 + cursor:pointer; 983 + background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABx0lEQVR4Ae3dv22DQBhAcYiQG1omYBPX7lkgJVUmYIpbwkt4k9uCxlUUKYXjAsV/jjub3+tQAj54+r7X1t0wVchHU1XV2M8+RBZCbD98hbwQQAABIIAAEEAACCAABBAAAggAAQSAAAJAAAEggAAkolnnZ0JsF/469nOWly/hVCbACiIABGyXuhumFLVZ7tsy6epX2qlCbE2AFUQACBDhrH1LV78yTyXCVhAIIAA/FW7KP+JVSJfrl666JsAKAgEEYHsRPp+Of677w///ebcfTAAIIAAEiPDd1X3eowpssgkggAAQIMIPM/bz5WWIbaITp3vyTS9oAqwgEEAAiolwria/XHVNgBUEAghA4gi/YpPXqa4JsIJAAAH4pe6GaYX4PFLd8+l49727/VByk0NsTYAVRAAI2C5NgdUthKtXSNRkE2AFEQACRFh1MzXZBFhBBIAAAkAAASCAAKxM86wHjf18eRli+2Zf6uoFTYAVBAIIQDERTtfkr8/D3feGWFx1TYAVBAIIQOII3xS0RxKd7lQmwAoCAQTgLSKcK4YlZNYEEAACCAABBIAAAkAAASCAABBAAAgggAAQQAAIIAAEbJG6GyZfISPffORkckIApesAAAAQdEVYdExvZGVQTkcAMjAxMTAyMjHjWbbBAAAAAElFTkSuQmCC"); 984 + -repeat center; 985 + -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; 986 + } 987 + 988 + .button_gfx{ 989 + stroke-width:2; 990 + stroke: #ffffff; 991 + stroke-opacity:0.4; 992 + fill-opacity:0.2; 993 + fill:black; 994 + } 995 + 996 + .button_gfx_icon{ 997 + stroke-width:3; 998 + stroke: #909090; 999 + stroke-opacity:0.7; 1000 + fill:none; 1001 + } 1002 + 1003 + --> 1004 + </STYLE> 1005 + 1006 + </head> 1007 + 1008 + <body style="padding:0px; margin:0px; background-color:#222; color:#ccc"> 1009 + <div id="body_0"> <!-- hide this when playing in mobile (p8_touch_detected) so that elements don't affect layout --> 1010 + 1011 + 1012 + <!-- Add any content above the cart here --> 1013 + 1014 + 1015 + <div id="p8_frame_0" style="max-width:800px; max-height:800px; margin:auto;"> <!-- double function: limit size, and display only this div for touch devices --> 1016 + <div id="p8_frame" style="display:flex; width:100%; max-width:95vw; height:100vw; max-height:95vh; margin:auto;"> 1017 + 1018 + <div id="p8_menu_buttons_touch" style="position:absolute; width:100%; z-index:10; left:0px;"> 1019 + <div class="p8_menu_button" id="p8b_full" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_request_fullscreen();"></div> 1020 + <div class="p8_menu_button" id="p8b_sound" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div> 1021 + <div class="p8_menu_button" id="p8b_close" style="float:right; margin-right:10px" onClick="p8_close_cart();"></div> 1022 + </div> 1023 + 1024 + <div id="p8_container" 1025 + style="margin:auto; display:table;" 1026 + onclick="p8_create_audio_context(); p8_run_cart();"> 1027 + 1028 + <div id="p8_start_button" class="p8_start_button" style="width:100%; height:100%; display:flex;"> 1029 + <img width=80 height=80 style="margin:auto;" 1030 + src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAABpklEQVR42u3au23DQBCEYUXOXIGKcujQXUgFuA0XIKgW90Q9oEAg+Ljd27vd2RsCf058gEDqhofPj+OB6SMCAQlIQAIyAhKQgARkBAQDnM6XSRsB7/2e/tSA0//12fCAKsQX3ntDA4oRFwBRIc0AixE38BAhTQGLEAsBUSDNAXcRhYDRIZsAPlp99VECRoXsDpgN0g0wC6Q7IDpkGEBUyG6A0+vKBtkdMBukG2AWSHdAdMgwgKiQ4QDRIMMCokCGB4wOCQPYFVKw2cABNocUjl6wgE0gFashPKAZpHJ2TQNYBVmxW6cDFENWDv9pAUshCVgJScBKSAISkD9hPkT4GkNAMdzepyj8Kye852EBLe51CZHHWQK4JcThD1SlcHPEYY/0a+A0n6SkGZV6w6WZNb3g4Id1b7hwgGhwYQBR4dwB0eHcALPAdQfMBhcOEA0uDCAqnDsgOpwbYBa4poA/31+rZYFrBriFpwGMCtcEcA9PAhgdzhywBK8EEQXOFFCCtwaIBmcGKMWbI6LCmQBq8R6hw5kAMgISkIAEJCAjIAEJSEBGQI9ukV7lRn9nD+gAAAAASUVORK5CYII="/> 1031 + </div> 1032 + 1033 + <div id="p8_playarea" style="display:none; margin:auto; 1034 + -webkit-user-select:none; -moz-user-select: none; user-select: none; -webkit-touch-callout:none; 1035 + "> 1036 + 1037 + <div id="touch_controls_background" 1038 + style=" pointer-events:none; display:none; background-color:#000; 1039 + position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh"> 1040 + &nbsp 1041 + </div> 1042 + 1043 + <div style="display:flex; position:relative"> 1044 + <!-- pointer-events turned off for mobile in p8_update_layout because need for desktop mouse --> 1045 + <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault();" > 1046 + </canvas> 1047 + <div class=p8_menu_buttons id="p8_menu_buttons" style="margin-left:10px;"> 1048 + <div class="p8_menu_button" style="position:absolute; bottom:125px" id="p8b_controls" onClick="p8_give_focus(); Module.pico8ToggleControlMenu();"></div> 1049 + <div class="p8_menu_button" style="position:absolute; bottom:90px" id="p8b_pause" onClick="p8_give_focus(); Module.pico8TogglePaused(); p8_update_layout_hash = -22;"></div> 1050 + <div class="p8_menu_button" style="position:absolute; bottom:55px" id="p8b_sound" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div> 1051 + <div class="p8_menu_button" style="position:absolute; bottom:20px" id="p8b_full" onClick="p8_give_focus(); p8_request_fullscreen();"></div> 1052 + </div> 1053 + </div> 1054 + 1055 + 1056 + <!-- display after first layout update --> 1057 + <div id="touch_controls_gfx" 1058 + style=" pointer-events:none; display:table; 1059 + position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh"> 1060 + 1061 + <img src="" id="controls_right_panel" style="position:absolute; opacity:0.5;"> 1062 + <img src="" id="controls_left_panel" style="position:absolute; opacity:0.5;"> 1063 + 1064 + 1065 + </div> <!-- touch_controls_gfx --> 1066 + 1067 + <!-- used for clipboard access & keyboard input; displayed and used by PICO-8 only once needed. can be safely removed if clipboard / key presses not needed. --> 1068 + <!-- (needs to be inside p8_playarea so that it still works under Chrome when fullscreened) --> 1069 + <!-- 0.2.5: added "display:none"; pico8.js shows on demand to avoid mac osx accent character selector // https://www.lexaloffle.com/bbs/?tid=47743 --> 1070 + 1071 + <textarea id="codo_textarea" class="emscripten" style="display:none; position:absolute; left:-9999px; height:0px; overflow:hidden"></textarea> 1072 + 1073 + </div> <!--p8_playarea --> 1074 + 1075 + </div> <!-- p8_container --> 1076 + 1077 + </div> <!-- p8_frame --> 1078 + </div> <!-- p8_frame_0 size limit --> 1079 + 1080 + <script type="text/javascript"> 1081 + 1082 + p8_update_layout(); 1083 + p8_update_button_icons(); 1084 + 1085 + var canvas = document.getElementById("canvas"); 1086 + Module = {}; 1087 + Module.canvas = canvas; 1088 + 1089 + // from @ultrabrite's shell: test if an AudioContext can be created outside of an event callback. 1090 + // If it can't be created, then require pressing the start button to run the cartridge 1091 + 1092 + if (p8_autoplay) 1093 + { 1094 + var temp_context = new AudioContext(); 1095 + temp_context.onstatechange = function () 1096 + { 1097 + if (temp_context.state=='running') 1098 + { 1099 + p8_run_cart(); 1100 + temp_context.close(); 1101 + } 1102 + }; 1103 + } 1104 + 1105 + // pointer lock request needs to be inside a canvas interaction event 1106 + // pico8_state.request_pointer_lock is true when 0x5f2d bit 0 and bit 2 are set -- poke(0x5f2d,0x5) 1107 + // note on mouse acceleration for future: // https://github.com/w3c/pointerlock/pull/49 1108 + canvas.addEventListener("click", function() 1109 + { 1110 + if (!p8_touch_detected) 1111 + if (pico8_state.request_pointer_lock) 1112 + canvas.requestPointerLock(); 1113 + }); 1114 + 1115 + </script> 1116 + 1117 + 1118 + 1119 + <!-- Add content below the cart here --> 1120 + 1121 + 1122 + 1123 + 1124 + </div> <!-- body_0 --> 1125 + </body></html> 1126 +
+157
picosky-demo.js
··· 1 + var _cartname=[`demo.p8`]; 2 + var _cdpos=0; var iii=0; var ciii=0; 3 + var _cartdat=[ 4 + 0,204,0,0,0,0,204,0,192,0,0,12,0,0,0,0,0,192,0,0,0,0,12,0,0,0,0,0,0,0,0,0,112,119,119,7,0,0,0,7,112,7,112,7,112,7,112,7,0,0,112,7,0,119,7,0,0,0,0,0,119,0,0,119,192,204,12,0,0,192,204,12,204,12,192,204,0,0,0,0,0,204,12,0,0,192,204,0,0,192,12,0,0,192,12,0,7,0,0,112,119,119,119,119,119,119,119,119,7,112,7,112,0,0,119,7,112,0,112,7,112,7,112,7,7,112,119,112,204,204,204,0,0,204,204,204,204,220,205,204,0,0,0,0,192,204,204,0,0,204,204,12,0,204,204,0,0,204,204,0,7,0,0,112,0,0,0,7,119,119,119,119,7,0,0,112,0,112,119,0,7,0,112,119,112,7,112,7,119,0,0,119,204,204,204,12,192,204,204,204,192,205,220,12,0,0,0,0,192,204,204,12,192,204,204,12,0,204,204,12,192,204,204,0,7,0,0,112,112,0,0,0,112,119,119,7,112,0,0,7,0,119,7,0,7,0,0,119,112,7,112,7,7,112,7,112, 5 + 204,204,204,13,208,204,204,204,192,205,220,12,0,0,0,0,192,204,204,13,208,204,204,12,0,204,204,13,208,204,204,0,112,119,119,7,119,119,119,119,0,119,119,0,0,7,112,0,112,119,0,0,7,0,0,112,0,7,0,7,119,0,0,119,204,204,220,13,208,205,204,204,204,220,205,204,0,0,0,0,192,204,220,13,208,205,204,12,0,204,220,13,208,205,204,0,0,119,0,0,112,0,0,0,0,112,7,0,0,112,7,0,119,7,0,0,112,0,0,7,112,0,112,0,7,119,7,112,192,204,220,205,220,205,204,12,204,12,192,204,0,0,0,0,0,204,220,205,220,205,204,0,0,192,220,205,220,205,12,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,119,119,0,0,0,0,0,119,0,0,119,0,204,220,205,220,205,204,0,192,0,0,12,0,0,0,0,0,192,220,205,220,205,12,0,0,0,220,205,220,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 6 + 0,192,220,205,220,205,12,0,0,0,0,0,0,0,0,0,0,0,220,205,220,205,0,0,0,0,208,205,220,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,192,204,221,221,204,12,0,0,0,204,221,221,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,192,204,221,221,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,221,221,204,204,204,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 7 + 204,204,204,221,221,204,204,204,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,192,204,221,221,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,0,0,204,204,0,0,0,0,0,0,0,0,0,0,192,204,0,0,204,12,0,0,0,204,0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 8 + 136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 9 + 136,136,200,204,204,136,143,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,204,204,242,143,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,241,31,130,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,102,111,130,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 10 + 136,136,207,204,204,246,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,248,200,204,204,142,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,232,136,140,142,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,72,47,47,34,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 11 + 136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 12 + 102,102,101,86,101,101,86,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,245,86,69,84,84,85,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,85,86,84,69,84,95,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,86,85,244,79,245,85,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 13 + 246,95,69,255,255,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,86,69,111,255,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,95,244,86,246,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,63,255,85,101,85,95,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 14 + 246,95,244,86,245,85,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,86,244,255,244,244,85,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,102,85,79,255,95,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,95,79,255,255,84,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 15 + 102,86,95,69,79,85,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,86,255,79,69,85,85,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,85,112,255,95,5,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,21,118,95,85,101,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 16 + 214,102,109,221,102,109,214,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,108,22,29,93,205,102,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,220,213,93,85,93,198,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,21,5,0,0,0,101,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 17 + 108,93,80,86,102,6,85,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,13,80,111,102,86,0,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,13,85,109,111,6,208,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,86,85,64,4,85,101,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 18 + 102,221,85,85,93,86,214,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,85,84,246,214,214,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,109,85,84,69,223,221,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,109,93,69,82,213,198,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 19 + 215,119,86,85,101,213,214,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,86,80,85,213,109,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,118,68,5,85,86,210,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,69,82,84,85,86,34,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 20 + 79,84,85,85,85,246,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,85,84,245,84,95,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,63,84,85,85,85,51,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,84,5,5,85,69,69,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 21 + 85,95,80,255,15,53,255,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,85,80,255,255,80,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,85,69,84,85,245,51,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,5,244,246,79,85,244,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 22 + 85,5,69,255,79,85,85,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,64,84,15,85,54,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,64,80,255,15,85,255,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,4,80,69,0,245,255,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 23 + 69,5,80,85,0,85,246,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,80,5,80,80,85,111,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,85,85,85,5,84,111,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,85,0,80,85,245,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 24 + 204,204,204,108,102,102,198,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,108,102,103,102,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,205,204,204,204,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,127,255,247,111,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 25 + 204,204,205,255,102,245,247,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,204,255,86,118,86,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,103,102,102,255,246,85,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,103,102,247,111,5,85,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 26 + 85,99,54,83,87,85,85,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,245,86,53,83,85,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,243,118,247,69,84,80,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,101,118,87,85,15,48,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 27 + 53,101,102,103,5,5,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,90,101,102,86,5,245,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,53,102,127,87,5,245,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,163,99,127,87,85,244,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 28 + 17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,17,68,4,17,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,85,68,21,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,5,244,255,21,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 29 + 17,1,64,244,127,15,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,64,244,69,20,16,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,64,4,68,31,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,33,64,244,79,95,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 30 + 1,65,84,68,68,84,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,4,69,68,20,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,64,64,244,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,65,5,80,5,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 31 + 1,17,69,4,80,1,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,255,68,69,17,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,36,64,0,85,17,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,241,68,17,16,84,45,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 32 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 33 + 0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 34 + 0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,5,0,96,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,5,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 35 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 37 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 38 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 39 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 40 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 41 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 42 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 43 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 44 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 45 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 46 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 47 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 48 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 49 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 50 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 51 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 52 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 53 + 138,11,12,13,14,15,16,17,18,19,20,21,22,151,24,25,154,27,28,29,30,31,28,29,32,33,28,29,34,158,35,36,165,38,39,40,41,42,43,44,45,46,47,39,48,177,50,51,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68, 54 + 40,11,45,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,36,11,31,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,235,12,242,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,40,11,45,11,52,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 55 + 0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,48,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,38,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,36,13,40,13,43,15,48,15,48,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,226,12,222,12,218,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 56 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,112,107,119,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,43,13,48,13,52,15,55,15,52,11,55,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,7,4,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,2,4,21,4,21,84,7,4,42,6,45,6,43,4,42,4,37,4,35,4,37,6,38,6,2,4,21,6,21,86,7,4,23,4,23,84,2,4,21,4,21,84,7,4,23,4,1,90,0,0,0,0,26,4,26,84,0,0,25,4,25,84,0,0,26,4,26,84,0,0, 57 + 25,4,25,84,0,0,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,33,4,25,6,25,86,30,4,26,4,26,84,0,0,25,4,25,84,0,0,26,4,1,90,0,0,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,26,4,26,84,45,86,25,4,25,84,37,84,26,4,26,84,38,86,30,6,30,86,0,0,30,4,30,4,30,84,30,4,30,4,30,84,30,4,1,90,0,0,0,0,7,4,7,84,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,2,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,2,84,0,0,7,4,1,90,0,0,23,84,2,4,21,4,21,84,7,4,42,4,45,6,43,6,42,4,37,4,35,4,37,6,38,4,2,4,21,4,21,84,6,4,21,6,21,86,0,4,23,4,23,84,4,4,19,4,19,84,4,4,23,4,23,84,2,4,17,4,17,84,33,6,1,90,0,0,26,84,0,0, 58 + 25,4,25,84,0,0,23,4,23,84,2,4,21,4,21,84,7,4,23,6,23,86,33,4,25,4,25,84,37,6,25,6,25,86,42,6,26,4,26,84,28,4,23,4,23,84,0,0,26,4,26,84,0,0,21,4,21,84,0,4,1,90,0,0,30,4,30,84,30,4,30,84,0,0,26,4,26,84,45,86,25,4,25,84,37,84,26,6,26,86,38,84,30,4,30,84,0,0,30,6,30,86,0,0,30,4,30,84,0,0,4,4,4,84,0,0,31,4,31,84,0,0,26,4,26,84,0,0,1,90,0,0,7,84,0,0,2,4,2,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,6,30,86,0,0,2,4,2,84,0,0,6,4,6,84,0,0,0,4,0,84,0,0,28,4,28,4,28,4,28,4,28,4,28,4,28,4,28,84,0,0,1,90,0,0,35,6,36,6,40,6,38,6,35,4,38,4,36,6,35,6,2,4,26,4,26,84,2,4,26,4,38,6,40,6,41,6,43,6,45,6,36,4,38,6,40,6,38,4,35,4,2,4,26,4,26,84,2,4,26,4, 59 + 38,6,4,4,23,4,23,84,1,90,0,0,21,4,21,84,2,4,19,4,19,84,2,4,14,4,14,84,38,6,12,6,12,86,0,0,12,4,12,84,2,4,21,4,21,84,2,4,21,4,21,84,2,4,14,4,14,84,38,6,12,4,12,84,0,0,12,4,12,84,43,6,28,4,28,84,1,90,0,0,24,4,24,84,36,86,23,4,23,84,35,84,19,4,19,84,35,86,16,6,16,86,0,0,18,4,18,84,38,86,24,4,24,84,43,86,24,4,24,84,38,86,19,4,19,84,35,84,16,4,16,84,0,0,18,4,18,84,38,86,31,4,31,84,1,90,0,0,28,4,28,84,0,0,28,4,28,84,0,0,28,4,28,4,28,84,21,6,21,86,0,0,21,4,21,84,0,0,29,4,29,84,0,0,28,4,28,84,0,0,28,4,28,4,28,84,21,4,21,84,0,0,21,4,21,84,0,0,4,4,4,84,1,90,0,0,6,4,21,4,21,84,35,4,33,4,35,4,37,6,38,6,40,6,37,6,38,6,40,6,4,4,11,4,16,6,33,6,33,6,33,86,26,6,26,6, 60 + 26,86,7,2,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,2,4,21,4,1,90,0,0,42,6,25,4,25,84,0,4,23,6,23,86,4,4,25,6,25,86,4,4,21,4,21,84,30,4,21,4,23,6,9,4,9,4,9,84,30,6,30,6,30,86,0,0,26,4,26,84,0,0,25,4,25,84,0,0,26,4,26,84,0,0,25,4,1,90,0,0,0,0,30,4,30,84,0,0,26,6,26,86,35,84,28,6,28,86,40,86,25,4,25,84,40,86,26,4,26,6,19,4,19,4,19,84,33,6,33,6,33,86,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,1,90,0,0,0,0,6,4,6,84,0,0,30,6,30,86,0,0,33,6,33,86,0,0,33,4,33,84,0,0,4,84,31,4,36,6,36,6,36,86,38,6,38,6,38,86,0,0,7,2,7,82,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,1,90,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4, 61 + 29,4,29,4,29,4,29,84,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,84,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,1,5,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,1,5,0,0,41,4,41,4,41,4,41,4, 62 + 41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,1,5,0,0,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,1,5,0,0,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,84,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,1,5,0,0,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,84,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4, 63 + 41,4,41,4,1,5,0,0,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,1,5,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,84,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,84,1,5,0,0,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,90,5,90,5,90,5,90,5,90,5,90,5, 64 + 90,5,90,85,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,1,22,0,0,78,71,78,7,78,7,78,7,78,7,78,7,78,7,78,87,73,71,73,7,73,7,73,7,73,7,73,7,73,7,73,87,75,71,75,7,75,7,75,7,75,7,75,7,75,7,75,87,70,71,70,7,70,7,70,7,70,7,70,7,70,7,70,87,1,22,0,0,102,5,102,5,102,5,102,5,102,5,102,5,102,5,102,85,101,5,101,5,101,5,101,5,101,5,101,5,101,5,101,85,99,5,99,5,99,5,99,5,99,5,99,5,99,5,99,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,1,22,0,0,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,80,5,80,5,80,5,80,5,80,5,80,5,80,5,80,85,82,5,82,5,82,5,82,5,82,5,82,5,82,5,82,85,77,5,77,5,77,5,77,5,77,5,77,5,77,5,77,85,1,22,0,0,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,94,5,94,5,94,5,94,5,94,5,94,5, 65 + 94,5,94,85,90,5,90,5,90,5,90,5,90,5,90,5,90,5,90,85,92,5,92,5,92,5,92,5,92,5,92,5,92,5,92,85,1,22,0,0,71,71,71,7,71,7,71,7,71,7,71,7,71,7,71,87,66,71,66,7,66,7,66,7,66,7,66,7,66,7,66,87,71,71,71,7,71,7,71,7,71,7,71,7,71,7,71,87,73,69,73,5,73,5,73,5,73,5,73,5,73,5,73,85,1,22,0,0,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,99,5,99,5,99,5,99,5,99,5,99,5,99,5,99,85,101,5,101,5,101,5,101,5,101,5,101,5,101,5,101,85,1,22,0,0,78,5,78,5,78,5,78,5,78,5,78,5,78,5,78,85,78,5,78,5,78,5,78,5,78,5,78,5,78,5,78,85,83,5,83,5,83,5,83,5,83,5,83,5,83,5,83,85,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,1,22,0,0,94,5,94,5,94,5,94,5,94,5,94,5, 66 + 94,5,94,85,92,5,92,5,92,5,92,5,92,5,92,5,92,5,92,85,90,5,90,5,90,5,90,5,90,5,90,5,90,5,90,85,89,5,89,5,89,5,89,5,89,5,89,5,89,5,89,85,1,22,0,0,78,69,78,5,78,5,78,5,78,5,78,5,78,5,78,85,73,69,73,5,73,5,73,5,73,5,73,5,73,5,73,85,75,69,75,5,75,5,75,5,75,5,75,5,75,5,75,85,70,69,70,5,70,5,70,5,70,5,70,5,70,5,70,85,1,22,0,0,106,7,106,7,106,7,106,7,106,7,106,7,106,7,106,87,104,5,104,5,104,5,104,5,104,5,104,5,104,5,104,85,102,7,102,7,102,7,102,7,102,7,102,7,102,7,102,87,101,7,101,7,101,7,101,7,101,7,101,7,101,7,101,87,1,22,0,0,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,89,5,89,5,89,5,89,5,89,5,89,5,89,5,89,85, 67 + 1,22,0,0,71,69,71,5,71,5,71,5,71,5,71,5,71,5,71,85,66,69,66,5,66,5,66,5,66,5,66,5,66,5,66,85,71,69,71,5,71,5,71,5,71,5,71,5,71,5,71,85,73,71,73,7,73,7,73,7,73,7,73,7,73,7,73,87,1,22,0,0,99,7,99,7,99,7,99,7,99,7,99,7,99,7,99,87,97,7,97,7,97,7,97,7,97,7,97,7,97,7,97,87,99,7,99,7,99,7,99,7,99,7,99,7,99,7,99,87,101,7,101,7,101,7,101,7,101,7,101,7,101,7,101,87,1,22,0,0,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,1,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 68 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 69 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 70 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0, 71 + 0,112,120,97,105,246,44,176,235,193,226,3,156,126,245,3,188,193,249,47,177,97,133,23,184,252,246,227,227,227,187,228,29,234,55,8,162,178,204,187,119,137,31,224,33,202,236,33,218,137,168,124,136,99,154,107,154,137,48,109,170,110,38,11,86,202,171,238,10,130,219,78,42,235,48,89,106,69,130,95,33,141,142,202,186,122,33,143,252,107,7,133,144,108,161,107,22,146,104,35,73,222,33,73,70,146,100,37,185,185,120,136,34,58,54,73,239,75,162,42,25,121,138,36,153,75,146,161,36,188,48,73,54,147,234,196,36,153,76,146,157,36,25,77,146,135,72,194,56,73,226,36,113,71,153,36,101,146,148,73,226,139,161,164,92,77,146,167,72,146,183,72,50,141,128,44,73,178,100,98,55,185,183,8,223,34,73,206,62,246,204,232,206,98,186,56,180,216,46,46,45,230,138,177,162,11,118,18,207,36,81,146,184,97,45,241,67,153,38,169,70,64,80,20,105,146,164,73,18,38,81,151,36,101,146,117,73,82,38,73,153,132,218,1,65,209,148,73,34,35,16,20,133,23,210,164, 72 + 114,66,96,136,199,120,142,230,198,192,37,77,163,146,60,242,6,235,227,221,120,81,173,23,35,197,126,118,65,28,172,55,243,107,77,182,87,174,86,179,253,80,159,134,243,109,118,229,192,177,197,252,70,112,192,196,200,70,189,49,48,48,80,109,134,137,76,88,146,205,95,176,47,161,80,42,35,212,189,25,23,194,27,170,106,39,10,70,196,13,214,70,234,126,225,130,102,76,90,96,98,180,154,171,102,154,7,104,118,154,245,166,95,212,97,210,98,95,181,175,216,32,200,48,214,13,93,59,97,132,35,124,48,97,152,220,16,189,115,6,157,49,224,152,197,116,172,109,39,20,137,250,137,45,51,137,146,67,135,48,18,88,208,118,240,220,70,179,51,40,72,48,38,97,48,60,155,207,172,229,101,48,251,18,77,82,198,213,216,29,119,148,83,155,35,151,172,12,181,146,228,215,21,161,34,89,171,71,228,146,126,205,102,99,110,27,9,43,69,121,182,55,132,154,131,201,130,4,197,202,134,218,64,211,4,153,22,229,134,221,154,221,42,185,33,156,42,86,170,216,4,43,35,54,91,114, 73 + 219,148,233,78,240,206,100,39,28,170,184,216,201,53,73,139,172,104,135,204,204,184,104,166,146,118,144,67,221,21,104,135,6,137,186,145,12,129,55,86,86,156,161,244,176,23,168,159,140,116,219,137,237,130,197,97,99,223,226,123,157,225,123,28,227,43,179,245,147,83,83,165,130,243,29,125,145,7,27,177,172,194,228,201,217,174,226,98,149,116,198,152,13,202,7,104,19,29,35,141,137,77,189,119,158,223,136,163,232,116,12,45,189,71,218,93,162,144,90,12,251,106,60,191,97,65,91,225,130,120,35,156,27,212,146,153,237,3,5,34,81,22,209,6,121,142,68,46,70,188,98,88,178,111,119,244,128,98,189,56,188,56,190,184,190,152,208,211,167,130,199,162,28,68,177,221,36,55,36,201,35,136,40,12,77,53,209,13,19,22,9,146,27,166,148,16,92,40,143,181,210,12,23,183,20,225,241,73,50,145,36,231,36,247,23,15,80,220,84,84,103,36,201,126,146,60,65,146,60,66,130,6,1,22,64,129,128,71,40,154,163,146,209,162,17,171,56,32,73,230,146,163,138,230,146,164, 74 + 40,18,31,8,8,232,16,244,2,24,67,205,41,30,210,25,87,80,236,47,222,100,214,35,166,174,72,131,113,69,142,226,176,59,202,42,57,104,48,13,9,39,224,18,153,134,58,119,64,109,227,173,196,47,163,11,22,60,74,243,33,13,234,27,116,3,194,163,220,222,204,1,157,242,72,40,246,143,187,20,54,52,140,196,15,22,110,216,29,184,66,187,190,111,80,236,200,55,111,173,46,132,165,182,135,32,132,64,154,130,229,196,210,120,248,20,11,111,193,10,1,111,176,178,116,133,23,238,240,74,35,168,210,109,89,237,36,87,156,225,186,187,92,113,128,107,182,186,244,36,91,220,227,197,49,95,172,251,114,119,100,103,115,102,181,155,107,54,22,135,20,122,6,250,53,71,223,230,200,19,242,212,178,99,157,231,206,137,130,230,14,197,142,194,44,101,175,74,34,75,36,87,32,22,158,49,177,112,36,199,41,151,104,20,238,11,138,103,76,35,60,35,229,198,230,194,178,164,255,158,65,193,226,6,252,9,18,185,168,246,7,178,96,87,63,162,19,217,240,188,164,21,28,193,22,33, 75 + 243,107,2,31,35,229,140,224,37,232,132,31,233,29,201,186,74,118,89,202,118,137,136,38,34,34,240,20,52,82,92,20,108,220,191,52,91,187,209,42,138,59,42,121,19,181,166,56,243,85,145,34,237,77,201,34,239,230,45,220,5,10,143,52,89,178,128,163,1,193,154,252,197,86,19,102,2,240,12,174,18,136,216,41,35,237,112,232,69,104,5,204,41,133,63,7,232,141,255,63,199,220,32,53,126,132,181,182,68,57,210,72,253,116,122,9,251,125,210,182,18,147,103,133,169,204,169,176,207,218,57,27,10,33,131,133,190,98,52,156,220,161,138,52,56,160,88,49,208,7,3,147,10,94,57,208,4,202,137,44,139,133,149,165,79,2,255,21,157,73,132,124,252,22,246,103,133,51,164,17,18,131,70,192,17,11,11,27,211,11,3,90,3,35,105,112,194,128,176,204,234,102,174,241,10,153,33,7,233,15,6,235,91,235,18,47,89,188,44,99,51,67,202,33,97,145,157,49,153,29,114,201,214,250,101,154,79,241,70,44,253,44,74,142,11,20,76,226,157,35,38,71,231,70,235,201, 76 + 235,187,50,221,211,29,186,98,100,164,161,129,144,68,192,60,185,218,137,176,161,112,15,104,135,164,162,30,7,12,68,90,69,87,8,167,28,118,134,114,193,230,202,73,155,4,35,120,74,127,195,224,17,177,14,186,142,225,226,240,73,122,13,72,250,7,87,66,82,34,16,99,233,224,106,81,130,210,28,171,209,170,254,220,154,87,142,75,27,9,170,38,60,96,97,142,14,4,162,118,100,188,71,157,160,176,170,118,91,249,245,156,162,213,84,221,35,126,255,204,233,100,196,2,31,135,133,98,121,233,106,199,91,161,179,168,20,40,133,50,53,242,12,147,114,72,141,115,70,183,58,24,11,179,14,69,134,51,233,165,114,82,123,53,130,12,10,60,101,114,68,163,20,180,92,247,197,124,148,211,135,216,1,145,208,56,34,161,241,220,215,67,161,120,207,18,223,81,252,8,33,47,28,171,229,106,40,161,181,91,180,54,155,115,3,77,9,108,7,210,235,211,249,167,188,3,40,6,102,8,23,102,255,53,183,181,26,110,116,32,158,100,9,201,194,125,154,225,186,41,207,231,180,44,83,250, 77 + 255,143,64,112,11,21,194,223,97,229,126,241,71,96,132,159,34,83,106,151,7,152,85,249,169,158,172,50,209,136,221,170,74,155,112,10,219,132,181,197,223,119,144,78,131,20,161,43,178,75,138,29,104,12,79,177,53,18,171,49,180,209,85,58,15,87,85,121,116,142,94,75,163,253,16,8,194,48,94,200,82,147,74,115,78,248,225,160,234,132,234,26,63,174,251,18,207,130,146,61,61,149,89,19,128,90,144,188,101,50,208,237,141,76,56,252,119,80,220,224,240,191,69,161,18,230,240,26,94,10,1,87,184,200,131,126,177,153,169,28,18,8,132,199,109,141,59,229,199,130,34,24,51,103,99,175,192,173,141,169,60,209,28,225,202,162,40,132,199,81,121,78,64,168,9,130,196,64,154,166,250,227,80,48,42,138,59,138,59,18,255,40,151,199,131,78,8,18,131,249,68,189,156,62,82,40,240,78,145,248,196,213,145,13,21,12,70,186,48,212,31,241,73,166,140,44,101,218,21,73,21,136,11,249,200,182,18,195,218,131,93,20,57,77,159,60,14,9,93,151,68,153,125,162,166,117, 78 + 157,62,170,190,136,43,238,56,33,11,186,137,76,226,92,154,172,73,81,22,89,84,68,109,211,20,81,89,168,62,235,48,155,162,17,8,48,128,130,138,241,204,171,195,84,4,238,136,52,4,138,70,255,216,99,78,137,83,91,100,246,168,244,71,34,119,107,196,74,179,233,11,36,137,4,67,168,30,63,15,233,174,232,139,20,93,163,129,168,113,100,62,129,164,70,157,164,72,154,66,164,41,18,73,51,159,196,84,160,30,84,8,156,116,149,152,90,23,110,196,14,172,186,162,52,143,134,65,145,56,68,34,32,104,162,32,184,32,41,146,36,41,2,121,178,52,85,96,173,228,16,26,231,120,40,170,124,163,95,98,29,25,25,173,145,170,48,143,67,2,97,38,245,163,72,234,184,10,244,71,44,20,85,77,23,4,18,11,93,17,72,165,36,242,65,85,216,117,157,3,253,16,133,250,44,69,208,106,145,22,153,2,153,138,137,242,73,80,101,54,42,213,26,179,36,112,87,227,19,251,116,54,75,196,42,42,123,245,11,69,110,240,255,255,127,245,22,191,221,237,240,219,249,80,16,119, 79 + 86,21,214,167,195,25,164,129,237,107,135,194,229,208,78,112,173,128,248,39,31,254,68,133,134,184,228,195,29,152,89,125,52,144,53,63,69,4,155,166,176,179,227,244,208,39,31,254,88,51,114,77,35,31,80,250,94,230,42,212,132,171,166,206,34,111,9,172,63,141,109,228,131,188,25,184,215,200,81,32,94,100,119,136,159,199,72,234,3,226,173,250,229,209,72,71,20,217,222,26,233,177,129,124,56,244,203,23,5,158,43,148,217,161,240,174,194,0,166,17,118,144,133,175,126,56,133,29,35,201,114,248,172,40,138,66,23,190,178,243,143,46,60,12,45,164,78,89,89,135,41,80,75,75,6,81,145,104,217,87,160,29,158,159,90,123,52,236,109,67,211,71,200,89,83,86,109,190,122,231,208,132,127,44,31,165,250,138,238,255,50,62,59,182,37,199,28,206,14,215,156,53,88,210,34,209,1,140,53,152,180,224,57,86,133,51,201,73,1,202,146,117,85,177,24,128,214,184,58,74,37,239,9,179,200,42,6,192,132,135,4,211,123,55,44,117,201,228,123,64,72,105,29,87,171,209, 80 + 202,33,201,97,213,114,59,157,69,64,63,130,44,133,183,12,213,71,69,8,50,146,45,71,69,85,46,228,93,116,79,180,159,150,85,180,145,38,19,165,123,170,254,158,182,28,169,78,137,186,52,136,74,28,19,115,77,20,37,105,152,133,93,83,150,134,74,242,72,83,32,22,23,105,6,250,96,64,34,164,177,199,64,28,135,81,190,150,52,62,168,210,166,74,148,80,234,50,216,238,146,184,138,163,54,74,178,100,92,100,64,57,160,172,210,172,137,123,132,30,241,200,70,24,7,117,84,118,11,59,195,219,201,106,49,92,140,93,116,64,60,82,93,210,52,237,56,140,144,172,228,213,94,24,235,26,140,236,76,132,43,221,206,118,27,204,117,81,188,39,91,150,171,137,168,15,104,12,44,118,85,182,183,183,21,84,233,70,55,22,173,201,20,9,33,136,30,212,113,89,21,11,51,225,66,119,80,42,79,144,9,161,244,97,154,106,14,172,77,15,45,21,115,201,220,94,50,62,40,168,126,102,221,66,165,110,100,129,165,165,149,149,129,98,96,173,89,216,144,86,173,94,97,186,61,160, 81 + 216,40,250,66,117,103,225,58,130,34,75,148,139,166,230,130,36,219,145,15,153,138,7,7,6,163,149,197,53,35,96,19,65,208,69,187,197,174,156,128,9,100,17,30,65,203,0,46,71,182,6,118,86,149,76,70,39,248,73,64,153,96,162,152,184,32,153,220,57,35,223,41,139,169,78,210,160,94,91,89,10,146,80,23,109,38,26,88,234,178,48,95,76,84,94,46,138,151,14,225,55,98,161,130,54,217,73,22,211,229,169,49,117,151,170,18,123,88,137,167,118,149,10,174,104,154,160,104,166,206,153,88,209,102,56,164,72,187,37,167,12,68,81,220,85,217,114,147,12,237,143,10,44,204,44,21,80,72,48,93,140,229,185,196,68,29,77,55,165,54,196,204,104,161,214,32,212,80,15,59,96,70,240,228,146,129,145,58,190,107,162,90,157,9,218,213,85,31,109,168,79,52,107,74,2,11,138,65,237,124,24,132,179,17,204,11,96,38,209,212,72,158,41,68,41,77,24,74,124,102,82,34,160,72,36,162,102,162,90,237,97,48,159,157,77,134,130,98,79,11,254,106,4,217,41,251, 82 + 208,245,237,242,224,66,53,213,239,117,11,210,42,205,160,34,220,80,162,23,209,76,69,51,101,44,47,49,44,211,52,32,211,162,126,254,110,204,15,141,28,32,50,33,214,208,77,110,140,79,12,200,218,73,71,172,233,92,84,139,129,55,54,54,36,126,198,54,86,180,45,164,104,170,86,87,97,99,124,96,108,80,6,34,26,62,35,222,40,118,251,164,156,240,217,192,204,148,36,199,76,213,52,26,94,35,11,82,91,141,198,70,56,185,211,45,10,71,108,36,83,197,138,108,72,154,205,12,29,147,71,221,130,149,38,162,72,206,111,161,139,5,40,34,165,15,117,196,100,100,114,226,132,40,23,218,10,55,218,88,230,199,21,51,205,226,234,80,153,229,249,156,210,138,196,64,180,148,40,122,40,57,68,145,190,215,82,220,46,228,98,37,146,3,171,83,51,50,16,203,107,82,34,137,73,148,174,118,50,165,170,33,93,139,81,78,32,88,146,242,89,92,18,241,235,123,216,39,26,89,29,216,17,88,83,84,88,223,209,219,243,77,144,106,125,196,161,160,87,59,162,30,144,116,242,70, 83 + 171,138,30,163,27,107,67,229,124,51,181,184,182,100,212,54,12,215,244,6,86,196,117,164,122,179,102,98,103,167,147,53,149,25,212,205,136,210,172,139,38,70,244,207,84,55,230,100,15,134,162,56,246,75,157,79,174,72,25,172,54,123,71,5,76,76,62,136,40,235,47,129,237,162,27,80,132,252,136,147,83,58,186,40,165,127,146,27,142,89,5,7,147,169,236,152,99,70,210,81,41,133,38,129,177,192,140,45,10,54,166,210,225,232,152,17,159,35,137,230,202,60,95,73,54,186,50,114,103,224,218,114,198,21,193,76,142,138,3,247,156,179,119,134,102,102,113,144,42,197,41,163,163,179,115,3,104,81,208,174,239,204,251,104,44,97,197,32,79,97,229,192,174,142,90,189,45,192,49,94,30,16,29,48,153,45,90,33,73,101,141,196,15,100,40,186,176,43,171,229,98,123,180,42,55,186,149,100,90,80,96,53,80,20,52,138,164,80,178,232,58,77,1,121,29,201,168,172,94,45,212,7,70,132,202,119,130,91,187,69,55,108,123,247,138,74,147,76,232,60,209,172,121,71,87,213, 84 + 5,221,119,64,232,30,89,145,225,154,86,139,92,37,51,145,39,53,225,150,107,3,153,199,67,175,1,233,184,178,255,83,171,65,68,27,19,178,91,131,130,7,136,19,6,33,129,66,54,43,186,27,51,75,201,206,9,177,98,68,82,2,92,200,130,170,87,13,75,1,241,5,73,46,236,255,206,48,88,216,222,158,48,70,184,191,176,192,189,33,3,66,2,57,197,150,37,229,86,49,37,34,212,38,83,121,211,48,77,248,143,106,45,209,183,89,109,37,38,154,154,98,3,234,217,98,231,132,1,21,44,69,142,126,96,112,109,202,94,190,16,218,81,38,26,216,240,129,168,0,25,132,127,27,186,164,245,82,160,123,176,82,246,146,162,23,244,217,134,27,18,214,13,216,208,18,88,4,174,192,152,220,2,166,84,180,141,44,167,37,38,112,69,180,81,23,117,51,32,221,69,248,97,210,31,188,21,50,170,158,213,106,158,8,21,16,107,96,40,154,112,198,218,88,35,120,254,71,143,33,93,61,34,217,139,71,34,205,131,92,249,71,120,99,138,192,131,100,219,16,55,68,60,45,20,79, 85 + 72,211,157,57,42,17,63,5,24,56,55,112,106,39,24,162,13,147,13,33,18,120,14,161,209,16,1,135,74,139,44,208,73,63,59,157,244,71,25,157,133,50,210,158,50,250,45,43,177,17,169,13,80,67,64,30,10,33,77,39,249,22,119,132,83,19,181,211,68,11,212,233,175,37,238,12,255,127,161,102,200,152,150,16,192,134,204,10,221,191,114,65,192,34,74,48,130,43,253,142,190,138,166,101,163,105,21,40,199,159,138,150,195,117,141,213,1,130,22,201,214,208,86,194,159,71,226,46,169,122,144,88,204,154,152,253,31,77,140,201,56,108,39,218,61,89,8,181,72,70,14,237,52,171,2,53,253,123,38,228,217,80,221,128,38,138,145,56,100,85,84,135,135,131,244,165,244,244,50,61,173,97,121,249,191,138,12,41,199,6,16,169,72,61,153,233,87,172,132,123,35,253,78,181,57,177,52,218,8,213,230,26,90,129,38,251,203,137,225,135,246,69,74,157,66,155,97,94,111,32,160,72,80,70,73,180,209,232,178,134,186,76,171,58,250,191,48,56,156,141,178,75,205,158,2,75, 86 + 192,27,14,137,211,70,66,47,144,74,191,121,74,68,141,100,117,85,102,98,71,33,85,69,10,121,68,102,102,165,125,150,116,132,164,82,130,45,41,254,63,234,30,189,78,26,134,152,168,232,228,35,146,60,117,60,48,155,37,125,173,186,35,38,154,166,250,77,69,161,60,255,2,151,152,116,69,153,166,51,49,24,136,133,108,26,162,108,51,85,85,67,113,210,244,190,88,10,82,37,215,56,150,178,57,32,96,230,115,156,130,146,198,209,120,120,128,25,102,154,211,208,180,132,196,10,248,220,196,67,54,16,204,194,14,19,185,141,201,45,214,19,156,169,149,98,202,29,104,34,241,56,210,245,211,16,62,252,154,64,248,240,255,5,53,19,52,56,184,99,161,14,32,1,61,89,113,199,29,148,112,114,1,31,156,152,96,221,41,227,118,217,246,204,180,113,86,221,179,170,28,208,183,148,31,34,49,10,251,70,53,163,153,228,119,229,222,33,254,176,228,21,214,218,44,73,194,19,40,3,101,107,128,68,207,177,135,246,69,152,27,14,157,116,220,180,145,145,133,232,25,4,52,16,84,46, 87 + 25,210,64,177,66,61,117,66,85,141,170,160,111,4,35,9,6,14,235,210,108,33,161,52,19,104,51,15,176,153,74,158,81,12,250,115,81,205,147,136,224,48,192,103,8,14,24,98,170,243,182,99,135,20,6,24,48,73,233,245,178,101,64,97,18,95,95,161,17,158,177,168,208,11,183,37,154,164,243,125,154,36,241,205,90,146,68,216,72,226,235,170,57,196,55,73,82,249,70,119,28,65,81,251,38,208,29,233,116,199,83,105,141,39,241,125,52,11,131,166,240,61,171,36,209,47,143,151,180,195,149,36,145,222,185,3,223,116,73,227,123,107,141,31,26,228,74,124,111,175,255,40,244,212,147,53,133,175,171,164,208,77,174,244,209,163,119,168,191,148,233,175,39,243,154,110,82,85,53,190,79,229,27,75,248,158,69,210,248,110,73,175,157,133,111,27,93,150,74,47,220,153,239,244,218,17,233,145,234,14,233,133,67,27,178,168,58,253,242,179,209,53,211,35,63,18,157,245,63,190,111,231,187,192,55,157,239,19,248,46,9,50,221,122,235,77,86,186,242,212,125,214,77,111,160,91, 88 + 31,253,117,85,58,116,129,62,77,167,139,31,109,75,157,171,64,87,62,190,212,161,42,244,194,167,239,142,64,247,61,26,153,141,239,116,247,161,59,168,67,213,232,196,71,131,83,47,252,208,107,214,35,111,167,31,31,13,123,21,94,243,253,209,249,174,202,34,77,106,29,241,131,3,194,213,121,45,107,10,125,116,234,125,234,35,250,94,186,233,208,47,167,175,34,223,20,190,143,46,166,62,250,161,157,169,179,126,232,5,251,190,250,151,89,147,232,151,211,139,186,155,250,238,175,239,149,232,181,199,247,210,59,12,124,255,232,223,75,143,252,138,244,206,169,223,201,49,129,250,253,242,149,142,147,46,187,244,59,125,85,232,253,79,235,29,252,20,46,70,9,255,161,133,79,61,123,104,115,86,81,164,235,79,29,103,95,233,250,67,255,94,156,23,46,253,123,233,133,75,247,49,227,143,112,235,101,102,58,226,46,124,23,249,222,122,220,13,143,134,83,183,158,250,226,170,124,147,113,76,184,185,39,92,58,226,151,46,163,222,191,188,164,143,196,187,225,212,143,151,142,59,124,79,206,11, 89 + 63,116,144,26,29,244,112,97,248,15,189,198,64,47,220,122,159,156,29,126,232,95,235,160,87,255,158,186,233,208,191,167,239,161,127,79,223,67,255,58,241,189,189,20,232,136,63,129,239,2,253,117,234,62,115,79,120,19,189,240,232,247,95,29,223,135,223,81,215,104,222,59,211,233,102,24,113,185,163,77,29,194,148,105,8,167,22,21,3,43,39,100,147,27,28,139,84,162,147,64,220,22,35,123,107,21,159,23,162,39,34,186,171,225,56,210,64,149,231,97,83,48,159,122,112,75,40,172,253,88,206,49,191,82,130,246,106,65,230,182,40,11,23,118,44,233,21,114,20,15,54,44,223,199,12,230,217,8,152,193,156,190,235,89,82,141,23,85,210,118,37,216,137,6,171,169,1,16,77,137,222,33,154,233,3,167,240,145,74,180,67,111,36,71,236,99,133,121,168,194,252,215,115,144,78,193,114,61,1,143,226,64,121,196,173,182,139,218,118,164,27,8,162,243,10,202,28,200,138,185,165,100,108,204,25,211,128,48,210,15,37,97,213,45,245,217,118,146,28,113,10,146,23,85,220,151, 90 + 14,170,72,30,92,145,11,199,94,25,193,132,161,82,184,162,51,98,153,32,158,82,85,14,188,97,8,51,211,219,222,163,21,48,185,25,173,48,180,74,51,148,236,108,233,55,220,50,36,31,176,179,229,212,141,66,55,164,130,61,117,174,45,79,204,156,82,2,135,10,245,41,65,86,138,164,146,160,8,135,42,90,98,193,82,231,88,94,39,90,106,193,114,147,43,39,234,20,177,166,138,55,150,114,78,75,217,158,133,160,164,253,14,225,82,166,55,78,80,132,85,78,143,90,201,125,99,233,149,21,169,169,52,205,100,145,57,226,26,71,220,152,69,73,22,165,98,202,32,179,240,20,163,93,57,209,54,10,33,75,154,1,39,38,113,210,70,10,225,216,8,171,183,80,8,201,21,130,70,174,88,101,16,165,105,117,129,245,154,131,82,180,196,129,139,10,143,161,37,146,107,9,41,132,100,114,37,210,39,67,81,219,72,5,232,51,218,103,154,128,21,154,102,157,80,213,177,49,1,104,106,3,89,29,201,6,97,142,194,9,219,182,200,142,51,201,102,24,142,237,75,67,224,231,194,230, 91 + 86,127,216,214,21,1,124,164,29,150,30,88,12,22,43,175,65,184,137,19,13,198,41,41,68,64,238,64,224,2,242,76,8,110,156,31,30,31,170,238,89,169,163,200,79,122,208,71,157,148,140,203,75,20,113,80,20,195,73,114,3,38,174,99,25,205,83,183,245,232,110,137,38,97,38,157,35,71,40,4,203,35,168,97,92,242,60,5,78,46,108,22,226,250,27,59,80,93,31,117,183,58,70,210,9,205,206,125,199,221,198,72,107,169,36,73,32,52,26,138,37,5,55,29,228,147,102,47,50,215,222,120,228,163,105,197,64,69,51,205,240,99,93,51,208,158,81,36,20,218,200,239,191,123,23,77,83,75,146,242,103,8,164,138,77,62,146,243,137,146,20,217,70,144,47,80,5,203,180,111,36,2,40,196,160,116,20,23,165,200,221,51,36,39,21,86,81,196,16,214,86,203,32,51,212,66,167,56,210,110,8,30,233,112,136,28,74,188,145,136,146,99,15,146,215,160,202,244,118,129,180,248,185,32,45,24,72,11,106,189,137,11,5,226,226,135,227,196,197,175,232,160,180,93,21,41, 92 + 10,52,118,130,98,58,158,203,117,117,40,119,221,69,166,227,190,72,199,45,147,157,27,132,205,53,213,185,29,42,86,12,175,33,99,21,117,163,28,81,148,85,159,71,134,52,211,124,31,109,71,231,12,56,159,2,86,186,226,217,81,80,152,242,192,113,234,226,151,134,104,87,71,238,52,127,148,111,169,120,229,160,4,73,216,175,3,96,37,244,8,130,97,241,193,34,132,42,14,72,69,139,159,104,227,69,51,122,163,241,220,68,163,83,108,70,49,180,5,41,207,164,149,162,13,160,94,61,154,250,236,207,17,89,222,145,32,223,93,71,236,15,130,165,209,1,249,80,74,85,230,179,20,236,175,201,103,13,200,149,169,17,221,58,160,178,52,38,229,141,203,234,216,122,6,235,108,236,89,31,197,154,125,55,196,111,69,2,156,34,130,74,64,164,114,53,153,164,120,197,135,228,144,114,45,212,35,195,25,141,55,189,31,153,103,157,224,107,52,83,111,210,9,235,116,194,239,51,180,85,135,50,225,115,65,68,160,24,252,79,113,22,101,230,243,84,105,218,165,248,152,102,75,221,82,11, 93 + 29,19,242,173,55,134,209,90,69,230,234,71,211,200,187,238,235,70,155,31,27,230,189,73,116,190,210,146,202,76,154,108,67,62,219,194,231,160,169,149,96,151,185,25,3,153,206,36,25,118,239,128,187,246,202,238,164,11,198,211,195,236,127,28,214,6,130,60,126,190,164,8,148,120,213,217,180,102,209,207,92,122,61,94,27,91,98,173,208,88,159,60,186,100,167,68,129,21,148,59,246,4,112,22,18,36,99,240,194,86,182,32,155,142,161,125,225,194,64,184,252,153,205,20,108,7,150,186,149,19,14,19,165,153,241,137,2,142,106,199,168,81,74,133,241,29,196,83,107,27,125,26,75,141,204,72,141,91,5,65,39,45,68,95,134,92,12,29,82,68,178,229,81,37,255,45,36,254,83,166,77,120,81,63,147,61,215,35,99,208,120,160,174,79,144,69,184,112,128,9,67,182,54,130,123,234,110,99,249,184,177,250,218,36,9,6,85,123,165,78,206,145,55,17,209,84,15,154,107,60,32,82,177,214,31,70,41,75,197,156,114,138,248,120,60,162,11,31,0,13,135,116,56,212,221,138, 94 + 66,39,154,81,194,4,229,163,9,81,207,79,88,203,79,139,228,17,36,190,35,155,127,8,63,244,109,102,107,57,136,182,25,164,101,180,161,13,140,100,83,170,107,120,56,96,163,88,19,58,24,88,155,50,11,240,174,67,215,182,63,173,143,228,183,72,47,108,82,88,187,220,184,45,92,94,80,204,42,75,251,135,144,215,35,17,254,83,38,28,16,22,30,161,243,250,109,35,14,208,36,156,130,142,137,66,146,206,205,192,134,210,230,222,194,132,190,5,98,173,12,137,139,227,50,121,30,169,206,141,212,44,69,193,15,236,210,78,183,116,182,222,199,64,159,98,240,58,136,97,60,67,242,87,195,181,6,211,94,64,172,44,138,17,144,37,18,229,29,97,48,6,147,10,90,234,236,75,207,17,109,43,138,153,43,229,167,55,86,181,61,213,23,179,92,216,159,157,86,56,72,192,40,221,106,82,159,108,53,194,67,190,169,252,148,21,35,91,249,122,44,90,68,170,236,111,24,47,52,144,194,186,192,188,229,147,8,199,53,200,50,30,73,131,68,128,30,146,55,86,104,86,208,96,208,242, 95 + 80,105,98,22,118,50,109,248,255,82,108,120,110,160,216,240,63,93,103,253,239,106,235,16,19,235,73,216,226,20,40,91,140,21,192,37,152,177,101,163,120,176,34,108,95,111,236,45,130,111,72,215,141,116,247,41,236,52,93,129,187,45,130,61,179,226,244,144,77,215,85,245,21,7,92,179,49,162,57,119,80,49,114,170,168,176,229,242,166,57,213,242,74,243,96,169,162,187,145,101,73,136,211,212,80,22,151,231,243,251,138,142,148,70,23,233,67,80,155,238,86,100,26,63,244,124,177,140,165,156,174,208,174,109,116,97,38,60,225,140,110,32,114,111,209,117,89,81,132,93,212,70,85,87,92,161,54,208,54,3,68,135,16,47,89,161,100,91,161,240,68,57,141,136,68,27,46,59,98,68,142,68,144,100,208,67,106,36,83,87,78,8,134,214,90,248,211,29,255,255,170,216,28,164,62,254,38,2,5,73,75,71,9,18,228,255,186,112,33,52,197,146,169,130,153,131,202,82,145,156,217,72,35,100,38,35,146,54,147,157,176,56,78,129,116,193,244,156,174,20,93,231,78,54,197,38, 96 + 238,29,224,130,39,133,73,121,134,70,228,139,172,152,21,242,113,160,14,117,146,69,213,134,54,62,123,243,107,171,217,113,63,215,220,159,10,35,221,143,251,160,179,29,131,42,76,56,208,50,56,112,151,48,201,13,13,10,8,172,156,51,185,83,41,189,53,249,10,189,186,159,71,136,100,95,130,144,99,27,59,122,34,28,18,110,233,175,56,63,176,97,143,7,162,120,56,83,254,31,18,229,24,168,238,19,136,81,150,91,155,137,31,99,1,6,26,68,239,183,49,207,126,172,234,74,209,202,125,12,68,32,59,36,35,194,251,97,254,152,153,42,164,246,252,19,88,70,122,189,217,81,107,219,202,7,235,4,242,200,180,173,67,234,33,51,8,243,118,70,224,57,193,237,13,177,173,43,56,219,189,65,185,150,204,220,81,50,135,88,177,4,0,135,168,243,18,6,188,17,102,47,224,110,76,123,196,106,37,53,146,214,108,89,201,244,108,218,35,233,57,65,154,133,129,93,100,89,182,193,227,37,87,223,71,32,25,4,189,44,133,108,79,65,24,111,246,200,123,229,241,73,119,250,231,16, 97 + 123,106,21,29,18,219,131,204,93,146,142,101,196,232,146,40,195,7,103,25,241,232,82,230,114,239,45,32,118,172,140,101,173,8,126,196,104,90,60,43,114,44,177,158,207,148,69,116,13,162,204,3,149,88,120,86,212,194,127,53,141,82,56,148,61,22,181,234,11,51,1,192,18,178,161,248,173,79,35,77,25,13,141,37,182,221,10,144,51,96,48,17,42,25,129,222,134,242,18,253,151,166,234,110,88,153,184,122,14,235,31,147,114,183,39,166,243,52,207,129,213,234,42,238,221,16,254,57,35,60,227,136,72,9,103,165,197,76,134,222,18,73,178,35,224,207,161,59,22,212,200,127,8,85,172,200,92,100,139,37,130,187,153,68,185,24,0,132,240,133,100,171,43,2,129,159,33,192,72,233,215,152,56,173,162,248,212,129,157,85,176,27,59,176,106,20,57,142,136,23,110,24,216,16,255,103,59,175,254,205,99,161,7,173,142,137,252,243,138,14,18,136,171,130,244,158,249,43,60,147,226,45,147,48,0,39,208,176,38,81,83,46,104,84,132,85,91,119,246,160,203,3,225,243,142,105, 98 + 225,221,88,79,83,217,232,160,180,234,89,126,167,172,65,177,29,84,7,172,9,249,247,144,9,46,115,241,64,56,142,188,237,18,119,189,67,237,37,158,163,195,64,100,36,24,88,89,169,52,147,230,103,0,200,1,143,134,84,72,244,73,6,245,52,70,54,58,164,114,85,8,127,46,81,8,19,20,42,149,25,176,72,4,148,30,3,6,10,40,102,46,25,16,172,160,136,225,129,209,125,245,225,169,64,126,40,137,19,186,125,218,56,44,99,88,113,100,197,108,17,208,71,216,169,26,38,205,44,232,6,10,22,80,97,64,216,197,98,245,40,23,228,124,26,140,119,205,48,222,245,134,120,121,23,233,28,135,234,232,26,81,132,70,152,52,8,245,68,189,164,223,163,55,48,188,98,74,121,33,153,201,117,145,249,76,175,172,105,75,173,244,81,200,23,43,98,31,201,252,106,219,112,211,26,33,38,93,150,239,41,96,228,51,153,150,168,214,154,52,172,192,184,16,12,118,102,6,32,197,113,70,14,201,142,245,78,10,164,206,137,122,9,76,138,128,234,203,74,112,134,102,105,178,220,68, 99 + 83,51,218,41,178,68,37,4,140,141,204,232,147,139,20,130,176,140,56,159,30,83,8,123,21,126,88,114,63,245,195,17,6,100,7,21,4,242,193,81,44,93,170,103,200,241,129,169,186,85,160,242,236,202,181,9,223,249,96,68,33,103,124,172,218,215,64,150,130,5,216,113,116,8,249,0,73,101,201,250,242,146,147,6,34,224,24,20,163,193,155,17,133,79,20,23,25,106,166,228,130,55,124,50,226,131,165,21,195,72,241,232,60,220,164,94,49,247,56,69,88,188,80,65,154,101,103,42,76,137,159,181,178,13,15,65,203,171,91,193,59,37,204,175,146,72,233,244,206,1,243,146,76,180,67,54,61,155,170,105,3,246,33,238,69,217,240,255,210,97,145,22,255,139,22,143,145,48,249,31,65,242,191,202,56,139,178,228,167,136,159,158,249,255,159,242,231,255,116,6,35,109,241,255,19,159,240,253,51,54,195,141,240,221,89,25,210,128,23,46,133,111,146,22,197,41,241,85,46,100,208,18,82,204,132,97,235,184,100,113,177,28,44,175,137,144,144,53,81,205,173,130,67,240,87,28, 100 + 157,12,13,126,69,4,147,161,15,110,169,243,62,203,194,105,253,73,78,128,232,175,136,207,83,119,169,130,217,64,124,74,130,114,92,131,103,168,105,118,129,205,164,239,91,25,232,42,56,64,39,92,64,251,164,17,150,5,162,111,110,147,33,56,81,206,42,163,113,23,185,110,87,136,147,103,102,67,238,104,97,161,19,155,234,162,137,27,144,75,40,238,124,177,42,85,146,101,66,63,34,100,105,183,59,38,107,163,93,115,7,226,46,140,29,34,91,37,84,83,182,83,8,19,223,142,226,29,71,155,25,111,232,111,68,240,100,112,90,139,179,112,9,57,66,234,112,6,144,67,176,119,208,200,64,98,183,205,161,5,251,237,172,156,214,222,84,149,105,124,214,80,29,122,183,190,1,143,141,40,84,4,155,136,138,186,140,250,174,227,201,48,197,177,165,232,20,241,129,46,52,195,198,150,213,242,220,76,216,23,222,70,99,32,101,227,114,15,42,23,36,51,67,98,159,147,66,31,3,33,151,17,69,199,136,198,67,122,40,140,38,235,142,214,72,80,142,136,72,201,136,142,16,26,99,183, 101 + 58,130,35,11,34,70,34,58,102,43,80,47,218,58,226,18,61,159,245,104,112,90,223,211,91,185,167,130,128,72,222,1,209,177,82,71,219,195,125,55,181,55,166,73,139,147,34,87,232,197,41,143,164,121,126,98,94,238,122,111,206,187,216,77,14,147,4,120,55,24,16,7,228,74,29,193,33,25,81,18,13,103,149,50,229,41,164,80,20,249,35,177,135,112,129,92,23,43,199,34,208,1,190,71,239,13,201,53,192,97,204,172,202,133,145,14,157,153,177,94,92,77,180,97,189,177,176,211,213,46,129,63,146,213,116,175,109,138,217,184,158,157,2,145,161,61,93,134,205,18,206,99,10,76,128,89,37,146,96,214,20,90,100,77,241,131,28,197,161,222,183,42,49,112,167,224,194,53,161,8,77,29,157,80,240,22,84,82,187,97,38,138,6,242,101,133,0,5,154,88,110,40,236,38,229,6,118,103,166,36,196,21,139,11,172,226,155,236,2,81,145,204,67,146,224,214,77,157,242,98,219,14,20,173,210,203,68,21,9,90,220,32,93,49,112,196,85,69,27,236,236,43,133,29,162,20, 102 + 170,163,17,151,74,65,82,65,91,147,218,35,226,226,152,200,205,30,165,17,5,188,129,17,117,131,72,95,117,23,20,207,53,217,105,186,110,87,204,42,38,120,114,192,25,139,103,180,242,26,173,22,9,31,72,34,27,91,89,166,171,179,217,206,12,249,69,229,234,7,115,131,109,58,176,32,227,165,67,46,213,55,249,168,244,24,185,218,112,108,86,137,168,24,95,237,28,55,34,64,53,88,101,85,182,157,10,207,35,94,203,198,210,145,114,167,236,36,100,104,127,152,51,15,216,33,196,37,97,24,110,199,35,214,103,109,173,32,139,173,81,229,242,191,237,196,70,54,203,57,97,165,192,118,12,119,67,26,29,109,55,16,11,31,2,64,129,120,192,42,177,149,104,124,132,187,26,49,137,66,120,79,86,8,159,180,213,98,6,81,161,116,19,68,202,198,139,8,77,164,48,164,19,190,86,220,97,104,244,16,169,113,140,249,110,75,253,59,175,99,201,254,204,193,142,56,245,13,38,4,39,6,162,145,153,64,220,95,194,255,18,119,149,10,16,213,13,242,153,13,62,31,93,201,36,245, 103 + 194,104,101,199,106,83,86,208,14,16,201,209,200,210,139,128,80,25,132,149,56,72,241,74,85,254,76,248,9,70,31,99,111,116,111,232,102,78,23,81,11,16,202,201,231,68,74,24,86,6,166,203,186,193,129,69,149,133,114,177,2,182,160,161,190,133,175,34,33,30,33,172,70,6,179,17,192,146,8,209,180,47,201,21,76,44,225,137,121,214,214,14,164,244,194,0,10,203,147,45,73,15,221,160,59,108,15,229,129,100,160,23,144,135,48,17,37,194,8,61,77,137,146,136,9,24,98,72,86,73,43,32,63,64,156,88,35,27,107,140,116,66,196,186,4,69,174,96,80,114,137,10,67,102,64,37,44,168,240,9,240,36,221,164,190,112,36,219,40,99,52,177,129,138,164,81,7,19,38,161,102,149,110,22,12,10,121,39,240,70,224,45,213,8,32,21,127,251,254,72,157,135,166,230,209,120,76,36,208,50,79,36,38,24,204,218,153,33,249,30,189,21,56,57,83,108,187,20,212,198,192,65,102,69,33,136,136,14,161,95,100,241,56,12,116,154,163,184,17,70,26,1,91,242,75,214, 104 + 151,157,140,46,224,149,130,73,214,29,153,153,200,5,227,11,240,112,96,235,152,3,44,2,95,4,137,46,36,23,64,161,25,161,8,220,128,141,37,209,66,226,157,193,110,183,166,138,240,27,220,199,209,100,172,103,162,237,174,145,61,41,55,45,69,117,194,189,112,65,112,99,104,97,77,162,38,83,51,65,213,137,161,241,48,105,132,186,110,65,63,162,35,212,130,225,0,245,158,75,164,112,216,89,240,216,145,139,162,171,14,221,215,69,153,33,18,23,243,45,23,229,180,191,168,127,108,138,250,199,143,233,90,38,5,42,230,137,46,130,16,33,178,170,24,238,253,45,235,232,5,157,54,200,246,18,151,20,179,197,17,197,93,197,65,197,120,177,69,240,17,65,81,32,194,196,57,73,146,39,87,20,13,67,4,116,201,70,77,199,113,22,92,119,120,22,230,236,84,154,130,156,137,146,108,182,185,15,183,16,215,227,59,107,24,114,216,186,37,79,167,14,57,162,226,142,7,189,139,237,208,13,77,113,4,68,74,149,97,154,237,133,41,70,54,44,1,203,59,110,16,47,212,154,76,73, 105 + 34,36,56,227,0,78,158,239,169,96,67,15,158,43,143,42,253,154,99,52,194,193,132,101,5,156,198,187,32,58,100,61,129,224,144,160,219,65,207,134,3,238,216,165,24,242,206,92,163,19,92,135,213,214,158,152,70,75,58,228,7,173,74,201,199,196,151,12,138,23,107,66,56,224,138,118,57,140,130,109,51,172,95,113,135,245,10,215,72,154,179,91,64,193,169,233,246,10,198,130,89,202,219,27,162,44,183,74,113,147,163,132,123,214,205,219,101,89,99,174,192,156,210,231,172,192,143,28,237,248,65,203,7,193,3,171,222,18,97,32,110,152,13,139,39,38,218,131,64,27,81,216,191,197,121,2,201,180,59,51,51,82,108,176,57,145,162,193,82,219,162,79,121,241,24,25,243,91,118,213,255,206,91,91,66,94,7,186,96,65,188,151,64,86,189,167,242,33,34,72,163,132,217,74,149,204,164,76,85,164,78,148,68,133,87,104,193,240,180,76,211,100,1,248,146,1,56,102,96,0,23,137,39,112,73,78,180,125,7,183,25,220,158,75,58,156,87,74,135,255,204,206,148,50,6,188, 106 + 23,37,163,98,28,17,201,189,116,171,124,25,101,18,244,50,228,138,37,141,163,62,77,134,171,5,62,148,152,187,233,62,89,195,44,44,204,84,170,146,127,181,42,249,223,235,244,33,180,186,132,123,244,250,115,77,181,34,202,37,207,207,59,79,129,118,217,189,89,156,154,205,174,168,96,58,65,170,130,47,76,138,17,43,70,59,205,156,235,18,34,165,59,35,146,78,0,226,148,107,119,186,107,50,24,8,202,51,86,158,148,150,145,139,199,125,138,251,132,151,137,139,154,184,103,244,148,76,93,154,145,208,41,172,207,74,100,108,132,123,166,172,19,167,93,23,48,114,192,190,5,178,254,30,69,3,188,78,40,198,188,16,68,12,80,49,102,232,17,83,13,7,57,198,211,3,3,26,50,65,169,51,14,136,55,36,89,145,145,182,208,250,72,202,150,149,167,74,97,132,224,36,121,84,164,64,153,44,27,112,157,220,91,9,203,13,237,112,118,201,196,21,201,72,122,136,70,98,33,161,142,5,160,164,57,172,70,129,250,164,25,45,76,164,3,73,25,205,143,248,224,54,31,204,92,176, 107 + 155,101,135,68,183,40,172,197,241,85,222,200,105,47,145,221,167,140,215,55,107,230,202,35,138,63,19,17,152,16,16,8,60,147,15,246,170,45,215,41,53,236,149,85,226,149,164,199,114,6,190,154,82,118,153,10,115,150,168,191,174,0,81,121,232,108,149,51,197,72,1,10,42,81,174,247,57,125,71,68,6,19,135,20,75,248,17,118,50,237,84,148,46,24,136,83,47,228,73,236,136,141,228,164,93,169,116,141,73,165,107,38,1,83,170,141,106,162,153,208,31,63,74,62,74,110,43,224,28,147,158,105,171,32,81,60,77,118,216,133,122,67,131,100,67,141,68,136,52,19,34,26,16,34,146,72,77,7,4,131,165,137,124,27,8,137,67,97,190,247,105,144,167,108,225,32,177,105,27,163,181,70,93,104,238,5,174,230,76,151,49,61,140,121,77,145,44,32,157,181,20,221,170,12,155,167,158,29,170,124,228,24,165,128,16,72,210,255,27,185,106,142,57,38,89,162,155,208,118,4,156,209,119,4,52,165,14,105,132,180,59,40,146,78,15,168,184,96,100,205,29,251,20,121,62,165, 108 + 112,76,205,239,13,112,75,131,1,174,41,170,164,161,218,129,45,65,188,58,29,10,55,93,144,46,4,169,70,14,30,157,142,172,20,194,19,13,57,35,138,228,245,170,244,218,19,62,153,63,121,119,15,103,171,18,130,8,238,42,130,8,205,156,112,210,200,196,110,52,98,28,109,133,213,42,180,146,178,200,250,200,4,32,210,47,214,217,153,73,23,36,39,10,91,4,51,70,73,133,141,146,134,165,21,54,215,92,181,114,129,180,212,78,74,76,213,34,226,26,19,17,219,215,58,149,17,22,22,2,131,163,178,88,79,202,190,105,70,84,87,138,3,208,132,76,101,168,87,25,17,23,10,135,23,56,129,30,85,180,181,70,5,36,198,165,86,250,115,98,3,249,211,5,138,226,169,22,48,243,228,36,105,149,107,6,195,221,30,222,232,209,175,196,100,102,178,49,128,24,66,225,77,115,100,61,212,117,99,164,62,176,200,184,37,123,35,110,152,152,104,17,179,60,237,64,195,64,232,42,155,124,96,96,104,96,89,12,82,75,96,64,98,2,108,108,80,82,69,76,168,173,188,70,103,232, 109 + 211,13,72,7,116,195,17,181,42,4,98,36,170,161,2,2,42,36,118,174,106,51,74,249,31,249,97,209,16,5,157,191,1,5,157,77,149,210,255,188,74,39,29,188,93,162,155,142,102,178,173,179,104,200,220,85,58,17,13,208,249,128,75,152,216,108,99,111,68,205,75,80,66,231,35,29,153,144,16,146,245,231,216,4,179,90,209,108,220,104,195,192,235,88,212,248,136,210,141,37,89,214,141,172,105,100,218,51,85,100,233,136,224,5,68,158,53,12,109,129,58,6,69,67,147,135,86,58,65,249,105,230,172,217,132,127,202,228,7,22,76,97,248,141,233,38,56,158,41,246,30,118,25,66,30,213,193,156,11,2,118,155,200,55,146,54,9,177,88,68,68,122,102,66,85,40,128,5,226,114,137,113,133,54,42,150,179,149,143,81,31,185,102,172,170,233,147,6,70,208,19,146,245,216,68,3,37,72,201,198,150,19,218,100,50,91,0,235,67,213,32,177,244,110,165,56,131,126,197,78,216,145,34,48,202,4,233,172,216,205,42,193,202,34,168,18,249,201,11,51,137,61,44,80,24,198, 110 + 44,73,160,185,96,9,81,118,230,39,136,50,73,167,111,101,39,51,124,122,156,49,43,76,207,186,147,84,74,100,206,33,186,226,187,166,229,9,116,79,28,38,37,143,126,32,28,83,29,73,22,227,131,170,173,108,81,79,3,154,24,70,44,177,146,152,98,96,101,128,110,68,172,187,210,5,214,114,70,145,44,248,62,137,144,121,23,42,149,111,137,145,12,64,208,169,82,158,32,75,212,165,66,29,150,60,75,183,186,174,25,216,24,49,134,64,66,167,103,174,108,160,83,10,79,213,133,153,82,192,158,82,96,22,8,65,107,70,40,10,203,9,108,84,105,169,138,158,188,245,128,36,66,86,9,216,25,66,44,28,93,177,88,15,40,103,85,3,196,180,14,233,210,2,157,80,81,138,97,129,12,81,38,182,132,17,170,137,38,109,235,1,205,177,37,82,70,137,202,100,38,94,152,32,147,251,103,98,112,102,132,16,195,70,71,106,218,12,102,255,250,157,3,255,149,130,251,73,194,186,110,206,9,119,176,69,64,179,176,17,243,8,102,16,64,28,82,63,157,208,199,82,181,13,229,240, 111 + 90,26,105,153,178,110,108,168,231,184,144,29,69,254,204,128,230,136,174,252,146,161,36,144,233,88,2,20,251,177,102,24,44,35,169,142,250,160,226,206,128,161,202,45,78,216,115,66,46,76,206,56,211,62,191,74,205,121,112,226,216,86,1,156,40,158,221,93,162,84,145,166,229,177,176,189,6,54,143,89,162,200,48,124,126,31,83,244,123,44,98,134,135,23,97,127,1,83,13,81,240,18,64,27,185,102,42,89,116,21,190,174,102,101,32,36,8,204,82,212,179,114,13,3,201,108,19,179,4,95,38,8,141,52,19,3,221,146,212,16,56,219,81,158,180,183,118,188,55,130,88,16,119,149,120,109,159,106,155,232,36,10,73,146,141,1,249,48,1,25,238,143,147,78,137,130,177,1,17,169,43,234,35,106,153,160,26,225,209,189,154,206,112,46,210,0,58,163,116,86,210,148,216,176,194,129,2,167,216,91,2,233,39,134,210,54,33,245,27,195,128,136,248,17,156,145,111,215,13,75,148,136,9,44,177,210,61,219,48,213,124,71,42,248,80,79,240,68,138,192,19,106,156,212,28,103, 112 + 180,150,36,150,71,98,169,194,18,117,58,145,207,11,139,192,232,11,39,161,55,190,17,118,43,53,230,177,24,27,34,176,252,166,44,171,40,151,108,212,165,37,102,42,159,217,58,179,69,101,11,159,133,74,189,76,85,2,154,246,62,109,65,175,158,99,160,173,202,43,162,77,171,92,159,115,48,82,29,246,64,173,98,129,112,25,94,113,24,23,108,178,42,157,97,219,162,84,10,95,211,104,5,78,0,143,248,141,130,3,199,157,192,146,227,88,33,115,203,132,36,199,193,129,66,51,163,3,110,41,121,253,38,91,174,204,132,40,35,139,141,147,178,229,56,235,112,7,255,130,81,65,54,27,74,161,34,252,76,129,73,30,44,93,85,15,23,11,233,98,227,64,108,184,159,84,120,46,160,219,19,173,175,40,25,82,250,10,156,185,155,85,203,188,28,130,156,66,209,161,212,183,88,237,99,222,195,192,218,138,104,200,238,17,54,81,21,112,11,163,27,152,134,38,48,120,175,45,203,150,102,112,217,228,130,29,29,1,72,129,24,101,188,129,98,96,201,74,140,173,186,193,135,75,85,28, 113 + 241,102,129,4,81,110,15,82,12,216,219,181,83,101,151,37,221,0,129,128,222,81,27,2,161,67,118,106,237,18,205,139,12,12,153,1,51,173,198,198,18,187,32,18,134,91,112,120,196,25,1,49,14,145,180,184,141,32,25,84,4,186,81,115,27,57,91,139,35,80,147,236,39,202,66,188,169,104,58,229,118,16,220,248,149,200,179,99,35,208,103,255,159,26,136,197,213,77,8,159,236,175,193,233,53,135,133,150,186,68,65,21,42,219,118,165,117,237,100,139,78,34,52,17,165,30,61,131,197,239,118,113,163,108,169,27,112,1,35,228,112,66,80,49,89,52,137,169,58,242,161,71,154,44,77,161,149,115,85,201,72,167,19,221,154,237,152,247,176,105,138,248,164,4,229,19,249,194,165,34,133,98,189,126,22,122,125,156,104,51,2,69,215,19,104,145,163,129,14,196,95,33,137,147,228,184,148,48,136,209,7,201,89,29,63,92,229,62,136,245,70,177,43,167,153,41,234,1,186,47,8,138,20,190,114,38,178,201,44,210,227,191,187,133,156,110,147,120,39,58,78,53,142,89,208,61, 114 + 100,102,176,226,213,169,186,18,189,41,162,161,188,76,243,174,110,168,210,164,196,140,130,98,1,160,209,35,65,180,32,65,162,245,87,233,16,52,43,100,102,74,143,142,11,161,141,128,100,150,97,204,119,212,72,120,148,50,135,146,18,31,29,192,212,53,53,186,167,156,233,163,58,62,36,107,86,124,54,181,178,176,196,77,39,109,39,20,55,126,239,100,38,46,48,181,52,28,149,3,248,34,46,13,241,100,226,12,145,92,185,182,10,130,110,49,193,204,216,138,116,97,194,0,107,67,98,10,83,83,27,161,223,193,237,38,142,80,53,111,169,106,78,17,241,110,164,97,42,35,206,134,11,115,36,98,180,196,255,15,220,80,101,245,183,179,61,131,169,132,43,77,196,82,162,48,128,182,89,52,77,23,199,75,201,82,95,77,238,1,152,83,59,43,17,206,190,110,210,180,245,39,51,181,159,27,91,136,44,30,26,195,10,151,152,180,120,103,212,112,23,232,142,111,35,86,8,104,155,137,78,117,148,243,132,52,191,167,10,165,81,149,18,216,191,91,153,24,9,66,14,46,9,27,248,76, 115 + 80,14,147,57,231,153,236,69,78,89,146,41,237,147,96,98,176,239,134,214,220,171,85,1,90,196,54,26,217,216,9,53,106,182,22,76,115,208,56,56,230,131,176,212,120,109,89,67,100,9,111,70,66,35,4,203,35,39,172,244,99,216,63,160,47,210,117,227,182,24,98,181,117,36,153,31,46,240,196,188,248,226,224,142,228,12,172,143,132,89,18,75,45,70,226,16,129,217,22,170,153,13,177,129,110,90,86,184,192,146,84,99,72,192,53,81,192,48,226,152,217,3,86,52,121,23,216,205,233,83,74,46,154,34,205,152,208,13,76,232,120,76,212,79,2,81,213,0,239,74,220,231,132,49,6,69,193,14,141,43,174,180,44,22,25,29,0,231,67,128,31,177,48,129,40,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 116 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 117 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 118 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 119 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 120 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 121 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 122 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 123 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 124 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 125 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 126 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 127 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 128 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 129 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 130 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 131 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; 132 + 133 + var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){function runWithFS(){var fileData0=[];fileData0.push.apply(fileData0,[67,80,79,68,68,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,70,73,76,0,0,0,0,123,144,0,0,112,111,100,47,112,105,99,111,56,95,98,111,111,116,46,112,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,1,0,0,242,16,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,32,47,47,32,104,116,116,112,58,47,47,119,119,119,46,31,0,255,13,46,99,111,109,10,118,101,114,115,105,111,110,32,56,10,95,95,108,117,97,95,95,10,10,45,45,62,56,6,0,25,159,95,95,103,102,120,95,95,10,48,1,0,108,15,129,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,45,1,137,64,31,102,137,64,112,15,139,1,109,15,1,1,239,95,95,95,109,97,112,10,2,240,15,1,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,50,95,95,115,187,98,48,49,48,99,17,0,161,51,48,53,53,53,50,98,53,54,53,10,0,64,51,53,53,52,5,0,128,49,53,51,53,55,48,53,48,3,0,15,5,0,106,0,169,0,16,56,12,0,115,50,52,48,51,53,50,52,26,0,15,91,2,130,30,49,154,0,15,169,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,238,113,95,95,109,117,115,105,99,114,74,50,32,52,49,2,0,15,12,0,255,255,224,80,49,52,49,10,10,99,70,73,76,0,0,0,0,182,197,12,0,112,111,100,47,103,102,120,49,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,75,0,0,243,22,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,25,0,63,21,1,0,1,0,10,177,67,66,77,80,20,0,1,0,128,0,0,4,0,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,73,47,232,241,4,0,75,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,97,67,80,65,76,0,3,11,0,255,39,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,0,0,0,2,4,6,2,4,8,3,0,101,111,3,5,10,3,5,10,126,0,100,31,9,54,0,37,27,9,192,0,5,3,0,254,33,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,122,1,15,3,0,255,44,255,2,67,66,77,80,164,1,0,0,40,0,0,0,10,0,0,0,8,68,3,24,15,44,0,20,63,9,7,15,39,0,17,95,10,7,7,7,14,41,0,17,51,11,7,13,10,0,66,7,7,7,7,5,0,20,0,5,0,22,7,25,0,37,0,12,39,0,0,3,0,5,4,0,4,16,0,0,10,0,1,3,0,23,0,79,0,14,40,0,3,99,0,9,40,0,5,7,0,10,80,0,1,18,0,12,40,0,6,165,0,9,159,0,31,7,180,4,54,57,79,72,67,180,4,91,231,39,0,231,86,180,4,15,1,0,29,240,3,28,0,73,109,24,69,0,122,44,160,72,50,52,54,53,173,177,183,100,14,240,8,0,77,255,132,0,255,255,39,0,226,50,41,173,255,174,75,176,255,136,188,255,214,197,48,0,32,48,102,144,0,177,131,72,171,82,54,63,65,65,180,182,188,48,0,49,42,255,163,79,0,96,231,86,41,162,255,132,48,0,245,7,175,255,217,177,0,0,0,32,51,123,140,28,60,0,131,49,171,100,54,80,80,80,120,0,35,255,155,9,0,97,63,155,255,132,112,169,192,0,0,75,0,255,0,28,24,87,135,37,77,0,147,60,0,0,0,69,69,69,180,0,2,98,146,133,174,255,105,154,48,0,48,55,67,91,19,0,143,135,81,0,0,0,86,70,59,48,0,2,53,131,118,156,12,0,53,37,55,77,12,0,63,101,91,82,32,1,14,53,43,55,66,12,0,63,79,72,67,48,0,15,37,62,83,12,0,63,95,87,79,48,0,14,79,29,43,83,0,1,0,255,4,48,255,0,255,180,4,158,20,48,0,0,128,0,0,0,96,180,4,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,26,0,28,48,83,36,0,0,0,4,4,0,9,28,48,241,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,72,48,33,0,1,72,48,0,76,48,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,72,15,32,170,78,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,151,67,66,77,80,84,0,0,0,8,4,0,4,1,0,20,8,1,0,36,2,2,8,0,36,2,2,8,0,42,2,2,8,0,8,40,0,3,1,0,15,92,0,18,36,15,15,8,0,36,15,15,8,0,42,15,15,8,0,8,40,0,15,92,0,25,6,147,0,3,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,33,40,15,15,186,0,4,176,0,19,8,15,0,36,8,8,208,0,12,92,0,95,100,0,0,0,10,92,0,12,6,193,0,3,4,0,4,10,0,4,6,0,2,10,0,8,233,0,3,221,0,15,108,0,40,3,184,0,5,10,0,4,6,0,2,10,0,8,249,0,47,15,15,216,0,47,4,196,0,15,10,0,17,15,216,0,45,4,196,0,15,10,0,17,15,216,0,53,15,20,0,8,15,216,0,62,15,20,0,30,0,108,0,95,68,1,0,0,38,108,0,1,15,1,0,33,31,2,129,2,0,3,44,2,5,4,0,85,8,2,2,15,15,39,0,18,2,135,3,1,5,1,5,162,0,0,165,0,16,2,93,2,5,171,3,7,249,2,5,72,0,13,38,0,1,76,0,3,43,0,5,188,2,43,15,8,114,0,7,83,2,10,38,0,8,190,0,6,118,0,31,2,251,0,8,15,76,1,98,2,231,0,39,2,8,125,5,0,222,0,2,139,4,35,15,15,67,1,5,90,2,5,242,4,1,42,1,6,223,3,2,38,0,5,72,0,12,38,0,1,76,0,3,43,0,5,123,1,43,2,8,114,0,7,51,3,10,38,0,8,190,0,40,15,15,75,4,15,76,1,21,95,36,0,0,0,2,76,1,0,244,1,0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15,44,0,23,8,48,0,5,44,0,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,0,6,9,34,6,7,1,0,33,13,6,1,0,0,8,0,33,5,5,8,0,129,5,5,5,5,6,7,13,5,1,0,8,32,0,2,8,0,2,1,0,31,6,92,0,10,3,37,0,18,7,52,0,8,8,0,33,5,5,8,0,1,100,0,34,13,7,100,0,6,32,0,2,1,0,31,6,184,0,26,5,168,0,3,184,0,5,200,0,15,184,0,56,5,168,0,3,184,0,5,200,0,15,184,0,23,31,5,1,0,44,0,92,0,19,44,84,0,31,3,20,1,4,19,1,236,0,18,1,1,0,1,144,0,32,20,32,68,2,60,0,0,32,44,2,255,1,0,5,1,2,1,13,6,2,4,9,3,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,242,4,72,34,19,4,4,0,9,28,32,255,0,5,6,7,2,4,9,10,1,13,14,15,3,11,12,8,44,0,18,67,3,11,8,2,160,34,19,35,164,32,28,5,168,32,81,0,0,6,6,0,164,32,34,0,6,131,0,19,45,39,0,12,43,0,11,174,0,17,2,2,0,31,0,232,41,12,7,106,0,0,99,0,1,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,83,164,0,0,0,12,4,0,8,92,0,31,11,1,0,124,0,172,0,19,76,164,0,27,7,172,0,3,35,35,31,5,8,0,29,15,84,0,9,2,183,34,47,6,5,8,0,29,15,168,0,12,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,16,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,14,18,5,2,0,5,152,0,15,16,0,20,15,168,0,10,18,5,2,0,5,152,0,15,16,0,20,15,80,1,11,1,53,1,3,138,0,31,13,168,36,6,4,32,0,4,48,0,15,80,1,11,1,53,1,3,138,0,31,6,84,0,6,4,32,0,4,48,0,15,144,4,10,65,13,13,0,13,6,0,32,0,13,6,0,15,44,0,10,0,136,4,96,11,7,6,6,11,11,151,4,30,0,172,0,15,74,5,17,95,10,10,10,10,0,104,5,5,15,84,0,70,98,20,64,0,0,128,0,4,0,8,84,0,79,1,0,0,1,4,0,102,15,127,0,111,31,1,127,0,236,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,196,68,19,51,0,0,14,7,0,19,14,7,0,10,16,0,5,32,0,15,32,69,32,5,24,0,36,8,8,58,106,9,16,0,5,32,0,15,92,0,33,42,14,0,168,0,4,185,0,5,16,0,31,0,92,0,39,42,8,0,168,0,4,185,0,5,16,0,15,92,0,40,4,1,0,34,7,7,7,0,2,13,66,18,7,12,0,2,20,0,47,0,7,92,0,44,4,66,0,17,7,82,0,47,7,7,92,0,59,3,187,0,8,93,0,47,7,7,92,0,49,1,187,104,1,172,0,8,4,0,3,20,0,15,184,0,46,6,165,0,6,8,0,2,114,0,15,92,0,45,40,7,0,89,0,4,110,1,3,182,0,15,92,0,48,22,7,2,0,3,1,0,7,19,0,9,120,1,15,132,2,36,6,99,1,5,14,1,14,112,1,15,232,113,34,30,8,242,113,15,16,113,68,31,8,242,113,1,15,16,113,67,36,2,8,157,111,15,20,0,18,15,216,0,42,36,15,8,189,110,15,20,0,18,15,80,116,34,25,2,175,1,5,95,116,11,32,117,15,80,116,35,25,15,159,1,5,95,116,11,32,117,15,92,0,29,4,144,111,7,2,0,22,2,69,2,7,16,0,11,117,112,15,92,0,17,4,11,116,7,2,0,22,15,53,2,7,16,0,11,50,116,15,120,118,21,2,234,112,4,46,114,15,8,0,3,12,57,2,15,120,118,21,2,95,118,6,12,0,15,8,0,1,12,41,2,15,48,119,22,9,32,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,32,25,8,32,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,31,4,113,1,6,8,0,8,248,2,42,2,2,8,0,15,184,0,27,4,113,1,6,8,0,8,248,2,42,15,15,8,0,15,60,3,28,21,8,130,120,5,49,2,6,8,0,4,24,0,11,164,120,15,92,0,22,5,130,120,5,49,2,6,8,0,4,24,0,11,164,120,15,160,120,28,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,112,79,15,14,7,2,19,6,68,113,7,82,7,19,7,208,79,4,212,79,15,1,0,28,8,60,0,8,84,0,8,108,0,12,28,80,82,1,0,0,20,0,4,0,15,232,9,15,41,7,6,111,0,9,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,56,83,7,48,5,0,0,84,78,31,36,208,77,1,15,188,1,17,23,6,4,0,41,7,7,15,0,15,204,1,3,15,220,1,1,15,249,0,20,15,39,0,46,31,6,144,0,255,255,255,154,15,108,0,53,15,164,4,15,15,100,88,22,98,56,19,0,0,70,0,4,0,47,8,0,1,0,62,1,120,121,1,88,88,15,8,0,3,2,229,14,47,6,6,38,0,7,14,112,5,15,137,0,35,15,70,0,123,31,6,57,7,48,15,70,0,34,15,114,8,140,15,24,1,119,15,48,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,53,15,164,1,255,6,15,70,0,49,15,82,18,53,31,0,212,148,88,6,97,144,9,156,29,9,160,145,8,9,0,15,236,28,26,5,167,144,9,156,29,9,144,145,8,9,0,14,164,29,15,184,0,22,14,8,0,14,208,0,15,184,0,37,14,8,0,14,208,0,15,184,0,31,10,8,0,14,76,150,15,184,0,41,10,8,0,14,76,150,12,184,0,16,141,72,108,3,4,0,15,104,21,42,22,1,10,0,38,7,1,11,0,38,7,1,11,0,38,7,1,11,0,37,7,1,33,0,5,34,0,35,1,7,137,40,23,69,211,37,31,8,103,0,1,2,99,0,2,4,0,17,1,42,0,19,1,14,0,6,127,0,0,6,0,15,226,0,24,38,1,0,170,0,20,1,149,0,1,11,0,42,7,1,11,0,51,1,1,7,193,0,37,1,7,11,0,2,213,0,2,11,0,2,34,0,29,1,248,0,63,0,1,1,149,0,13,15,160,0,41,14,138,0,15,149,0,28,83,245,0,0,0,15,4,0,15,116,23,60,6,30,2,11,34,2,3,15,0,6,222,0,9,213,0,9,110,1,42,0,0,114,1,27,0,225,0,12,229,0,12,233,0,6,237,0,12,158,0,14,253,0,15,81,144,89,31,0,253,0,111,14,106,108,12,126,146,1,141,111,3,167,109,30,13,8,0,4,32,0,7,118,146,15,84,0,15,34,6,6,154,109,82,8,8,8,7,6,8,0,23,8,8,0,4,32,0,15,84,0,34,82,9,9,9,7,6,8,0,23,9,8,0,15,84,0,42,82,10,10,10,7,6,8,0,23,10,8,0,15,84,0,42,82,11,11,11,7,6,8,0,23,11,8,0,15,84,0,42,82,12,12,12,7,6,8,0,23,12,8,0,15,84,0,42,82,14,14,14,7,6,8,0,23,14,8,0,14,84,0,15,248,1,66,19,55,235,115,15,84,0,3,1,29,0,51,1,1,13,226,2,0,5,0,1,20,0,15,63,0,25,10,7,10,10,63,0,15,210,0,5,23,0,217,4,34,1,1,97,3,23,1,206,48,1,8,0,15,114,3,0,15,84,0,97,6,91,0,39,1,0,115,49,2,92,0,1,16,0,14,168,5,15,84,0,103,3,67,0,15,8,0,6,47,0,0,84,0,81,15,232,46,27,9,1,0,14,17,45,15,92,0,37,42,7,7,145,46,8,11,0,14,102,0,15,48,46,31,42,7,0,200,45,4,84,47,31,7,180,48,53,5,107,0,3,3,48,3,8,0,31,0,180,48,50,7,149,46,7,156,46,15,160,47,49,13,121,1,15,92,0,49,5,11,1,9,2,0,14,127,14,15,132,2,40,42,7,7,4,0,14,92,0,15,128,50,47,6,32,2,14,232,2,15,40,2,40,11,8,0,15,112,1,48,27,7,43,3,7,212,1,15,92,0,56,31,0,132,2,64,11,126,50,6,200,0,31,0,184,0,53,8,80,4,15,60,3,63,25,7,40,2,15,112,1,66,14,8,0,11,92,0,83,101,0,0,0,9,4,0,15,60,3,13,20,6,159,123,0,205,157,2,146,17,45,13,6,9,0,4,27,0,3,46,0,3,213,122,15,109,0,21,5,178,52,0,86,158,2,160,3,45,13,7,9,0,4,27,0,3,46,0,5,9,0,4,118,0,15,218,0,41,19,6,191,0,13,9,0,15,218,0,56,4,182,0,13,9,0,15,218,0,74,5,191,0,5,180,1,15,218,0,61,0,2,11,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,18,14,1,0,15,218,0,50,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,59,15,15,44,129,235,15,28,1,5,28,7,1,0,11,31,5,15,16,0,205,15,56,2,13,15,43,1,233,15,46,4,29,21,1,203,12,53,13,7,13,13,20,11,18,0,15,231,12,3,15,41,7,1,15,18,3,76,15,109,0,19,46,7,0,126,11,25,7,246,59,11,99,8,14,47,10,15,109,0,21,7,36,10,15,9,0,4,6,255,4,8,238,25,9,138,2,15,109,0,19,14,242,11,14,11,61,14,18,0,13,54,0,15,218,0,22,8,109,60,26,7,9,0,4,209,0,9,89,1,14,74,1,15,180,1,96,162,148,0,2,0,160,0,0,0,205,0,127,166,4,28,0,53,105,102,102,4,0,79,8,4,2,255,4,0,255,255,83,8,116,2,8,124,2,63,103,102,102,4,0,255,255,84,12,132,2,14,124,2,15,132,2,255,255,85,15,124,2,255,255,103,8,132,2,15,128,2,255,255,255,255,255,174,63,77,0,255,128,2,255,255,104,34,0,155,187,250,63,188,204,255,128,2,255,255,96,42,39,231,63,253,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,0,59,210,15,124,1,165,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,80,57,255,246,15,128,2,105,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,51,31,103,124,82,255,255,46,78,105,102,102,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,3,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,0,1,0,3,14,156,2,15,4,0,255,255,69,15,124,2,0,15,36,20,255,255,96,15,124,2,255,255,103,12,132,2,14,124,2,15,156,122,255,255,255,255,255,255,255,255,31,63,77,0,255,128,2,255,255,104,191,0,155,255,255,232,241,255,255,188,204,255,128,2,255,255,96,34,39,231,124,2,4,4,0,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,172,1,214,53,167,171,178,4,0,15,16,0,1,8,20,0,14,16,0,15,80,0,15,14,36,0,15,80,0,6,14,64,0,15,128,2,100,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,15,44,4,225,8,248,1,8,16,2,14,12,0,15,48,0,6,15,32,0,34,14,48,0,15,128,2,127,14,216,4,15,128,2,43,15,76,5,8,15,128,2,234,15,144,4,0,15,48,2,38,14,64,2,15,128,2,31,14,192,2,15,0,5,103,14,28,0,15,0,5,51,14,72,0,15,0,5,235,14,20,0,15,0,5,42,15,128,2,194,15,20,10,16,15,252,9,17,15,0,5,254,12,16,0,15,160,9,16,15,80,5,38,15,80,0,8,15,128,2,65,15,156,162,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,54,31,8,28,190,255,255,110,0,60,0,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,248,8,68,58,15,16,0,17,8,20,0,8,32,0,15,228,0,0,15,80,0,34,15,84,0,25,4,12,0,15,8,0,9,14,60,0,14,32,0,15,80,0,4,15,156,0,9,15,128,2,255,59,15,8,0,57,15,240,1,0,15,20,0,10,12,32,0,14,48,0,15,80,0,6,15,128,2,21,15,240,0,69,15,0,5,255,59,15,176,4,13,15,240,1,41,14,100,2,15,128,2,11,15,100,4,0,15,160,0,13,15,64,0,29,15,128,2,49,15,0,5,255,187,15,8,5,37,15,64,0,0,15,0,5,255,163,14,120,1,15,16,9,14,15,128,2,34,15,112,10,0,15,80,10,34,15,80,2,0,14,0,5,15,128,2,20,14,164,0,15,16,10,10,14,4,10,15,0,20,255,255,255,255,255,255,255,255,196,8,8,0,12,180,0,15,48,20,24,15,128,2,255,255,24,15,8,0,0,15,128,14,30,15,24,0,0,15,0,5,255,255,28,15,224,4,0,15,4,22,9,15,64,0,1,15,0,5,255,255,52,14,100,2,14,124,2,15,16,0,20,15,0,30,255,255,52,31,54,0,10,23,15,128,2,255,255,36,15,4,0,64,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,43,53,143,147,154,4,0,15,16,0,1,8,20,0,15,16,0,5,15,80,0,8,15,36,0,10,14,128,0,15,16,0,55,15,112,0,21,15,156,0,1,12,8,0,15,48,0,4,15,32,0,29,15,128,2,255,7,8,8,0,15,12,0,0,15,48,0,13,15,32,0,34,15,240,1,0,15,144,0,13,15,32,0,34,14,112,0,14,8,2,15,144,0,4,15,240,0,50,14,120,0,15,0,5,255,12,15,128,2,29,15,64,5,4,15,128,2,26,15,192,4,17,15,124,5,0,15,128,2,38,14,156,5,15,128,2,46,15,0,5,255,47,14,208,1,15,0,5,187,15,168,4,25,12,16,3,15,240,0,52,15,128,2,255,19,15,0,10,8,14,64,4,15,0,10,52,15,128,2,32,15,48,10,54,15,52,2,4,15,32,6,1,15,32,0,25,15,0,5,255,14,15,0,20,255,255,255,255,255,255,255,113,31,103,124,82,255,255,46,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,2,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,156,2,8,15,4,0,255,255,83,15,124,2,5,63,207,195,197,4,0,255,255,76,143,224,210,212,255,242,227,229,255,160,22,1,127,140,134,135,255,173,164,166,128,2,255,255,76,0,124,2,4,4,0,8,28,30,113,75,75,74,255,107,104,104,132,2,14,160,12,15,4,0,255,255,61,49,196,184,186,128,2,53,189,177,181,144,7,0,128,2,0,4,0,14,124,2,15,4,0,255,255,69,127,174,156,166,255,138,129,134,128,2,255,255,255,49,63,77,0,255,128,2,255,255,104,34,0,155,200,82,63,188,204,255,128,2,255,255,96,42,39,231,208,173,63,168,119,255,0,5,255,255,96,68,50,226,0,255,140,251,14,124,2,15,128,2,255,216,12,92,178,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,132,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,73,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,31,8,28,190,255,255,38,15,128,2,57,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0]);fileData0.push.apply(fileData0,[48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,56,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,49,93,85,88,4,0,0,132,2,15,128,82,255,255,95,4,124,2,0,4,0,0,120,2,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,12,128,2,63,75,65,68,124,2,255,255,92,9,132,2,111,65,68,255,75,56,63,4,0,255,255,52,15,124,2,25,9,132,2,47,56,63,4,0,255,255,56,14,124,2,15,132,2,19,15,4,0,255,255,55,15,116,2,21,208,67,66,77,80,244,0,0,0,32,0,0,0,7,132,2,7,28,0,31,5,1,0,49,31,13,1,0,4,3,31,0,31,6,55,0,5,3,8,0,34,7,6,1,0,27,13,8,0,15,155,0,49,0,252,0,19,84,244,0,27,8,252,0,115,0,0,6,6,6,7,6,9,0,3,18,0,4,26,0,15,88,1,113,15,1,0,44,4,88,1,13,8,0,15,183,1,12,31,13,88,1,46,15,96,1,1,15,88,1,27,19,69,84,1,12,88,1,0,73,0,0,196,0,15,173,1,0,1,23,0,5,105,0,15,77,0,17,9,88,0,4,75,0,0,2,0,3,3,0,3,14,0,6,84,0,15,77,0,22,21,6,86,0,2,63,0,4,83,0,15,77,0,33,2,223,0,25,6,77,0,3,91,0,47,0,0,154,0,35,27,6,154,0,31,6,154,0,32,4,74,0,1,34,0,36,6,0,150,0,28,13,65,3,14,129,1,15,1,0,40,0,77,0,83,101,0,0,0,9,4,0,15,77,0,7,20,7,8,0,36,7,7,8,0,40,7,7,8,0,4,26,0,20,7,44,0,4,42,0,15,109,0,30,5,57,0,15,9,0,6,1,117,0,22,7,106,0,7,18,0,15,109,0,27,19,7,2,0,12,232,0,15,18,0,13,11,54,0,15,218,0,22,40,0,7,66,0,9,9,0,4,209,0,9,89,1,14,74,1,15,180,1,33,12,10,0,4,45,1,22,7,118,0,3,100,0,4,85,2,15,180,1,38,10,69,0,9,162,1,15,32,0,1,31,7,109,0,32,14,253,1,15,9,0,5,15,33,2,48,14,77,1,15,10,0,23,11,218,0,147,148,0,2,0,160,0,0,0,205,227,6,7,31,0,31,255,4,0,255,255,119,14,203,20,15,4,0,255,255,69,15,124,2,255,255,107,14,132,2,14,124,2,15,132,2,255,255,86,15,128,2,255,255,255,255,255,179,63,77,0,255,128,2,255,255,104,34,0,155,127,179,63,188,204,255,128,2,255,255,96,42,39,231,3,182,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,12,143,186,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,124,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,56,57,255,255,47,15,64,0,49,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,157,14,60,2,15,128,2,255,255,89,15,124,2,44,15,128,2,45,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,47,15,128,82,255,255,68,15,192,107,32,15,124,2,255,255,108,14,128,2,15,124,2,255,255,40,15,128,2,37,15,124,2,255,255,108,14,128,2,15,124,2,255,255,32,15,128,2,45,15,124,2,255,255,108,14,128,2,15,124,2,255,255,28,15,132,2,53,15,124,2,255,255,108,14,132,2,15,124,2,255,255,12,15,4,0,255,255,188,255,3,67,66,77,80,20,6,0,0,48,0,0,0,32,0,0,0,8,0,1,0,89,31,6,1,0,24,15,47,0,28,47,6,6,47,0,17,79,7,7,7,7,24,0,5,31,7,48,0,23,46,7,7,49,0,15,119,0,12,31,5,48,0,27,63,5,5,5,48,0,25,16,5,1,0,15,144,0,4,15,192,0,48,17,13,47,0,63,13,6,6,60,1,14,2,13,0,18,13,1,0,14,87,1,12,124,0,18,7,26,1,20,6,47,0,30,5,49,0,9,12,1,0,47,0,6,25,1,2,13,0,14,48,0,1,83,0,14,73,1,13,75,0,47,7,7,96,0,23,5,183,0,15,192,0,2,6,123,0,4,192,0,5,135,0,9,60,1,10,73,1,8,87,1,5,35,2,4,60,1,2,34,0,9,73,1,8,27,0,6,231,0,7,47,0,39,6,6,47,0,5,87,1,14,243,1,15,64,2,4,15,243,1,24,13,160,2,9,183,0,15,0,3,17,14,47,0,15,160,2,68,14,48,0,14,173,0,15,49,0,0,15,173,0,22,30,6,129,4,15,225,4,65,15,158,5,79,15,28,6,255,255,79,16,14,1,0,15,28,6,23,0,46,0,63,5,14,14,28,6,22,0,47,0,0,48,0,31,6,28,6,20,0,47,0,10,48,0,14,28,6,15,96,0,0,15,28,6,22,4,192,0,15,28,6,22,1,32,1,15,28,6,255,255,255,255,232,10,197,4,2,42,6,31,6,56,12,21,1,104,5,47,14,14,56,12,22,2,201,5,31,14,56,12,22,9,42,6,14,56,12,15,96,0,5,15,56,12,22,8,192,0,15,56,12,18,7,42,6,15,28,6,255,255,255,138,14,197,4,15,48,0,10,46,14,14,49,0,15,155,0,9,2,94,10,15,48,0,25,8,239,10,15,48,0,16,1,220,3,15,144,0,4,15,192,0,48,10,239,10,15,84,18,255,255,255,255,255,255,43,15,28,6,255,69,10,171,19,15,28,6,14,4,252,7,14,28,6,15,92,8,22,14,243,1,14,188,8,15,111,5,0,15,28,9,23,14,111,5,15,188,8,68,31,6,28,6,255,255,255,107,9,199,3,15,28,6,15,9,248,3,15,28,6,16,12,9,18,15,28,6,13,0,135,4,7,48,0,15,28,6,11,15,96,0,23,5,51,1,14,192,0,15,28,6,12,8,184,4,15,56,12,255,255,255,255,255,153,4,226,5,15,96,0,20,5,19,6,15,56,12,20,5,163,6,15,56,12,20,5,91,11,15,28,6,20,6,3,7,15,28,6,19,14,139,11,14,28,6,14,71,20,15,28,6,255,255,219,14,31,3,14,28,6,14,48,0,15,196,42,255,255,255,255,220,83,69,0,0,0,7,4,0,15,28,6,1,86,6,9,9,9,6,7,0,2,153,0,0,176,1,3,14,0,15,77,0,27,3,63,0,72,5,5,5,6,14,0,31,6,77,0,33,4,22,0,241,2,9,7,15,0,0,0,10,7,7,7,14,0,0,0,11,7,13,22,0,31,12,231,0,28,0,239,1,6,7,0,15,231,0,44,70,12,12,12,6,7,0,15,77,0,43,35,13,13,7,0,63,13,13,13,7,0,2,15,52,1,27,18,7,6,0,18,7,6,0,8,14,0,4,28,0,15,77,0,30,4,64,0,3,79,0,47,7,7,77,0,33,1,145,4,15,7,0,8,31,0,231,0,35,18,7,6,0,46,7,7,175,0,15,206,1,22,70,10,10,10,6,7,0,15,2,3,46,3,7,0,6,64,4,11,7,0,15,77,0,16,34,8,8,3,0,83,8,8,8,7,8,1,0,2,15,0,1,29,0,23,8,30,3,15,129,1,21,33,11,11,5,0,66,11,11,11,0,4,0,2,18,0,17,0,5,0,5,7,0,15,77,0,16,18,10,6,0,33,10,10,5,0,65,10,7,10,10,8,0,37,10,0,7,0,5,37,0,15,77,0,14,49,9,9,9,7,0,33,1,9,13,0,49,1,9,9,20,0,65,9,9,0,9,14,0,4,1,0,15,77,0,18,32,4,4,40,0,85,2,2,2,7,2,7,0,85,8,8,8,15,8,7,0,16,2,1,0,15,154,0,19,17,8,16,0,85,12,12,8,12,12,7,0,3,129,1,10,21,0,15,52,1,18,5,159,2,22,7,7,0,17,6,21,0,2,15,2,2,6,0,15,29,5,29,1,140,0,40,12,8,154,0,1,14,0,3,7,0,15,52,1,23,0,252,7,0,135,3,50,8,8,14,7,0,22,8,7,0,30,0,156,3,15,129,1,25,85,14,14,14,15,14,7,0,15,129,1,24,98,15,15,15,0,0,15,7,0,3,7,15,1,9,0,32,0,15,252,5,1,223,0,3,7,0,15,52,1,24,7,93,3,15,79,3,44,102,0,6,8,8,8,6,7,0,15,54,4,43,33,1,1,3,0,32,8,8,3,0,17,1,154,0,1,15,0,32,8,1,29,0,34,8,1,37,0,4,238,13,82,1,0,0,16,0,4,0,9,77,0,25,32,1,0,71,0,32,32,7,1,0,72,32,32,32,7,31,0,31,7,16,0,159,11,208,0,12,240,0,0,28,1,38,120,0,128,4,8,28,1,10,9,1,2,81,0,15,10,0,52,5,1,0,0,128,0,19,84,120,0,27,8,128,0,1,161,0,0,8,0,38,7,7,8,0,5,169,1,1,236,0,7,15,0,26,7,44,0,63,32,32,32,92,0,9,12,93,0,20,32,8,0,11,64,1,3,34,0,27,32,91,0,31,0,92,0,10,3,93,0,19,32,85,0,35,32,7,8,0,21,32,117,0,3,10,0,0,24,0,19,7,8,0,36,32,32,56,0,15,184,0,14,26,32,85,0,8,152,0,9,216,0,9,99,0,31,32,184,0,4,15,93,0,23,15,91,0,5,47,0,32,184,0,16,35,0,0,62,0,2,99,1,4,115,1,5,26,2,8,12,0,2,45,0,39,7,32,55,0,15,92,0,12,8,93,0,6,227,2,42,7,7,4,0,7,60,2,8,53,0,15,92,0,13,5,93,1,3,84,0,42,0,32,80,0,35,32,7,140,2,37,7,7,39,0,8,201,4,15,96,3,5,49,0,0,16,1,0,0,9,0,2,231,8,16,16,10,0,1,110,17,15,10,0,16,6,50,0,1,38,14,5,20,0,21,16,90,0,15,128,0,14,19,0,38,0,69,0,0,16,7,58,0,63,6,15,15,10,0,19,6,50,0,38,7,7,20,0,21,16,90,0,15,0,1,15,0,39,0,4,9,0,6,58,0,15,10,0,50,3,90,0,15,0,1,22,7,206,0,15,10,0,13,20,7,10,0,5,246,0,20,7,119,0,13,1,1,15,0,2,32,10,10,0,20,7,10,0,20,7,10,0,20,7,10,0,5,246,1,35,7,7,129,0,17,16,155,17,8,1,2,15,128,0,139,10,128,1,6,88,1,21,7,88,2,3,10,0,24,7,10,0,20,6,10,0,4,148,1,5,117,0,1,51,0,14,128,1,15,128,2,19,5,57,0,31,7,10,0,1,15,108,2,1,14,30,0,15,128,2,39,7,206,0,36,14,14,88,2,15,10,0,3,15,128,3,21,15,128,4,110,15,128,0,244,16,36,231,11,3,4,0,15,106,24,6,15,44,0,32,16,245,242,11,3,4,0,15,194,24,14,5,190,7,2,14,0,1,170,0,5,53,7,17,6,30,0,0,18,0,1,42,0,53,6,32,32,30,7,67,32,7,7,13,4,8,2,14,0,0,15,0,47,7,32,15,0,3,3,82,20,7,30,0,1,61,10,15,15,0,32,3,16,0,31,32,192,0,2,0,253,0,94,19,1,0,0,17,253,0,15,1,0,51,26,17,1,0,58,0,17,7,1,0,116,17,17,7,7,13,13,7,2,0,2,17,0,7,34,0,16,13,17,0,7,33,0,17,13,17,0,15,68,0,0,17,7,48,1,2,69,0,14,34,0,13,136,0,31,0,190,20,50,15,1,0,14,15,189,8,29,1,146,18,47,5,16,10,0,24,2,40,2,10,20,0,14,189,3,15,128,0,51,6,108,0,14,118,0,14,61,4,15,128,0,53,15,118,0,7,15,189,4,63,15,88,1,11,7,118,0,15,61,5,68,15,118,0,7,15,189,5,83,15,118,0,7,15,128,0,89,15,61,7,255,46,4,69,1,15,128,0,91,11,60,3,31,0,128,0,83,15,40,4,6,15,0,1,74,15,40,4,7,15,128,0,73,14,10,5,15,0,1,81,15,148,5,21,11,148,0,15,128,2,44,15,10,6,27,15,128,1,0,15,128,6,64,15,138,7,26,13,128,0,15,77,8,7,5,186,12,23,16,44,13,19,16,30,14,4,14,0,21,16,42,0,0,77,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,0,196,23,1,2,0,0,8,0,2,213,23,0,3,0,12,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,255,255,37,15,63,3,71,7,124,4,15,90,0,62,1,55,6,15,180,0,69,15,90,0,68,47,14,14,90,0,72,14,31,6,15,28,2,58,15,1,0,255,255,255,194,31,13,1,0,62,47,0,0,126,9,255,255,255,131,31,0,126,9,69,47,14,0,180,0,156,14,233,14,15,126,9,255,255,255,255,255,216,0,28,1,1,4,0,17,0,85,51,1,12,0,9,24,0,34,13,0,28,0,7,48,0,54,0,0,5,28,0,5,40,0,28,13,90,0,9,2,0,0,16,0,7,114,0,7,32,0,38,0,13,48,0,53,0,5,0,28,0,4,27,0,8,126,0,14,180,0,4,136,0,5,114,0,3,176,0,13,180,0,0,90,0,23,13,90,0,3,4,0,12,180,0,8,62,0,6,122,0,47,13,0,180,0,5,31,0,180,0,21,39,0,0,100,1,4,72,1,4,180,0,6,128,1,8,48,0,0,94,48,6,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,13,32,10,2,148,58,31,5,1,0,1,18,13,6,0,4,54,5,2,6,0,15,167,40,17,2,195,13,15,184,28,2,3,179,69,7,77,0,147,20,50,1,0,144,0,0,0,136,210,67,4,69,0,113,59,51,73,255,64,49,62,4,0,63,0,0,2,4,0,28,31,0,16,0,255,141,15,4,0,65,81,0,255,80,49,58,4,0,8,60,2,14,64,2,15,36,2,22,15,84,2,255,221,6,64,2,0,4,0,15,64,2,8,15,86,117,255,249,15,64,2,25,30,1,56,2,15,4,0,255,247,31,1,64,2,12,29,0,64,2,63,255,173,41,4,0,86,63,83,43,29,4,0,34,15,108,0,89,14,124,0,15,108,0,43,15,152,0,0,15,4,0,122,15,64,2,27,14,180,6,15,32,2,65,15,220,1,77,14,68,0,15,56,0,35,15,184,0,9,15,68,2,213,15,64,2,31,31,1,64,2,78,15,156,1,8,14,24,0,15,92,1,84,15,124,0,0,15,44,2,1,15,16,3,9,15,72,2,57,15,64,2,255,3,15,156,1,25,14,72,1,15,104,1,2,15,132,6,94,15,116,5,53,15,144,0,16,15,64,2,160,15,0,9,87,15,132,4,0,15,44,0,9,15,192,8,106,15,72,2,0,15,116,5,50,15,68,2,145,14,72,11,15,0,9,103,15,88,4,12,15,248,10,126,15,16,2,4,15,68,2,38,14,192,0,15,68,2,18,15,64,11,246,14,12,2,15,124,6,67,15,48,2,40,15,204,6,117,15,0,9,255,7,15,176,6,8,15,224,5,33,15,32,2,65,15,244,0,117,15,0,9,255,3,14,20,4,15,216,3,14,15,100,4,21,15,60,2,142,14,164,0,15,68,2,14,15,0,9,156,14,44,0,15,136,3,85,14,8,2,15,144,1,18,14,132,4,15,124,4,160,31,255,64,20,255,21,15,100,1,44,15,180,6,1,15,4,0,177,15,64,20,205,15,4,0,255,103,15,0,9,160,15,64,2,255,55,15,228,9,12,15,72,2,25,15,0,9,157,15,64,2,255,59,14,44,14,15,236,11,34,15,64,2,255,223,14,108,4,15,108,16,46,15,64,11,145,15,64,2,255,59,15,56,2,4,15,64,2,37,15,0,9,255,219,15,248,1,4,15,64,2,41,15,192,6,255,215,31,83,40,32,3,15,0,9,255,255,8,15,40,11,0,15,68,2,17,15,64,2,29,15,0,9,255,159,14,232,1,15,24,39,35,14,56,2,14,200,31,15,0,9,255,194,15,24,2,8,15,152,25,33,15,80,36,49,15,192,6,206,53,170,204,255,4,0,15,156,6,217,31,255,48,41,43,15,36,27,25,15,64,2,194,8,56,2,0,4,0,34,232,241,4,0,15,72,2,92,15,48,41,206,15,128,4,193,15,56,2,1,47,232,241,68,2,186,15,188,51,226,15,0,9,0,15,64,2,58,14,116,4,15,64,2,199,15,224,1,44,15,196,33,25,15,128,4,210,15,60,2,21,47,232,241,16,9,10,15,88,2,214,14,252,6,15,72,2,14,15,64,2,198,15,60,2,7,15,132,4,207,31,255,48,41,55,15,128,31,226,15,60,2,7,15,132,4,18,15,148,24,226,31,83,48,41,55,15,64,2,230,14,132,4,15,124,4,223,15,48,7,52,15,64,2,255,179,15,244,4,104,15,64,2,255,255,40,14,76,2,15,64,11,162,15,64,2,255,251,53,67,49,61,4,0,15,192,15,39,15,64,2,255,255,33,14,68,2,14,80,2,15,64,2,255,255,15,14,68,2,15,76,20,22,15,64,2,255,255,40,14,140,13,15,192,6,255,255,1,15,80,11,255,58,14,60,18,15,64,11,182,15,64,2,255,91,12,68,2,15,64,2,149,15,248,1,1,14,64,2,15,68,2,5,15,12,9,255,52,15,64,2,189,8,252,1,15,4,0,23,15,4,9,255,48,8,72,2,15,64,2,173,15,72,2,21,12,36,0,14,136,13,15,196,24,255,140,15,64,2,101,15,40,0,11,15,124,4,255,148,15,64,2,81,15,192,33,19,15,60,2,255,52,15,64,2,235,15,180,6,6,15,64,11,255,227,15,64,2,53,47,170,204,156,13,10,15,12,9,255,111,15,64,2,117,15,4,9,3,15,36,18,18,15,64,2,255,255,48,14,68,2,15,192,24,255,120,53,71,49,60,4,0,15,64,11,71,15,104,20,50,15,64,2,255,235,15,128,4,7,15,68,2,26,15,4,18,255,95,15,64,2,121,15,68,2,31,15,72,18,18,15,64,2,255,219,15,184,22,17,15,80,2,32,15,64,2,255,223,14,24,9,15,68,2,46,15,64,2,255,99,53,72,50,59,4,0,15,44,0,1,15,220,1,0,15,212,6,137,15,64,2,255,147,47,170,204,204,6,85,15,64,2,255,200,47,170,204,64,2,83,15,224,31,11,15,64,2,231,63,0,163,255,64,2,174,15,68,2,53,31,255,200,76,208,8,4,0,0,252,1,15,64,2,49,14,68,2,15,64,2,159,15,68,2,47,15,60,13,219,34,0,163,52,1,14,68,2,15,68,0,31,4,72,0,15,64,2,173,47,170,204,60,2,255,20,8,88,5,46,0,163,68,2,15,64,2,233,47,170,204,56,2,255,12,4,248,1,15,4,0,59,15,64,2,111,38,75,53,4,0,15,64,2,15,15,248,44,33,15,60,2,75,14,140,22,15,64,2,223,14,68,2,15,64,2,179,4,28,13,15,128,4,53,14,240,4,15,56,36,6,15,60,2,129,15,64,2,255,31,15,212,6,16,15,60,2,58,12,72,2,15,60,2,213,14,68,2,15,192,6,203,15,68,2,0,15,168,56,69,15,60,2,113,15,64,2,255,47,15,248,1,11,15,160,2,45,15,136,4,14,15,64,2,255,63,53,78,48,57,4,0,15,64,2,61,14,16,2,15,4,0,235,15,232,1,1,49,2,0,0,4,0,15,28,2,3,15,52,0,42,15,64,2,129,15,4,0,255,39,47,0,163,64,2,218,15,0,117,255,63,14,188,6,15,196,6,159,15,64,2,45,63,199,195,194,4,0,255,35,14,60,2,15,68,2,86,15,128,4,255,179,15,64,2,245,63,156,118,131,128,4,255,159,14,68,2,15,64,2,59,53,76,48,57,4,0,15,64,2,17,0,12,10,15,168,1,133,0,160,0,14,228,2,15,60,2,147,63,54,82,171,4,0,18,15,72,2,40,15,64,2,114,4,68,2,14,72,2,15,56,2,111,8,160,0,15,124,4,245,14,68,2,15,64,2,102,15,164,1,130,12,60,2,14,68,2,15,60,2,106,15,64,2,255,3,8,216,16,15,244,1,44,15,56,2,62,14,36,5,15,60,2,247,14,68,2,15,128,4,103,4,164,1,14,4,2,15,108,6,79,15,60,2,16,14,228,2,15,60,2,128,15,156,20,51,15,64,2,119,53,77,55,58,4,0,15,64,2,17,12,4,0,15,240,1,40,15,56,2,50,15,68,2,1,4,16,0,14,188,54,15,4,0,71,15,56,2,27,15,72,2,53,15,64,2,99,53,73,47,57,4,0,15,64,2,16,15,4,0,70,15,204,4,8,15,96,0,49,15,124,4,118,14,40,25,15,68,2,151,15,64,2,73,8,236,3,15,4,0,133,15,124,4,107,15,108,27,85,15,64,2,167,15,68,2,144,15,64,2,255,135,15,4,0,157,4,240,1,15,32,9,63,15,64,2,109,15,0,9,18,15,64,2,255,47,15,156,4,79,15,64,2,127,14,128,22,15,64,2,255,60,15,72,2,9,0,64,1,8,8,0,15,64,2,255,255,11,4,68,2,12,44,2,14,60,2,15,132,4,13,15,64,2,255,160,0,40,1,15,68,2,65,15,60,2,13,63,81,135,0,64,2,12,15,60,2,171,15,64,2,5,53,70,46,57,4,0,15,64,2,173,38,0,163,180,1,15,68,2,41,0,44,1,8,12,0,4,64,2,8,68,2,12,140,4,12,64,2,5,116,1,15,64,2,60,63,79,87,95,64,2,255,47,63,168,119,255,128,4,26,8,16,2,15,64,2,33,12,4,0,8,80,2,4,16,0,8,68,2,8,28,0,12,200,1,42,81,135,72,46,12,16,0,15,60,2,68,15,64,2,246,34,168,119,172,1,15,68,2,9,0,148,1,15,68,2,0,15,20,0,26,4,68,0,0,16,0,0,12,0,15,92,1,13,4,64,2,12,40,0,12,232,46,15,64,2,25,0,48,2,8,4,0,15,60,2,21,0,84,0,15,64,2,17,0,40,0,4,4,0,15,28,0,8,15,128,4,218,8,252,1,4,0,1,8,72,4,15,48,2,5,8,60,1,8,60,0,8,64,2,15,72,2,13,8,40,0,0,124,1,14,40,49,14,224,1,4,44,0,15,76,2,1,0,16,25,8,164,18,14,120,2,15,116,4,3,8,252,1,15,4,0,1,12,32,2,15,4,0,16,15,64,2,6,53,68,46,57,4,0,53,80,58,58,4,0,15,64,2,137,0,208,0,63,54,228,0,32,0,10,8,60,2,15,96,4,4,15,172,6,14,14,116,1,6,64,2,15,84,2,5,4,48,0,4,12,9,14,68,2,6,64,2,15,232,1,13,12,64,2,14,120,2,14,72,0,15,12,2,21,15,68,2,33,15,64,2,181,12,60,2,12,16,0,14,192,6,10,220,8,12,36,4,12,132,4,12,72,4,14,180,3,15,208,3,3,49,77,0,255,4,0,15,156,13,0,15,4,0,34,15,64,2,0,15,4,0,57,15,64,2,222,4,40,2,15,124,4,17,15,24,0,5,4,48,2,0,152,8,8,20,0,15,228,5,0,15,184,3,22,4,56,2,47,77,0,224,15,7,47,77,0,4,0,23,15,64,2,255,74,4,4,0,15,92,2,0,15,64,2,10,4,28,0,42,2,0,28,2,47,54,228,228,5,23,15,132,4,0,14,120,4,15,112,4,0,15,68,2,9,4,144,6,15,28,0,1,12,64,2,63,83,37,126,64,2,255,11,14,88,4,14,60,2,15,136,4,5,8,8,2,15,20,2,5,8,96,2,4,80,0,15,76,1,37,14,240,1,15,64,2,31,4,188,8,46,39,236,68,2,15,64,2,5,0,4,0,14,172,4,15,64,2,103,53,62,45,57,4,0,15,64,2,153,14,4,0,15,64,2,3,12,180,4,14,64,2,15,60,2,51,8,68,2,15,64,2,1,12,252,1,12,52,13,15,68,2,1,12,192,15,8,64,0,4,136,0,15,64,2,121,53,77,58,62,4,0,15,64,2,0,15,12,11,98,12,36,2,14,64,2,15,76,2,10,15,44,0,18,47,54,228,60,2,51,15,4,0,25,15,236,19,3,15,40,9,30,15,64,2,186,0,68,3,15,212,8,37,15,104,4,4,15,4,0,38,14,60,2,15,64,2,43,8,244,3,15,68,2,69,14,160,6,15,60,2,10,15,64,2,186,34,39,236,188,5,14,68,2,15,88,13,27,15,64,2,9,0,56,20,14,84,2,15,4,0,59,15,112,4,0,15,4,0,74,15,60,2,25,8,144,0,15,64,2,65,47,54,228,128,4,151,15,104,4,29,8,184,24,15,68,2,77,46,54,228,60,2,15,4,0,109,14,60,2,15,64,2,171,14,236,10,14,184,19,15,96,15,9,47,81,135,168,6,31,34,168,119,60,1,15,64,2,81,8,188,1,14,20,0,15,64,2,103,14,236,1,15,12,2,23,47,54,228,64,2,135,15,156,17,13,8,64,2,14,16,11,15,216,8,25,15,60,2,91,8,68,2,15,64,2,8,15,96,2,42,15,60,0,9,46,54,228,104,13,15,100,14,3,15,64,2,51,12,104,1,15,64,2,73,15,184,8,0,15,52,22,5,14,20,11,15,4,0,164,12,240,1,4,156,4,14,160,4,15,60,2,23,14,60,0,6,56,2,14,212,1,15,64,2,39,14,56,0,15,64,2,7,47,54,228,128,4,19,53,58,44,57,4,0,53,76,59,66,4,0,15,64,2,25,8,192,19,15,228,19,12,15,64,2,214,14,52,0,15,40,0,2,15,240,4,18,31,54,252,11,32,15,24,0,3,15,40,19,9,15,64,2,79,15,116,4,4,15,64,2,6,8,132,0,14,124,4,15,4,0,231,14,184,4,15,48,7,6,15,220,7,34,47,81,135,28,19,25,15,64,2,95,15,192,0,15,15,184,8,5,15,4,0,255,16,14,52,2,15,88,14,63,14,184,1,14,0,7,15,64,2,91,15,48,2,5,15,4,0,255,128,15,120,4,5,47,81,135,64,2,47,53,74,60,70,4,0,15,64,2,3,15,4,0,255,148,15,16,11,9,47,54,228,64,2,255,255,17,47,54,228,12,2,1,15,128,4,31,31,54,192,15,16,53,56,44,57,4,0,15,64,2,255,186,47,54,228,64,2,43,14,64,20,15,64,2,255,224,14,144,4,15,116,22,5,15,64,2,255,255,17,15,68,2,13,47,54,228,64,2,255,252,14,76,17,15,232,8,5,15,64,2,255,255,13,14,12,0,15,128,4,255,255,29,47,54,228,124,31,17,15,64,2,255,255,5,14,4,0,15,64,2,255,255,25,47,54,228,64,2,31,47,54,228,64,2,43,53,73,61,74,4,0,15,64,2,45,0,148,41,15,64,2,255,138,47,54,228,64,2,135,8,136,71,15,64,2,255,122,46,54,228,64,2,15,128,4,255,255,11,31,54,252,35,18,14,128,22,15,64,2,85,0,48,47,15,128,31,7,15,84,2,255,120,14,240,35,15,64,2,111,8,176,51,15,212,6,255,154,14,88,2,15,24,18,13,15,128,4,75,47,81,135,212,6,255,160,14,64,2,15,12,0,7,8,44,0,15,64,2,49,15,16,14,29,14,180,0,14,64,2,15,28,9,255,134,13,0,4,15,64,2,52,47,54,228,12,0,9,15,64,2,255,152,15,160,1,11,15,64,2,71,15,76,34,17,47,54,228,4,0,255,192,15,128,4,57,15,60,7,7,15,64,2,255,184,47,81,135,192,6,95,47,81,135,128,4,255,255,17,15,64,11,7,15,64,2,255,255,17,15,4,0,19,15,64,2,255,243,15,4,0,255,253,15,64,2,255,255,255,255,147,63,59,51,73,64,2,255,255,40,0,60,2,147,67,66,77,80,45,0,0,0,5,4,0,41,8,0,1,0,17,13,4,0,6,2,0,32,0,13,18,0,0,53,0,83,100,1,0,0,42,49,0,8,53,0,31,8,1,0,41,19,2,1,0,13,25,0,33,15,15,4,0,35,15,15,12,0,69,2,2,15,15,43,0,32,2,2,57,0,16,8,2,0,17,8,33,0,5,2,0,0,29,0,35,15,15,43,0,16,8,32,0,3,4,0,0,42,0,47,15,15,42,0,8,1,84,0,3,47,0,8,82,0,44,15,8,126,0,40,8,2,84,0,3,4,0,33,8,15,96,0,9,210,0,6,130,0,31,2,19,1,24,15,108,1,95,2,0,1,22,8,180,0,1,1,0,0,242,0,2,125,1,4,57,1,5,205,0,3,123,1,3,83,0,1,70,1,4,137,1,2,141,1,5,159,1,15,42,0,3,5,217,1,41,8,8,82,0,44,2,8,126,0,40,8,15,84,0,4,83,1,2,255,1,9,210,0,39,15,15,126,0,15,108,1,26,23,84,104,1,15,108,1,6,3,249,1,3,161,0,40,8,8,8,0,4,24,0,6,40,0,15,92,0,27,35,15,15,6,0,3,76,2,8,8,0,4,24,0,6,40,0,15,92,0,27,0,1,0,73,14,14,14,14,8,0,1,10,0,23,14,24,0,0,20,0,2,8,0,47,8,14,92,0,27,0,210,1,9,8,0,1,10,0,23,15,24,0,3,151,1,2,208,0,97,67,80,65,76,0,3,75,0,255,81,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,12,18,35,53,41,83,94,61,82,42,121,74,152,83,60,119,114,109,209,206,207,255,180,193,255,40,57,255,181,9,191,214,42,10,214,104,63,159,230,162,118,159,255,140,168,200,161,130,2,4,8,3,0,88,17,9,3,0,15,48,0,29,9,54,0,63,3,5,10,48,0,10,12,60,0,14,48,0,15,150,0,11,56,3,5,10,3,0,254,81,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,52,35,31,41,31,53,54,45,62,42,74,77,105,48,45,95,72,74,182,161,122,229,183,113,206,40,69,233,138,38,126,218,51,1,158,95,33,85,161,151,80,98,255,121,99,208,135,109,128,1,15,3,0,251,0,100,3,83,101,0,0,0,9,4,0,47,8,0,1,0,3,52,7,7,7,8,0,36,7,7,8,0,47,7,7,9,0,1,5,36,0,6,54,0,3,69,0,15,109,0,19,14,91,0,15,9,0,26,15,109,0,28,3,2,0,15,18,0,44,15,109,0,14,81,16,16,16,16,0,4,0,32,7,7,5,0,4,9,0,2,22,0,25,16,41,0,1,4,0,3,36,0,23,16,18,0,15,218,0,27,15,73,0,16,6,127,0,10,145,0,0,9,0,4,181,0,15,109,0,54,15,2,1,17,0,109,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,65,14,14,14,0,2,0,18,14,4,0,17,0,8,0,13,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,239,19,13,137,15,19,13,139,15,23,13,12,0,15,89,0,43,9,233,15,10,12,0,15,90,0,52,1,167,0,25,13,12,0,15,180,0,55,12,190,0,7,1,0,15,63,3,33,4,92,1,5,172,0,6,196,0,9,95,4,5,124,4,15,1,0,60,2,185,4,15,90,0,67,31,0,90,0,70,47,14,14,90,0,72,14,31,6,15,147,5,48,15,91,5,122,4,18,3,2,196,2,57,5,0,0,16,0,15,44,3,47,3,74,0,22,5,32,3,14,90,0,15,89,0,36,2,8,0,15,90,0,58,9,74,0,8,180,0,47,13,13,104,1,56,20,5,238,3,8,115,0,15,44,7,255,182,15,1,0,61,47,0,0,126,9,255,239,2,7,0,12,8,0,31,0,69,5,56,47,0,0,70,5,58,11,164,0,6,235,4,15,84,6,55,14,180,0,15,126,9,43,12,143,5,12,112,1,25,0,126,9,31,0,126,9,69,31,14,90,0,52,15,180,0,86,14,233,14,15,126,9,191,1,66,12,3,4,0,8,37,2,15,202,8,51,8,244,12,4,118,9,15,90,0,52,45,13,13,124,3,15,180,0,64,5,230,3,15,90,0,54,11,57,4,14,90,0,15,1,0,55,15,126,9,255,255,255,40,5,20,5,3,161,33,4,28,5,6,44,5,10,108,4,2,20,8,22,5,28,0,12,84,5,6,42,0,47,0,13,88,17,2,42,13,13,116,17,46,0,13,172,13,4,24,0,5,12,0,15,180,0,6,12,28,5,5,110,17,12,180,0,3,19,15,5,90,0,14,249,18,15,22,18,2,8,204,0,15,180,0,1,31,0,180,0,21,5,34,0,10,194,18,42,13,0,128,1,26,0,19,15,7,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,178,37,9,128,0,0,1,1,0,0,1,7,4,0,19,1,8,0,35,7,1,8,0,27,7,8,0,25,1,40,0,1,56,0,15,92,0,9,34,7,1,38,0,1,49,0,1,8,0,34,1,7,8,0,27,7,8,0,4,24,0,4,40,0,2,56,0,0,92,0,17,55,216,33,15,139,42,3,2,202,5,8,182,7,39,13,13,7,0,0,63,0,80,20,5,0,0,80,231,32,15,183,32,0,18,6,156,34,18,1,1,0,9,10,0,79,7,7,7,5,30,0,7,9,40,0,31,6,80,0,255,255,127,6,60,0,15,10,0,28,15,80,0,255,143,5,1,0,31,5,10,0,40,21,6,19,6,19,48,91,5,29,4,28,5,8,142,18,25,13,160,18,15,56,0,11,19,12,6,0,19,12,12,0,21,12,18,0,4,39,6,31,16,56,0,0,5,58,13,5,192,32,4,238,13,6,126,0,39,13,13,14,0,11,136,31,15,92,0,9,3,132,40,4,9,0,2,7,0,3,37,40,20,7,51,40,23,7,14,0,35,7,7,20,0,2,51,0,15,184,0,11,22,13,93,15,1,88,12,5,180,0,1,47,14,9,36,15,7,242,19,19,13,197,0,15,184,0,11,1,132,0,4,186,41,8,180,0,5,194,0,4,182,0,5,184,0,5,29,0,17,7,151,7,19,60,84,0,12,59,7,48,13,1,1,3,0,29,13,8,0,33,13,5,3,0,4,8,0,15,68,0,9,0,179,7,3,140,4,10,8,0,33,7,6,3,0,128,7,7,6,7,7,6,7,7,99,70,73,76,0,0,0,0,76,53,0,0,112,111,100,47,102,95,112,105,99,111,56,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,8,0,0,241,24,67,80,79,68,68,0,0,0,1,0,0,0,47,104,111,109,101,47,122,101,112,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,102,95,12,0,1,37,0,15,1,0,8,247,2,67,66,77,80,35,0,0,0,3,0,0,0,5,0,0,0,8,28,0,66,255,255,255,255,5,0,1,12,0,15,43,0,11,79,0,0,255,0,43,0,24,31,0,43,0,19,2,128,0,15,129,0,17,3,169,0,15,43,0,16,0,123,0,18,255,128,0,15,86,0,15,47,0,255,129,0,21,4,216,0,15,129,0,18,4,85,0,15,129,0,2,15,174,1,7,15,43,0,52,47,255,255,215,0,25,2,5,1,15,172,0,58,2,125,0,15,129,0,22,0,176,1,31,0,43,0,20,6,1,0,15,172,0,12,5,40,0,15,88,1,4,14,9,3,15,43,0,18,5,2,0,15,43,0,18,31,0,43,0,22,2,3,0,15,43,0,14,21,255,92,1,47,0,0,219,2,15,6,94,1,15,4,2,16,2,220,2,15,133,2,16,4,225,3,15,178,3,18,2,7,2,31,255,219,2,17,31,255,6,3,25,2,92,1,15,43,0,19,1,47,1,15,172,0,13,47,0,255,219,2,18,7,0,2,14,172,0,15,49,3,38,24,0,129,1,15,172,0,54,6,45,2,1,6,0,15,135,3,15,5,48,2,15,129,0,12,4,6,1,31,0,86,0,14,2,169,2,47,255,255,47,2,14,7,84,1,15,131,1,18,47,0,255,4,2,18,23,255,92,1,15,215,0,15,4,173,2,15,215,0,3,14,137,3,47,0,255,4,2,23,14,135,3,15,43,0,2,3,56,6,15,90,2,24,31,255,51,4,15,5,1,1,15,16,8,17,4,56,4,15,229,7,17,3,8,1,15,57,7,15,5,95,2,15,100,7,16,31,255,94,4,20,7,185,4,15,227,6,20,31,255,16,8,16,7,15,6,15,16,8,17,15,129,0,21,31,255,86,0,21,15,215,0,21,4,222,2,3,6,0,15,43,0,21,47,255,0,47,2,16,3,54,3,31,0,100,7,16,5,6,0,15,88,1,12,5]);fileData0.push.apply(fileData0,[13,7,14,133,2,15,4,2,5,15,221,3,16,4,176,2,47,0,0,188,8,15,15,10,5,20,5,183,4,14,180,4,15,86,0,5,31,0,129,0,18,21,255,175,0,31,255,145,8,17,31,255,86,0,21,3,43,0,14,94,4,15,172,0,2,15,215,0,19,47,255,0,45,1,24,30,255,8,4,15,43,0,14,15,18,9,17,4,48,1,15,43,0,14,6,152,11,15,20,10,19,14,86,0,15,174,1,9,31,0,90,2,16,14,217,1,15,133,2,14,15,178,3,16,3,67,11,15,90,2,21,47,255,0,172,0,20,3,7,0,15,174,1,21,47,0,255,192,10,23,15,90,2,23,15,86,0,22,31,255,176,2,19,5,150,8,15,90,2,17,31,255,2,1,22,31,0,184,6,18,7,10,6,31,255,10,5,17,31,255,96,5,17,10,101,7,15,149,10,12,15,192,10,22,10,224,0,31,67,61,9,14,15,75,16,27,14,49,3,15,14,7,5,15,137,4,17,47,255,255,221,3,21,8,175,3,15,243,14,20,3,235,7,15,43,0,22,47,0,0,172,0,20,15,188,8,15,15,45,1,25,15,104,9,25,6,43,0,15,239,12,13,15,96,5,21,9,229,8,15,159,15,18,14,53,5,15,174,1,4,15,43,0,19,6,93,5,14,96,5,15,133,2,7,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,5,101,10,14,94,4,15,174,1,8,15,241,13,16,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,19,5,51,1,15,151,11,21,15,237,11,20,47,0,255,210,19,24,15,14,7,15,47,255,0,88,1,22,5,177,5,15,145,8,17,5,196,12,15,10,5,4,15,35,16,4,0,43,0,95,55,0,0,0,7,208,18,15,15,1,0,1,15,63,0,10,15,2,0,15,15,63,0,11,9,132,0,8,197,8,4,70,3,15,63,0,9,7,136,18,7,68,22,3,246,19,15,63,0,15,5,91,6,2,57,0,15,14,0,1,15,126,0,10,4,152,6,24,255,131,12,5,161,1,15,63,0,16,5,55,0,27,255,253,16,3,28,0,15,252,0,12,47,0,255,56,0,4,3,155,0,15,126,0,19,5,113,1,4,124,1,14,126,0,15,189,0,7,7,245,0,7,126,0,31,255,252,0,24,6,255,3,7,65,9,15,248,1,21,27,255,248,1,31,0,248,1,19,43,255,255,39,2,5,181,1,15,244,2,17,8,232,0,6,7,2,9,16,1,15,181,2,26,7,0,25,15,244,2,17,7,54,3,31,0,248,1,33,15,37,4,4,6,1,0,15,189,0,20,7,122,0,3,219,16,15,189,0,29,7,135,1,25,255,74,19,15,248,1,12,10,238,0,10,10,1,15,55,2,20,10,189,0,15,122,1,22,5,221,2,4,229,5,25,255,53,22,15,63,0,19,9,135,16,2,227,16,15,122,1,26,11,82,21,15,244,2,26,15,14,0,2,15,232,5,23,15,7,0,2,15,232,5,16,14,177,1,22,255,69,22,2,12,0,15,169,5,16,6,92,4,7,109,13,47,0,255,122,1,16,5,156,3,3,155,5,8,186,3,14,236,4,15,181,2,4,27,255,197,0,6,232,10,31,0,252,0,15,25,255,237,6,6,152,25,31,255,244,2,15,8,69,23,6,114,22,11,217,25,15,110,4,10,12,123,1,24,255,230,6,15,181,2,14,3,253,0,7,241,4,3,80,1,14,228,6,15,251,22,7,8,120,0,9,128,14,15,189,0,19,8,4,14,4,163,25,15,110,4,26,29,255,77,14,15,169,5,16,15,7,0,2,15,55,2,33,7,61,1,4,59,1,15,126,0,17,7,27,30,28,255,189,0,15,161,7,17,7,245,0,6,71,0,5,64,0,15,252,0,16,7,67,0,40,255,255,3,1,15,110,4,16,8,52,1,43,255,255,18,1,31,0,232,5,19,13,127,1,5,140,2,15,63,0,20,9,160,5,15,181,2,21,11,184,0,31,255,118,2,28,5,135,8,5,59,1,8,133,2,15,189,0,15,6,44,3,4,237,4,7,246,4,31,0,169,5,14,43,0,255,46,6,7,187,13,5,187,12,15,126,0,10,11,244,16,6,63,27,14,248,1,15,118,2,4,7,216,5,40,0,255,41,5,47,0,255,244,2,16,5,116,20,11,14,0,15,106,5,13,24,255,96,4,12,110,4,15,51,3,19,15,191,3,0,6,252,6,47,0,255,90,9,18,43,255,255,77,29,5,59,2,15,98,7,12,12,203,11,27,0,192,30,15,27,9,21,28,255,179,6,6,138,15,15,78,12,9,29,0,118,4,6,244,3,15,11,13,17,11,56,2,7,144,1,15,51,3,16,15,25,8,0,7,146,13,31,255,39,6,19,29,255,14,0,31,255,236,4,17,4,142,7,8,120,1,6,183,1,47,255,0,177,3,17,41,0,0,193,12,10,51,7,15,70,14,21,13,196,0,14,161,7,15,102,6,6,10,6,2,15,244,2,22,11,147,7,9,229,5,15,106,5,25,11,245,2,47,255,255,185,1,18,40,0,255,203,14,9,16,10,7,104,17,15,126,0,30,14,55,2,15,236,4,26,15,157,8,23,24,0,29,7,41,255,255,171,5,14,70,14,15,252,0,3,9,53,4,6,68,2,15,122,1,2,15,201,13,7,11,47,7,15,7,14,21,15,250,2,5,15,70,14,21,9,102,4,6,191,15,15,63,0,26,7,253,0,15,66,15,26,7,192,2,28,255,80,1,15,126,0,13,44,255,255,185,15,15,240,3,23,10,216,9,47,255,0,51,3,38,13,119,0,15,196,14,17,11,209,9,5,202,0,6,238,6,15,114,3,19,8,242,1,7,145,11,31,255,252,0,25,14,14,0,15,149,10,20,12,209,10,47,255,0,43,5,29,5,187,22,14,244,2,15,55,2,21,9,7,0,15,122,1,5,15,146,11,14,31,0,35,7,21,7,93,8,9,79,11,5,211,10,15,189,0,28,8,100,7,14,70,14,15,248,1,18,15,15,12,27,8,34,4,15,189,0,35,5,38,4,28,255,190,0,15,172,20,18,14,81,13,15,173,4,19,8,153,29,15,189,0,32,7,93,5,15,126,0,33,47,0,255,231,7,4,5,129,1,15,70,14,32,15,126,0,23,15,196,0,1,9,203,0,15,118,2,26,9,242,18,14,86,10,15,189,0,13,5,57,20,47,0,255,165,6,21,31,255,6,14,1,15,39,6,19,7,28,9,12,12,12,3,25,0,15,255,15,18,8,6,14,6,68,14,15,196,14,24,15,118,2,37,31,0,71,12,4,3,8,0,15,169,5,32,8,9,3,15,98,7,32,15,66,15,23,7,192,15,9,77,0,3,14,0,15,58,17,19,8,159,5,5,4,1,15,160,23,18,15,183,0,2,6,223,24,15,78,12,37,4,15,0,15,106,5,39,47,255,0,110,4,23,14,7,0,14,227,22,15,11,13,6,6,49,0,12,14,0,15,121,17,22,15,254,3,0,14,220,8,15,35,7,2,11,7,0,31,0,70,14,24,31,255,7,0,3,15,125,16,18,15,49,1,0,7,16,16,15,165,6,27,13,25,13,15,43,5,21,47,255,0,35,7,42,15,186,1,3,47,0,255,94,8,27,31,0,43,5,32,6,32,4,14,188,0,15,63,0,19,14,51,3,15,78,12,28,11,204,0,31,255,47,4,22,10,58,3,12,64,0,15,110,4,25,9,84,11,15,15,12,25,6,215,9,3,143,9,160,0,0,0,0,0,0,255,0,0,0]);Module["FS_createDataFile"]("/","data.pod",fileData0,true,true,false)}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({"files":[]})})();var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=3196624,DYNAMIC_BASE=8439504,DYNAMICTOP_PTR=3196592;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[function(){if(typeof _cartdat!=="undefined")return 1;return 0},function(){return _cartdat.length/32768},function(){_cdpos=_cdpos+1;return _cartdat[_cdpos-1]},function($0){ciii=$0;iii=0},function(){iii=iii+1;return _cartname[ciii].charCodeAt(iii-1)},function(){let stateObj={load_param_data:false};history.pushState(stateObj,"PICO-8","?")},function(){Module.pico8Reset=function(){codo_command=1};Module.pico8ToggleSound=function(){codo_command=3};Module.pico8TogglePaused=function(){codo_command=4};Module.pico8SetPaused=function(p){codo_command=5;codo_command_p=0;if(p)codo_command_p=1};Module.pico8ToggleControlMenu=function(){codo_command=7};Module.pico8DragOver=function(){codo_command=10};Module.pico8DragStop=function(){codo_command=11}},function(){function mkdir_0(d){try{stat=FS.stat(d)}catch(e){FS.mkdir(d)}}mkdir_0("/user_data");FS.mount(IDBFS,{},"/user_data");FS.syncfs(true,function(err){if(!err){console.log("codo: mounted filesystem.\n");codo_mounted_filesystem=1;mkdir_0("/user_data/cdata");mkdir_0("/user_data/cstore");mkdir_0("/user_data/carts");mkdir_0("/user_data/backup");mkdir_0("/user_data/plates");mkdir_0("/user_data/bbs");mkdir_0("/user_data/bbs/carts");mkdir_0("/user_data/bbs/labels")}else{console.log("** could not mount filesystem\n");console.log(err)}})},function(){var val=0;if(window.location.pathname.indexOf("widget.php")>=0)val=1;return val},function(){var val=0;if(window.location.pathname.indexOf("pico-8.php")>=0)val=1;return val},function($0,$1,$2,$3,$4,$5,$6,$7){if(typeof pico8_state!=="undefined"){pico8_state.is_paused=$0;pico8_state.sound_volume=$1;pico8_state.frame_number=$2;pico8_state.has_focus=$3;pico8_state.show_dpad=$4;pico8_state.request_pointer_lock=$5;pico8_state.require_page_navigate_confirmation=$6;pico8_state.shutdown_requested=$7}},function(){var val=0;if(typeof codo_command!=="undefined"){val=codo_command;codo_command=0}return val},function(){var val=0;if(typeof codo_command_p!=="undefined"){val=codo_command_p;codo_command_p=0}return val},function(){button_i=0},function(){var val=-1;if(typeof pico8_buttons!=="undefined"){val=pico8_buttons[button_i];button_i++}return val},function(){var val=0;if(typeof pico8_gamepads!=="undefined"){val=pico8_gamepads.count}return val},function(){if(typeof on_module_load!=="undefined"){if(on_module_load)on_module_load()}},function($0,$1,$2,$3){download_browser_file(UTF8ToString($0,$1),UTF8ToString($2,$3))},function($0,$1,$2,$3,$4,$5){if(typeof p8img!=="undefined"){p8img.src=""}p8img=document.createElement("img");p8img.src=UTF8ToString($0,$1);p8img.style="width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;";if(typeof p8imgholder==="undefined"||!p8imgholder){p8imgholder=document.createElement("div");p8imgholder.style.cssText="min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);";document.body.appendChild(p8imgholder)}if(p8imgholder){while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);var dismiss=document.createElement("div");dismiss.style.cssText="display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right";dismiss.addEventListener("click",function(){p8img.src="";while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);p8imgholder.style.display="none"},false);dismiss.innerHTML="X";p8imgholder.appendChild(dismiss);p8imgholder.appendChild(p8img);var info=document.createElement("div");info.innerHTML='<br> <font style="color:#bbb; font-size:8pt"><center> (right-click to save) </center></font>';p8imgholder.appendChild(info);if(p8imgholder.style.display=="none")p8imgholder.style.display=""}},function(){jsString=p8_dropped_cart;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap,lengthBytes);return stringOnWasmHeap},function(){jsString=p8_dropped_cart_name;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap2=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap2,lengthBytes);return stringOnWasmHeap2},function($0,$1){if(typeof pico8_state!=="undefined"){if(typeof pico8_state.system_messages==="undefined")pico8_state.system_messages=new Array;pico8_state.system_messages.push(UTF8ToString($0,$1))}},function($0){var str=window.location.hostname;return allocate(intArrayFromString(str),"i8",ALLOC_NORMAL)},function($0,$1){if(typeof pico8_gpio!=="undefined")pico8_gpio[$0]=$1},function($0){var val=0;if(typeof pico8_gpio!=="undefined")val=pico8_gpio[$0];return val},function(){FS.syncfs(false,function(err){})},function(){var val=0;if(typeof codo_mounted_filesystem!=="undefined")val=1;return val},function(){return typeof p8_touch_detected==="undefined"||!p8_touch_detected?0:1},function(){return document.hidden?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];document.addEventListener("keydown",function(e){var val=-1;if(e.key.length==1){val=e.key.charCodeAt(0)}else{if(e.key=="Tab")val=9;if(e.key=="Enter")val=13;if(e.key=="Backspace")val=8;if(e.key=="Escape")val=27;if(val==-1){}}var el=document.getElementById("codo_textarea");codo_key_buffer.push(val)})},function(){addEventListener("mousedown",function(event){if(typeof pico8_state!=="undefined")if(event.target.tagName.toLowerCase()!="canvas"){pico8_state.clicked_outside=true}})},function(){document.addEventListener("wheel",function(e){dx=e.deltaX;if(dx<0)dx=-1;if(dx>0)dx=1;if(e.deltaMode==2)dx*=4;if(typeof codo_wheel_dx!=="undefined")codo_wheel_dx-=dx;dy=e.deltaY;if(dy<0)dy=-1;if(dy>0)dy=1;if(e.deltaMode==2)dy*=4;if(typeof codo_wheel_dy!=="undefined")codo_wheel_dy-=dy})},function($0){function audio_log(msg){if(window.console&&window.console.log){window.console.log("[codo] audio_init_webaudio "+msg)}}audio_log("audio_init");var codo_audio_context;if(typeof Module==="undefined")audio_log(" *** Module undefined");else if(typeof Module.ccall==="undefined")audio_log(" **** Module.ccall undefined");else{var webAudioAPI=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;if(webAudioAPI){if(typeof pico8_audio_context!=="undefined"){codo_audio_context=pico8_audio_context;audio_log("found pico8_audio_context")}else if(typeof voxatron_audio_context!=="undefined"){codo_audio_context=voxatron_audio_context;audio_log("found voxatron_audio_context")}else{codo_audio_context=new webAudioAPI;audio_log("creating own audio context")}if(codo_audio_context){audio_log("Sample Rate: "+codo_audio_context.sampleRate);audio_log("Buffer Size: "+$0);node=codo_audio_context.createScriptProcessor($0,1,1);node.onaudioprocess=function(e){var data=e.outputBuffer.getChannelData(0);var r=22050/codo_audio_context.sampleRate;var len0=Math.floor(data.length*r);var len1=data.length;var ptr=Module.ccall("mix_0","number",["number","number"],[len0,len1]);for(var j=0;j<data.length;j++)data[j]=Module.getValue(ptr+j*2,"i16")/32768};node.connect(codo_audio_context.destination)}else{audio_log("** failed to create codo_audio_context")}}else{audio_log("** webAudioAPI not found")}}},function(){return document.pointerLockElement?1:0},function(){var ret=0;if(typeof pico8_mouse!=="undefined"&&pico8_mouse.length>0)ret=1;return ret},function(){return pico8_mouse[0]},function(){return pico8_mouse[1]},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];return codo_key_buffer.length>0?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];let val=codo_key_buffer.shift()|0;return val},function(){temp=typeof codo_wheel_dx!=="undefined"?codo_wheel_dx:0;codo_wheel_dx=0;return temp},function(){temp=typeof codo_wheel_dy!=="undefined"?codo_wheel_dy:0;codo_wheel_dy=0;return temp},function(){if(document.hidden)return 0;el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el==document.activeElement)return 1;el=document.activeElement;return!el||el.tagName.toLowerCase()!="input"&&el.tagName.toLowerCase()!="textarea"},function(){if(typeof pico8_state!=="undefined")if(pico8_state.clicked_outside){pico8_state.clicked_outside=false;return 1}return 0},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.select()}},function(){return pico8_mouse[2]},function(){_dir_name=""},function($0){_dir_name=_dir_name+String.fromCharCode($0)},function(){FS.createPath("",_dir_name,true,true)},function(){Module["canvas"].exitPointerLock()},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){}},function(){_codo_str_out=""},function($0,$1){_codo_str_out=Module.UTF8ToString($0,$1)},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){el.value=_codo_str_out;return 0}else return 1},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display=="none"&&(typeof p8_touch_detected==="undefined"||!p8_touch_detected)){el.style.display="";el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"&&el.value!=""){_codo_text_value=el.value;return 1}return 0},function($0,$1){Module.stringToUTF8(_codo_text_value,$0,$1)}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAkuAAAY/4AAGf+AAAtuAAANrgAAC/0AAAa9gAAOvkAAC24AAA9uAAARLgAAEq4AAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOAEBAK3lAACv+gAAU/wAAEz8AAD9+QAAXf4AAHP9AAA6+QAAqOUAAET8AAB3/QAAzGkBAGP+AAA/AQEAPAEBAGz7AABD+QAAR/wAAFj+AABz+wAAK/oAAE16AQAoIQEALwEBACwBAQApAQEAMgEBADUBAQB5vAAAHMUAAHy8AACFvAAAjLwAAL44AQCVvAAA/hEBADgTAQC0EwEAgRQBABgVAQCEFQEAJhwBACkcAQC5HAEAvBwBACgeAQCKHwEAoR0BACwQAQA2EQEAm7wAADsTAQC3EwEAhRQBABwVAQCIFQEAZSABAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAAEvBAABTwQAAXsEAAGPBAABqwQAAcMEAAHXBAAB7wQAAgcEAAIfBAACNwQAAk8EAAJnBAACfwQAApMEAAKrBAACwwQAAtsEAAL3BAADEwQAAy8EAANHBAADYwQAA38EAAOfBAADvwQAA9cEAAPrBAAD/wQAACMIAAAAAAAAAAAAAjQcBABVRAQAkKQEAhmIBAHJkAQCJYwEAGmQBAB1kAQB95wAAeucAAPFcAQBlXgEA5e4AAPPuAAASYgEAsmABAAHvAADWZAEAyF8BALVlAQC7ZQEAo8MAAN7uAABMUwEAkgcBAAAAAAAAAAAAAAAAAJIHAQCNBwEAHWQBABpkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGp5gAAruYAALPmAAC45gAAveYAAMLmAADH5gAAzOYAANHmAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAYCCAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAAAAAFpaAAAfUQAAfX0AAB64//+g+f//v1EAAMC1//+gmf//ILH//+Gg//9Am///APb//2Cx//8fGwAAwPX//1JJRka4MgAAV0FWRWZtdCAQAAAAAQABACJWAABErAAAAgAQAGRhdGEAAAAAAAAAAO9oAQD7aAEAB2kBABNpAQAfaQEAKmkBADVpAQBBaQEATWkBAFlpAQBlaQEAcGkBAHtpAQAAAAAAAAAAAAAAAACwaAEAtWgBALtoAQC+aAEAw2gBAM1oAQDXaAEA2WgBANtoAQDdaAEA32gBAONoAQDlaAEAAAAAAAAAAAAAAAAAzGkBANJpAQDdaQEA4WkBAOppAQD7aQEA/2kBAApqAQDMaQEAEWoBAN1pAQAVagEAGWoBAPtpAQAdagEACmoBAOzFMADsxTAAI2oBAC9qAQBKagEAVmoBAGJqAQB2agEASG4BAFFuAQBYbgEAZG4BAG5uAQB2bgEAgW4BAItuAQCVbgEAnm4BAKZuAQCwbgEAAAAAAAAAAAAAAAAAAAAAAOzFMAC5bgEAv24BAMVuAQDLbgEA0W4BANduAQDdbgEAAAAAAAAAAAAAAAAAAAAAAOzFMADjbgEA8m4BAANvAQAUbwEAI28BADVvAQBLbwEA7MUwAFpvAQBibwEAbG8BAHZvAQCHbwEAkm8BAKFvAQBjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfsnYBALZ2AQC6dgEAvnYBAMJ2AQDHdgEAzHYBANF2AQDWdgEA23YBAOB2AQDldgEA6nYBAO92AQD0dgEA+XYBAP52AQADdwEACHcBAA13AQASdwEAF3cBABx3AQAhdwEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAA7MUwAOzFMADsxTAA7MUwAD18AQA/fAEAQXwBAEN8AQBFfAEAR3wBAEl8AQBLfAEATXwBAE98AQBRfAEAU3wBAFV8AQBXfAEAWXwBAFt8AQBdfAEAX3wBAGF8AQBjfAEAZXwBAGd8AQBpfAEAa3wBAG18AQBvfAEAcXwBAHN8AQB1fAEAd3wBAHl8AQB7fAEAfXwBAH98AQCBfAEAg3wBAIV8AQCMfAEAk3wBAJ18AQChfAEAp3wBAKl8AQCrfAEArXwBAK98AQC1fAEAt3wBALl8AQC7fAEAvXwBALaZAQC/fAEAwXwBAMp8AQDNfAEA0HwBANN8AQDWfAEA2XwBANx8AQDffAEA4nwBAOV8AQDpfAEA7XwBAPF8AQD9fAEACH0BAA59AQAVfQEAGn0BACF9AQAofQEALH0BADV9AQA7fQEAQH0BAEV9AQBIfQEAUH0BAFl9AQBifQEAa30BAHR9AQCBfQEAin0BAJN9AQCcfQEApX0BAK59AQC3fQEAwH0BAMl9AQDSfQEA230BAOzFMADkfQEA8H0BAPZ9AQD/fQEAA34BAAd+AQALfgEAD34BABN+AQAXfgEAG34BAB9+AQAjfgEAJ34BACt+AQAvfgEAN34BADx+AQBBfgEASH4BAE1+AQBTfgEAWH4BAFx+AQBhfgEAZ34BAGx+AQBxfgEAen4BAOzFMADsxTAA7MUwAIV+AQCOfgEA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAAn34BAKh+AQCvfgEAtn4BALx+AQCFfAEAwn4BAMx+AQDQfgEA1X4BAON+AQDpfgEA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADvfgEA+X4BAAR/AQAXfwEAKH8BADV/AQBFfwEATn8BAFd/AQBgfwEAaX8BAHR/AQCFfwEAjn8BAJd/AQCgfwEAqX8BALJ/AQC7fwEAxn8BAM9/AQDYfwEA4X8BAOp/AQDzfwEA/X8BAAaAAQAQgAEAGYABACKAAQAvgAEAOIABAEGAAQBRgAEAYoABAHKAAQCAgAEAk4ABAKaAAQC3gAEAwoABAM+AAQDhgAEA74ABAPyAAQALgQEA7MUwAOzFMAAegQEAKIEBADOBAQA8gQEARYEBAFCBAQBcgQEAZoEBAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMABwgQEAe4EBAIWBAQCPgQEAmYEBAKOBAQCtgQEAuYEBAL2BAQDCgQEAzYEBANaBAQDggQEA6IEBAPCBAQD7gQEAA4IBAA6CAQAbggEAKoIBADeCAQBFggEAVIIBAGGCAQBsggEAcoIBAHiCAQB9ggEAgoIBAI6CAQDsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAALiKHQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAP/////vvq3eZ0UjAQEAAACAAAAA/////wkAAADvvq3eZ0UjAeZ6AQD/////AAQAAAEAAAAAADwAAQAAAAEAAACAAAAAgAAAABCHAAAQhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwxTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8PtpkBAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAH9/f39/f39/f39/f39/AAByb290X3BhdGgAY2RhdGFfcGF0aABqb3lzdGlja19pbmRleABtZXJnZV9qb3lzdGlja3MAYnV0dG9uX2tleXMAICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkAGxpdmVfbm90ZXMAY3Vyc29yX3NuYXAAZ3VpX3RoZW1lAHNoaWZ0X2dseXBocwBzaG93X2JhY2t1cF9tZXNzYWdlcwBob3N0X2ZyYW1lcmF0ZV9jb250cm9sAGNvbnRlbnRfZmlsdGVyAGJvb3RfdG9fc3Bsb3JlAHJlY29yZF9hY3Rpdml0eV9sb2cAYWxsb3dfZnVuY3Rpb25fa2V5cwBjaGVja19mb3JfY2FydF91cGRhdGVzAGVuYWJsZV9ncGlvAGZsaXBfYW1wZXJzYW5kAGF1dG9faGlkZV9tb3VzZV9jdXJzb3IAYWdncmVzc2l2ZV9iYWNrdXBzAHBlcmlvZGljX2JhY2t1cHMAdHJhbnNmb3JtX3NjcmVlbgBnZnhfZ3JpZF9saW5lcwBjYXB0dXJlX3RpbWVzdGFtcHMAbWF4X3ByZWZldGNoX3RocmVhZHMAYWNjZXB0X2Z1dHVyZQB2ZXJzaW9uICVzCgoAMC4yLjcALy8gYXVkaW8gdm9sdW1lOiAwLi4yNTYgCgB2b2x1bWUgJWQKCgAKLy8gTG9jYXRpb24gb2YgcGljby04J3Mgcm9vdCBmb2xkZXIKAHJvb3RfcGF0aCAlcwoKAAovLyBMb2NhdGlvbiBvZiBjYXJ0cmlkZ2Ugc2F2ZSBkYXRhCgBjZGF0YV9wYXRoICVzCgoACi8vIFNwZWNpZnkgd2hpY2ggcGxheWVyIGluZGV4IGpveXN0aWNrIGNvbnRyb2wgYmVnaW5zIGF0ICgwLi43KQoAam95c3RpY2tfaW5kZXggJWQKCgAKLy8gVHJlYXQgdGhlIGZpcnN0IG4gY29udHJvbGxlcnMgYXMgaWYgdGhleSB3ZXJlIGEgc2luZ2xlIG1lcmdlZCBjb250cm9sbGVyCgAvLyBlLmcuIG1lcmdlX2pveXN0aWNrcyAyIC0tPiBQMCBnZXRzIGNvbnRyb2xsZXJzIDAsMSwgUDEgZ2V0cyBjb250cm9sbGVyIDIuLgoAbWVyZ2Vfam95c3RpY2tzICVkCgoACi8vIEN1c3RvbSBrZXlib2FyZCBzY2FuY29kZXMgZm9yIGJ1dHRvbnMuIHBsYXllcjAgMC4uNiwgcGxheWVyMSAwLi41LCBtZW51X2J1dHRvbiwgcGxheWVyMiAwLi41LCBwbGF5ZXIzIDAuLjUKAGJ1dHRvbl9rZXlzIAAlZCAACgoALy8gUGxheSBub3RlcyBhcyB0aGV5IGFyZSBwbG90dGVkIGluIGZyZXF1ZW5jeSBtb2RlCgBsaXZlX25vdGVzICVkCgoALy8gaWZmIDE6IHdoZW4gdXNpbmcga2V5Ym9hcmQgY3Vyc29yLCBzbmFwIHRvIGNsb3Nlc3QgcGl4ZWwgLyBtYXAgY2VsCgBjdXJzb3Jfc25hcCAlZAoKAC8vIDAgZGVmYXVsdCAgMSBkYXJrIGJsdWUgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgMiBibGFjayBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgMyBncmF5IGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAKAGd1aV90aGVtZSAlZAoKAC8vIHNjYWxlIG9mIHNjcmVlbnNob3RzIGFuZCBnaWZzIC8vIDIgbWVhbnMgMjU2eDI1NgoAc2NyZWVuc2hvdF9zY2FsZSAlZAoAZ2lmX3NjYWxlICVkCgoALy8gbWF4aW11bSBnaWYgbGVuZ3RoIGluIHNlY29uZHMgKDAuLjEyMDsgMCBtZWFucyBubyBnaWYgcmVjb3JkaW5nKQoAZ2lmX2xlbiAlZAoKAC8vIHdoZW4gMSwgcmVzZXQgdGhlIHJlY29yZGluZyB3aGVuIHByZXNzaW5nIGN0cmwtOSAodXNlZnVsIGZvciBjcmVhdGluZyBhIG5vbi1vdmVybGFwcGluZyBzZXF1ZW5jZSkKAGdpZl9yZXNldF9tb2RlICVkCgoALy8gMCBmb3Igb2ZmLiAxIGZvciBhdXRvLiAyIHRvIGFsbG93IGNvbnRyb2wgb2YgYSBjYXJ0J3MgZnJhbWVyYXRlIGR1ZSB0byBob3N0IG1hY2hpbmUncyBjcHUgY2FwYWNpdHkKAGhvc3RfZnJhbWVyYXRlX2NvbnRyb2wgJWQKCgAvLyBmaWx0ZXIgc3Bsb3JlIGNhcnRyaWRnZXMKAC8vIDAgb2ZmICAgMSBvbiAoZXhjbHVkZSBjYXJ0cmlkZ2UgdGFnZ2VkIGFzICdtYXR1cmUnIGJ5IGNvbW11bml0eSkKAHNwbG9yZV9maWx0ZXIgJWQKCgAvLyAwIG9mZiAgIDEgb246IGFsd2F5cyBzdGFydCBpbiBzcGxvcmUgKHNhbWUgYXMgcGljbzggLXNwbG9yZSkKAGJvb3RfdG9fc3Bsb3JlICVkCgoALy8gdGFiIGRpc3BsYXkgd2lkdGggKDEgfiA0IHNwYWNlcykKAHRhYl93aWR0aCAlZAoKAC8vIDAgb2ZmIDEgb246IGRyYXcgdGFiIGNoYXJhY3RlcnMgYXMgc21hbGwgdmVydGljYWwgbGluZXMKAGRyYXdfdGFicyAlZAoKAC8vIDAgb2ZmIDEgb246IHJlY29yZCB0aGUgY3VycmVudCBjYXJ0cmlkZ2UgYW5kIGVkaXRvciB2aWV3IGV2ZXJ5IDMgc2Vjb25kcyAoc2VlIFthcHBkYXRhXS9hY3Rpdml0eS5sb2cudHh0KQoAcmVjb3JkX2FjdGl2aXR5X2xvZyAlZAoKAC8vIDAgb2ZmIDEgb246IGFsbG93IEY2Li5GOSAoYWx0ZXJuYXRpdmU6IGN0cmwgNi4uOSkKAGFsbG93X2Z1bmN0aW9uX2tleXMgJWQKCgAvLyAwIG9mZiAxIG9uOiBhdXRvbWF0aWNhbGx5IGNoZWNrIGZvciBhIG5ld2VyIHZlcnNpb24gb2YgYSBCQlMgY2FydCBlYWNoIHRpbWUgaXQgaXMgcnVuLgoAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcyAlZAoKAGZsaXBfYW1wZXJzYW5kIDEKCgAvLyBoaWRlIG1vdXNlIGN1cnNvciBmb3IgbiBzZWNvbmRzIHdoZW4gdHlwaW5nLgoAYXV0b19oaWRlX21vdXNlX2N1cnNvciAlZAoKAC8vIDAgb2ZmIDEgb246IGJhY2t1cCB3aXRoIGEgbmV3IHRpbWVzdGFtcGVkIGZpbGVuYW1lIG9uIGV2ZXJ5IHJ1bgoALy8gbm9ybWFsbHkgbm90IG5lZWRlZCAtLSB3YXMgdXNlZCBmb3IgZGVidWdnaW5nIGNyYXNoLW9uLXJ1bgoAYWdncmVzc2l2ZV9iYWNrdXBzICVkCgoALy8gYmFjayB1cCBjYXJ0cmlkZ2UgaW4gZWRpdG9yIGV2ZXJ5IG4gbWludXRlcyB3aGVuIG5vdCBpZGxlICgwIGZvciBubyBwZXJpb2RpYyBiYWNrdXBzKQoAcGVyaW9kaWNfYmFja3VwcyAlZAoKAC8vIGdsb2JhbCBzY3JlZW4gdHJhbnNmb3JtYXRpb25zOgoALy8gIDEyOSBmbGlwIGhvcml6b250YWxseQoALy8gIDEzMCBmbGlwIHZlcnRpY2FsbHkKAC8vICAxMzMgcm90YXRlIENXIDkwIGRlZ3JlZXMKAC8vICAxMzQgcm90YXRlIENXIDE4MCBkZWdyZWVzCgAvLyAgMTM1IHJvdGF0ZSBDVyAyNzAgZGVncmVlcwoAdHJhbnNmb3JtX3NjcmVlbiAlZAoKAC8vIDAgb2ZmICA+IDE6IGNvbG91ciB0byBkcmF3IHBpeGVsIGdyaWQgaW4gdGhlIGdmeCBlZGl0b3IgYXQgem9vbTo4IGFuZCB6b29tOjQgKDE2IGZvciBibGFjaykKAGdmeF9ncmlkX2xpbmVzICVkCgoALy8gZmlsZSBuYW1pbmcgZm9yIHNjcmVlbnNob3QgLyBnaWYgLyB3YXYgY2FwdHVyZXMKAC8vIDAgc2VxdWVudGlhbCAoZm9vXzAucG5nLCBmb29fMS5wbmcpICAgIDEgdGltZXN0YW1wIChmb29fMjAyNDAxMTVfMTIwODIzLnBuZykKAGNhcHR1cmVfdGltZXN0YW1wcyAlZAoKAC8vIGhvdyBtYW55IHRocmVhZHMgdG8gdXNlIGZvciBkb3dubG9hZGluZyBjYXJ0cyBpbiB0aGUgYmFja2dyb3VuZCB3aGlsZSBpbiBzcGxvcmUKAC8vIDAgdG8gdHVybiBvZmYgcHJlLWZldGNoaW5nIC0+IGNhcnRzIGFyZSBvbmx5IGRvd25sb2FkZWQgb25jZSB0aGV5IGFyZSBzZWxlY3RlZAoAbWF4X3ByZWZldGNoX3RocmVhZHMgJWQKCgAvLyAxIHRvIGFsbG93IGNhcnRyaWRnZXMgdG8gbG9hZCBldmVuIGlmIGNyZWF0ZWQgYnkgYSBmdXR1cmUgdmVyc2lvbiBvZiBQSUNPLTgKAGFjY2VwdF9mdXR1cmUgJWQKCgB7Y2lpaSA9ICQwOyBpaWkgPSAwO30AIntpaWkgPSBpaWkrMTsgcmV0dXJuIF9jYXJ0bmFtZVtjaWlpXS5jaGFyQ29kZUF0KGlpaS0xKTsgfSIAW2NvZG9dIGJic193Z2V0X29ubG9hZCA6OiByZWNlaXZlZC4gcHJlcGFyaW5nIHRvIHJ1bi4gcHN0YXRlLmN1cnJlbnRfZmlsZW5hbWUgJXMgYXBwLmFyZ3ZfZmlsZW5hbWUgJXMKAHdyb3RlIGxlbjogJWQKAC9iYnMvZ2V0X2NhcnQucGhwAGxpZD0AZmlsZW5hbWVfbm90X2ZvdW5kLnA4LnBuZwBiYnNfd2dldF9vbmxvYWQ6IHNldCBjdXJyZW50X2ZpbGVuYW1lIHRvICVzIChkZXJpdmVkIGZyb20gJXMpCgBjb3VsZCBub3QgZmV0Y2ggY2FydAAieyBpZiAodHlwZW9mIF9jYXJ0ZGF0ICE9PSd1bmRlZmluZWQnKSByZXR1cm4gMTsgcmV0dXJuIDA7fSIAIntyZXR1cm4gX2NhcnRkYXQubGVuZ3RoIC8gMzI3Njh9IgAieyBfY2Rwb3M9X2NkcG9zKzE7IHJldHVybiBfY2FydGRhdFtfY2Rwb3MtMV07IH0iAHN0YXJ0aW5nIGRvd25sb2FkCgBsb2FkaW5nIGVtYmVkZGVkIGNhcnRyaWRnZQoAam95c3RpY2sAZ2xvYmFsX2FwaQBraW9zawBncGlvX2Jhc2UAZ2xpdGNoX3Rlc3QAeABleGVjAHBhcmFtAHAAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGkAbwB1cmxfY29kZQB1cmxfZ2Z4AGNpZABsZXQgc3RhdGVPYmogPSB7IGxvYWRfcGFyYW1fZGF0YSA6IGZhbHNlIH07IGhpc3RvcnkucHVzaFN0YXRlKHN0YXRlT2JqLCAiUElDTy04IiwgIj8iKTsAZnVuY3Rpb24gbWtkaXJfMChkKSB7IHRyeSB7IHN0YXQgPSBGUy5zdGF0KGQpOyB9IGNhdGNoIChlKSB7IEZTLm1rZGlyKGQpOyB9IH0gbWtkaXJfMCgnL3VzZXJfZGF0YScpOyBGUy5tb3VudChJREJGUywge30sICcvdXNlcl9kYXRhJyk7IEZTLnN5bmNmcyh0cnVlLCBmdW5jdGlvbiAoZXJyKSB7IGlmICghZXJyKSB7IGNvbnNvbGUubG9nKCJjb2RvOiBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iKTsgY29kb19tb3VudGVkX2ZpbGVzeXN0ZW0gPSAxOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NkYXRhJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY3N0b3JlJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYWNrdXAnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9wbGF0ZXMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvbGFiZWxzJyk7IH0gZWxzZSB7IGNvbnNvbGUubG9nKCIqKiBjb3VsZCBub3QgbW91bnQgZmlsZXN5c3RlbVxuIik7IGNvbnNvbGUubG9nKGVycik7IH0gfSApOwAvdW50aXRsZWQucDgAL3VudGl0bGVkXyVkLnA4ACJ7IE1vZHVsZS5waWNvOFJlc2V0ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDM7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVBhdXNlZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA0OyB9IDsgTW9kdWxlLnBpY284U2V0UGF1c2VkID0gZnVuY3Rpb24ocCkgeyBjb2RvX2NvbW1hbmQgPSA1OyBjb2RvX2NvbW1hbmRfcCA9IDA7IGlmIChwKSBjb2RvX2NvbW1hbmRfcD0xO30gOyBNb2R1bGUucGljbzhUb2dnbGVDb250cm9sTWVudSA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA3O30gOyBNb2R1bGUucGljbzhEcmFnT3ZlciA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxMDt9IDsgTW9kdWxlLnBpY284RHJhZ1N0b3AgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTE7fSA7IH0iAGNhcnRzLwBjZGF0YS8AcGljbzguZGF0AGRhdGEucG9kAFJVTk5JTkc6ICVzCgBjb3VsZG4ndCBsb2FkICVzCgBjb3VsZCBub3QgbG9hZCAlcwoALi8Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJ3aWRnZXQucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoInBpY28tOC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AGEgbmV3IHZlcnNpb24gb2YgdGhpcwBjYXJ0cmlkZ2UgaXMgYXZhaWxhYmxlACUwMmQAZGlyZWN0b3J5OiAvAGRpcmVjdG9yeTogJXMAbm90IGZvdW5kAC0tbW9yZS0tAGNvbnRpbnVlAHJlc2V0IGNhcnQAc291bmQ6b24Ac291bmQ6b2ZmAHZvbHVtZTogMDEyMzQ1NjcAdXBkYXRlIGNhcnQAc2tpcABzb3VuZCBvZmYgKGN0cmwtbSkAc291bmQgb24gKGN0cmwtbSkAQEAgcmVib290X21hY2hpbmUoKSBwYXJhbV9zdHJfcGVuZGluZzogJXMKAGRvd25sb2FkIHRpbWVkIG91dABkb3dubG9hZGluZy4uIGNhbmNlbGxlZAAubmZvAC90ZW1wLQBjb3VsZCBub3QgZmluZCBjYXJ0AGRvd25sb2FkaW5nLi4gb2sAbG9hZGVkICMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBjb25uZWN0IHRvIGJicwBmdXR1cmUgdmVyc2lvbi4gcGxlYXNlIHVwZGF0ZSEAIHZvbHVtZTogICAgICAgICAgICAgIChjdHJsLS8rKQB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7IHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOyBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7IHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0OyBwaWNvOF9zdGF0ZS5yZXF1ZXN0X3BvaW50ZXJfbG9jayA9ICQ1OyBwaWNvOF9zdGF0ZS5yZXF1aXJlX3BhZ2VfbmF2aWdhdGVfY29uZmlybWF0aW9uID0gJDY7IHBpY284X3N0YXRlLnNodXRkb3duX3JlcXVlc3RlZCA9ICQ3OyB9IH0AInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmQ7IGNvZG9fY29tbWFuZD0wO30gcmV0dXJuIHZhbH0iACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmRfcDsgY29kb19jb21tYW5kX3A9MDt9IHJldHVybiB2YWx9IgAie2J1dHRvbl9pID0gMH0iACJ7dmFyIHZhbD0tMTsgaWYgKHR5cGVvZiBwaWNvOF9idXR0b25zICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2J1dHRvbnNbYnV0dG9uX2ldOyBidXR0b25faSArKzt9IHJldHVybiB2YWw7fSIAInt2YXIgdmFsID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9nYW1lcGFkcyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDt9IHJldHVybiB2YWw7fSIAKiogZmFpbGVkIHRvIHNhdmUgc2NyZWVuc2hvdABzZXQgdmlkZW8gc3RhcnRpbmcgcG9pbnQAbm8gdmlkZW8gcmVjb3JkZWQgKHJlYzogY3RybC04KQAqKiBmYWlsZWQgdG8gc2F2ZSB2aWRlbwBqb3lzdGljayAlZCBjb25uZWN0ZWQAam95c3RpY2sgJWQgZGlzY29ubmVjdGVkAGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICd1bmRlZmluZWQnKSB7IGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsgfQBAQCByZWJvb3RfbWFjaGluZSgpAGNvdWxkIG5vdCBvcGVuIGZpbGUgdG8gc2F2ZSBmcm9tIHdlYjogJXMKAHsgZG93bmxvYWRfYnJvd3Nlcl9maWxlKFVURjhUb1N0cmluZygkMCwgJDEpLCBVVEY4VG9TdHJpbmcoJDIsICQzKSk7IH0AZGF0YTppbWFnZS8lcztiYXNlNjQsAHsgaWYgKHR5cGVvZiBwOGltZyAhPT0gJ3VuZGVmaW5lZCcpIHsgcDhpbWcuc3JjPSIiOyB9IHA4aW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7IHA4aW1nLnNyYyA9IFVURjhUb1N0cmluZygkMCwgJDEpOyBwOGltZy5zdHlsZSA9ICd3aWR0aDoxMjhweDsgaGVpZ2h0OjEyOHB4OyBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsnOyBpZiAodHlwZW9mIHA4aW1naG9sZGVyID09PSAndW5kZWZpbmVkJyB8fCAhcDhpbWdob2xkZXIpeyBwOGltZ2hvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBwOGltZ2hvbGRlci5zdHlsZS5jc3NUZXh0ID0gJ21pbi13aWR0aDoxNjBweDsgZGlzcGxheTp0YWJsZTsgcG9zaXRpb246Zml4ZWQ7IHRvcDoyMHB4OyBsZWZ0OjIwcHg7IHBhZGRpbmc6MTJweDsgYmFja2dyb3VuZC1jb2xvcjojMDAwOyBib3gtc2hhZG93OiAycHggMnB4IDhweCByZ2JhKDE2LCAwLCA0OCwgMC40KTsnOyBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHA4aW1naG9sZGVyKTsgfSBpZiAocDhpbWdob2xkZXIpIHsgd2hpbGUgKHA4aW1naG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gMCkgcDhpbWdob2xkZXIucmVtb3ZlQ2hpbGQocDhpbWdob2xkZXIuZmlyc3RDaGlsZCk7IHZhciBkaXNtaXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpc21pc3Muc3R5bGUuY3NzVGV4dCA9ICdkaXNwbGF5OnRhYmxlOyBmb250LXNpemU6MTBwdDsgY29sb3I6I2ZmZjsgcGFkZGluZzo0cHg7IGN1cnNvcjpwb2ludGVyOyBtYXJnaW4tbGVmdDoxMHB4OyBmbG9hdDpyaWdodCc7IGRpc21pc3MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBwOGltZy5zcmM9IiI7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyBwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5PSJub25lIjsgfSwgZmFsc2UpOyBkaXNtaXNzLmlubmVySFRNTCA9ICdYJzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoZGlzbWlzcyk7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKHA4aW1nKTsgdmFyIGluZm8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgaW5mby5pbm5lckhUTUwgPSAnPGJyPiA8Zm9udCBzdHlsZT0iY29sb3I6I2JiYjsgZm9udC1zaXplOjhwdCI+PGNlbnRlcj4gKHJpZ2h0LWNsaWNrIHRvIHNhdmUpIDwvY2VudGVyPjwvZm9udD4nOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChpbmZvKTsgaWYgKHA4aW1naG9sZGVyLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiKSBwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID0gIiI7IH0gfQBjb3VsZCBub3QgY29tcHJlc3MgY29kZQoAaGV4ZHVtcCAlZCBieXRlcyB0byBjbGlwYm9hcmQAd3JpdGluZyAlZCBieXRlcyAoY29kZSBvbmx5KQB3cml0aW5nICVkIGJ5dGVzACUyeABmdXR1cmUgdmVyc2lvbjogJWQAY2FydHJpZGdlIGRhdGEgaXMgY29ycnVwdGVkACVzJXMucDglcwAucm9tACVzJXMlcy5wOAB1bnRpdGxlZABiYWNrdXAvACU0ZCUwMmQlMDJkXyUwMmQlMDJkJTAyZF8AcHJvZ3JhbSBvdmVyIHNpemUgbGltaXQKAGNvbXByZXNzZWQgY29kZSBzaXplIHRvbyBsYXJnZQoAJWQgLyAlZCBieXRlcwB3YXJuaW5nOiBjb21wcmVzc2VkIGNvZGUgdG9vIGJpZwB0byBiZSBleHBvcnRlZCBvciBzYXZlZCBhcyBwbmcAKHNhdmluZyAucDggYW55d2F5KQBmbGF0dGVuZWQgI2luY2x1ZGVzACoqIGZhaWxlZCB0byBzYXZlICoqAC91c2VyX2RhdGEvY3N0b3JlLyVzJXMAX18AcHJlcGFyZV9sb2FkZWRfY2FydDogbG9va2luZyBmb3Igc2FuZGJveGVkIGNhcnQgcGF0Y2g6ICVzCgAgIGZvdW5kCgAgIG5vdCBmb3VuZAoAd2FybmluZzogcG9zc2libGUgZGVwcmVjYXRlZCBAQABsZWdhY3k6IHBhdCAlZCBzd2FwIGNoYW46ICVkICVkAHByaW50KCJhcmNoZW9zIiw5OCwzNCw3KQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSBsZWdhY3kgMC4xLjEgYXBpIGluamVjdGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBfdmFsaWRhdGUoYykgaWYgKGMuX251bT09bmlsKSB0aGVuIGxvY2FsIGk9MCB3aGlsZShjW2krMV1+PW5pbCkgZG8gaT1pKzEgZW5kIGMuX251bT1pIGMuX21heD1pIAljLl9taW49aSsxIGMuX251bSA9IGkgYy5fY2kgPSBpIGVuZCBlbmQgCWZ1bmN0aW9uIGZvcmVhY2goYywgZikgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGlmIChjLl9tYXggPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgZm9yIGk9MSxjLl9tYXggZG8gaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpID0gaSBmKGNbaV0pIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCBfdmFsaWRhdGUoYykgbG9jYWwgaT0wIHJldHVybiBmdW5jdGlvbigpIGk9aSsxIHdoaWxlIChjW2ldPT1uaWwgYW5kIGk8Yy5fbWF4KSBkbyBpPWkrMSBlbmQgaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpPWkgcmV0dXJuIGNbaV0gZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWRkKGMsIGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBmb3Igaj1jLl9taW4sYy5fbWF4KzEgZG8gaWYgKGNbal0gPT0gbmlsKSB0aGVuIGMuX21heCA9IG1heChjLl9tYXgsaikgYy5fbWluID0gaisxIGMuX251bSA9IGMuX251bSsxIGNbal09aSByZXR1cm4gaSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBjb3VudChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIDAgZW5kIF92YWxpZGF0ZShjKSByZXR1cm4gYy5fbnVtIGVuZCBmdW5jdGlvbiBkZWwoYyxpKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGk9PW5pbCkgdGhlbiByZXR1cm4gZW5kIGlmIChjLl9jaT09aSkgdGhlbiBjW2MuX2NpXT1uaWwgYy5fbWluPW1pbihjLl9taW4sIGMuX2NpKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVsc2UgZm9yIGo9MSxjLl9tYXggZG8gaWYgKGNbal09PWkpIHRoZW4gY1tqXT1uaWwgYy5fbWluPW1pbihjLl9taW4saikgYy5fbnVtPWMuX251bS0xIHJldHVybiBlbmQgZW5kIGVuZCB3aGlsZSAoYy5fbWF4PjEgYW5kIGNbYy5fbWF4XT09bmlsKSBkbyBjLl9tYXg9Yy5fbWF4LTEgZW5kIGVuZCAgbmQ9MAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKAGxlZ2FjeTogMC4xLjEgYXBpIGluamVjdGVkAC5sdWEAcGxlYXNlIHNwZWZpY3kgYSBmaWxlbmFtZQAqKiogbm8gZmlsZW5hbWUuIG5vdCBzYXZlZCEgKioqAGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ACogY2FuIG5vdCBvdmVyd3JpdGUgYmJzIGNhcnQhICoAc2F2ZSBmYWlsZWQAKioqKiBzYXZlIGZhaWxlZCAqKioqAHNhdmVkICVzJXMgKip0ZW1wIGRpc2sqKgBzYXZlZCAlcyVzJXMgKip0ZW1wIGRpc2sqKgBwbmcAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgAlc18lJWQuJXMAJXNfJWQlMDJkJTAyZF8lMDJkJTAyZCUwMmQuJXMAJXMuJXMAZmlsZSBvdXRwdXQgcGF0aDogJXMKAG1vdW50X2VtYmVkZGVkX2NhcnQ6ICVzICglZCBjaGFycykgJXMKACoqIG1vdW50X2VtYmVkZGVkX2NhcnQ6IGZhaWxlZCB0byBtb3VudABjb3VsZCBub3QgbG9hZCBjYXJ0cmlkZ2UAY2FuIG5vdCBsb2FkAHA4bS5wbmcAcDhtLnBuZyBub3Qgc3VwcG9ydGVkAGltYWdlIGlzIHRvbyBsYXJnZSAoMTI4IG1heCkAZmlsZSBpcyB0b28gbGFyZ2UgKDUxMmsgbWF4KQB7IGpzU3RyaW5nID0gcDhfZHJvcHBlZF9jYXJ0OyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcCA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOyBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXA7IH0AeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydF9uYW1lOyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcDIgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwMiwgbGVuZ3RoQnl0ZXMpOyByZXR1cm4gc3RyaW5nT25XYXNtSGVhcDI7IH0AbG9hZGluZyB1cmxfc3RyOiAlcwoAYmFzZTY0LABAQCBzZXR0aW5nIGFzIGRyb3BwZWQgaW1hZ2U6ICVkICVkCgBAQCB0cnlpbmcgYXMgZGF0YSBmaWxlLiBkYXRfZi0+bGVuOiAlZAoAY291bGQgbm90IGZpbmQgZHJvcHBlZCBmaWxlAGh0dHBzOi8vcGljby04LWVkdS5jb20vP2M9AGxldCBzdGF0ZU9iaiA9IHsgbG9hZF9wYXJhbV9kYXRhIDogdHJ1ZX07IGhpc3RvcnkucHVzaFN0YXRlKHN0YXRlT2JqLCAnUElDTy04IFVSTCBDYXJ0JywgJyVzJyk7ACoqIGZhaWxlZDogdXJsIGlzIHRvbyBsb25nACVkIC8gMjA0MCBjaGFycwBubyB2YWx1ZQB1c2VyZGF0YQBudW1iZXIAdGhyZWFkAHByb3RvAHVwdmFsAHN0YWNrIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAdGFibGUgb3ZlcmZsb3cAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyAG5OAHhYAGJCAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAHN0cmluZyBsZW5ndGggb3ZlcmZsb3cAY29uY2F0ZW5hdGUAdXB2YWx1ZQBpbmRleABhdHRlbXB0IHRvIG1vZGlmeSAlcyAnJXMnIChzdHJpbmdzIGFyZSBpbW11dGFibGUpAGF0dGVtcHQgdG8gJXMgJXMgJyVzJyAoYSAlcyB2YWx1ZSkAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlAF9FTlYAZ2xvYmFsAGZpZWxkAG1ldGhvZABjb25zdGFudAAlMC41ZgAuOTk5OQAuMDAwMAAlMC4zZgAlMC40ZgBnZXQgbGVuZ3RoIG9mAHBlcmZvcm0gYXJpdGhtZXRpYyBvbgB0YWJsZSBpbmRleCBpcyBuaWwAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAbG9vcCBpbiBzZXR0YWJsZQBsb29wIGluIGdldHRhYmxlAGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGNhbGwAW3N0cmluZyAiACJdACVzADB4JXgAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAHRleHQAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAbGFiZWxzL2dvdG9zAG5vIHZpc2libGUgbGFiZWwgJyVzJyBmb3IgPGdvdG8+IGF0IGxpbmUgJWQgKHRhYiAlZCkAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wADxnb3RvICVzPiBhdCBsaW5lICVkICh0YWIgJWQpIGp1bXBzIGludG8gdGhlIHNjb3BlIG9mIGxvY2FsICclcycAdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKQAlczolZDogJXMAbGV4aWNhbCBlbGVtZW50IHRvbyBsb25nACclcycAJXMgbmVhciAlcwBAQAAnJWMnADo6ADxudW1iZXI+ADxuYW1lPgA8c3RyaW5nPgA8ZW9sPgBeXj0Ab3Bjb2RlcwAlcyBleHBlY3RlZABDIGxldmVscwAoZm9yIGluZGV4KQAoZm9yIGxpbWl0KQAoZm9yIHN0ZXApAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RhdGUpAChmb3IgY29udHJvbCkAJz0nIG9yICdpbicgZXhwZWN0ZWQAbGFiZWwgJyVzJyBhbHJlYWR5IGRlZmluZWQgb24gbGluZSAlZCAodGFiICVkKQAoZm9yIGNvbXBvdW5kKQB1bmV4cGVjdGVkIHN5bWJvbABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAaXRlbXMgaW4gYSBjb25zdHJ1Y3RvcgBmdW5jdGlvbnMAc2VsZgA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAY29uc3RhbnRzAGxvY2FsIHZhcmlhYmxlcwBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AJXMgZXhwZWN0ZWQgKHRvIGNsb3NlICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkpAGZ1bmN0aW9uIGF0IGxpbmUgJWQgKHRhYiAlZCkAbWFpbiBmdW5jdGlvbgB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzAGludmFsaWQgbG9uZyBzdHJpbmcgZGVsaW1pdGVyAHVuZmluaXNoZWQgc3RyaW5nAGhleGFkZWNpbWFsIGRpZ2l0IGV4cGVjdGVkAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAGRlY2ltYWwgZXNjYXBlIHRvbyBsYXJnZQBYeABCYgBtYWxmb3JtZWQgbnVtYmVyAHVuZmluaXNoZWQgbG9uZyBjb21tZW50AHVuZmluaXNoZWQgbG9uZyBzdHJpbmcAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAHVwdmFsdWVzAGJpbmFyeSBzdHJpbmcAdHJ1bmNhdGVkAG5vdCBhAHZlcnNpb24gbWlzbWF0Y2ggaW4AaW5jb21wYXRpYmxlAGNvcnJ1cHRlZAAlczogJXMgcHJlY29tcGlsZWQgY2h1bmsAaW52YWxpZCBrZXkgdG8gJ25leHQnAHN0YWNrIHRyYWNlYmFjazoACgkuLi4AU2xudAAKCSVzOgAlZDoAIGluIABmdW5jdGlvbiAnJXMnAG1haW4gY2h1bmsAZnVuY3Rpb24gPCVzOiVkPgAKCSguLi50YWlsIGNhbGxzLi4uKQA9W0NdAD0/AG1haW4ATHVhAGZvciBpdGVyYXRvcgBtZXRhbWV0aG9kAGJhZCBhcmd1bWVudCAjJWQgKCVzKQBuAGNhbGxpbmcgJyVzJyBvbiBiYWQgc2VsZiAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAFNsACVzOiVkOiAAJXMgZXhwZWN0ZWQsIGdvdCAlcwB2YWx1ZSBleHBlY3RlZABvYmplY3QgbGVuZ3RoIGlzIG5vdCBhIG51bWJlcgBfX3Rvc3RyaW5nACVzOiAlcABfX2luZGV4AF9fbmV3aW5kZXgAX19nYwBfX21vZGUAX19sZW4AX19lcQBfX2FkZABfX3N1YgBfX211bABfX2RpdgBfX21vZABfX3BvdwBfX2FuZABfX29yAF9feG9yAF9fc2hsAF9fc2hyAF9fbHNocgBfX3JvdGwAX19yb3RyAF9fbm90AF9faWRpdgBfX3BlZWsAX19wZWVrMgBfX3BlZWs0AF9fdW5tAF9fbHQAX19sZQBfX2NvbmNhdABfX2NhbGwAX19tZXRhdGFibGUAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAGNhbm5vdCBjaGFuZ2UgYSBwcm90ZWN0ZWQgbWV0YXRhYmxlAHRhYmxlIG9yIHN0cmluZyBleHBlY3RlZABfX3BhaXJzAF9faXBhaXJzAGFzc2VydGlvbiBmYWlsZWQhAGluZGV4IG91dCBvZiByYW5nZQBjb3JvdXRpbmUgZXhwZWN0ZWQAY29yb2xpYjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQBjb3JvbGliOiBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAGNvcm9saWI6IHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAGNhbm5vdCByZXN1bWUgbm9uLXN1c3BlbmRlZCBjb3JvdXRpbmUAY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBydW5uaW5nAHN1c3BlbmRlZABub3JtYWwAZGVhZAB0b28gbWFueSByZXN1bHRzIHRvIHVucGFjawB1cGxvYWQAeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJyl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID09PSAndW5kZWZpbmVkJykgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID0gbmV3IEFycmF5KCk7IHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcy5wdXNoKFVURjhUb1N0cmluZygkMCwgJDEpKTsgfSB9AF9lbmRfb2ZfcHJvZ3JhbQB0byBjbG9zZSAnAGF0IGxpbmUgACVkICh0YWIgJWQpAHVuY2xvc2VkICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkKAHVuY2xvc2VkICVzAC0tIHBpY28tOCBoZWFkZXIAYXNzZXJ0aW9uIGZhaWxlZABwb3NpdGlvbiBvdXQgb2YgYm91bmRzAG5vdCBlbm91Z2ggbWVtb3J5ADxlb2Y+AHRoZW1lIAB0aGVtZQBibHVlAHNldCB0aGVtZSB0byBibHVlAGF1dG8Ac2V0IHRoZW1lIHRvIGF1dG8AY2xhc3NpYwBzZXQgdGhlbWUgdG8gY2xhc3NpYwBjb25maWcgdGhlbWUgW3ZhbHVlXQBhdmFpbGFibGUgdGhlbWVzOgBkcmF3X3RhYnMgAGRyYXdfdGFicwBzaG93X3RhYnMgAHNob3dfdGFicwBvbgB0YWIgY2hhcmFjdGVycyBvbgBvZmYAdGFiIGNoYXJhY3RlcnMgb2ZmAGNvbmZpZyBkcmF3X3RhYnMgW29uIHwgb2ZmXQB3aGVuIG9uLCB0YWIgY2hhcmFjdGVycyBhcmUgAGRyYXduIGluIHRoZSBjb2RlIGVkaXRvci4AY3VycmVudCBzZXR0aW5nOiBvbgBjdXJyZW50IHNldHRpbmc6IG9mZgBzcGxvcmVfZmlsdGVyIABzcGxvcmVfZmlsdGVyAGZpbHRlciBvbgBmaWx0ZXIgb2ZmAGNvbmZpZyBmaWx0ZXIgW29uIHwgb2ZmXQB3aGVuIG9uLCBjYXJ0cmlkZ2VzIHRhZ2dlZCBhcwBtYXR1cmUgd2lsbCBub3QgYmUgZG93bmxvYWRlZC4AZmlsdGVyIGlzIGN1cnJlbnRseTogb24AZmlsdGVyIGlzIGN1cnJlbnRseTogb2ZmAHZvbHVtZSAAc2V0IHZvbHVtZTogJWQAY29uZmlnIHZvbHVtZSBbdmFsXQB2YWw6IDggcXVpZXQgLi4gMjU2IGxvdWQAY3VycmVudCB2b2x1bWU6ICVkAGdpZl9sZW4gAHNldCBnaWZfbGVuOiAlZABnaWZfbGVuAGNvbmZpZyBnaWZfbGVuIFtzZWNvbmRzXQBjdXJyZW50IGdpZl9sZW46ICVkAGdpZl9yZXNldF9tb2RlIABzZXQgZ2lmX3Jlc2V0X21vZGU6ICVkAGdpZl9yZXNldF9tb2RlAGNvbmZpZyBnaWZfcmVzZXRfbW9kZSBbbW9kZV0AIDA6IGRvbid0IHJlc2V0IGFmdGVyIHJlY29yZGluZwAgMTogcmVzZXQgYWZ0ZXIgZWFjaCByZWNvcmRpbmcAY3VycmVudCBnaWZfcmVzZXRfbW9kZTogJWQAc2Z4X2ZpbHRlcnMgAHNldCBzZnhfZmlsdGVyczogJWQAZ2lmX3NjYWxlIABzZXQgZ2lmX3NjYWxlOiAlZABnaWZfc2NhbGUAY29uZmlnIGdpZl9zY2FsZSBbc2l6ZV0AY3VycmVudCBnaWZfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUgAHNldCBzY3JlZW5zaG90X3NjYWxlOiAlZABzY3JlZW5zaG90X3NjYWxlAGNvbmZpZyBzY3JlZW5zaG90X3NjYWxlIFtzaXplXQBjdXJyZW50IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHRhYl93aWR0aCAAc2V0IHRhYl93aWR0aDogJWQAdGFiX3dpZHRoAGNvbmZpZyB0YWJfd2lkdGggW3dpZHRoXQBjdXJyZW50IHRhYl93aWR0aDogJWQAY29uZmlnIFtzZXR0aW5nXQBhdmFpbGFibGUgc2V0dGluZ3M6ACVkLyVkICUzLjFmIGZwcwAlZC8lZCAlMS4yZiAlMS4yZgByZXN1bWUoKQBub3RoaW5nIHRvIHJlc3VtZQBzdGF0KDQpACBfZHJhdwBwcm9ncmFtIGV4Y2VlZHMgY2hhciBsaW1pdAAlZCAvICVkIGNoYXJzCgBwcm9ncmFtIHRvbyBsYXJnZQAlZCAvICVkIHRva2VucwoALS0gcGljby04IGhlYWRlcgoJZG8gCWxvY2FsIF9yZWZ1bmRfY3B1XyA9IF9fcmVmdW5kX2NwdV9fIAlsb2NhbCBfcGFpcnMgPSBfX3BhaXJzX18gCWxvY2FsIF9pcGFpcnMgPSBfX2lwYWlyc19fIAlsb2NhbCBfdHlwZSA9IF9fdHlwZSAJbG9jYWwgX3Rvc3RyID0gX190b3N0ciAJbG9jYWwgX3N0b3AgPSBfX3N0b3AgCWxvY2FsIF9wcmludCA9IF9fcHJpbnQgCWxvY2FsIF9wcmludGggPSBfX3ByaW50aCAJbG9jYWwgX3Rvc3RyaW5nID0gX190b3N0cmluZ19fIAlsb2NhbCBfbG9hZCA9IF9fbG9hZCAJbG9jYWwgX3N0YXQgPSBzdGF0IAlsb2NhbCBfZXh0Y21kID0gX19leHRjbWQgCWxvY2FsIF9fbWVudWl0ZW0gPSBfbWVudWl0ZW0gCWxvY2FsIF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgCWxvY2FsIF9jb3Jlc3VtZSA9IF9fY29yZXN1bWUgCWxvY2FsIF9zZWxlY3QgPSBfX3NlbGVjdCAJbG9jYWwgX3N1cGVyeWllbGQgPSBfX3N1cGVyeWllbGQgCWxvY2FsIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gMCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBmdW5jdGlvbigpIGVuZCAJbG9jYWwgX21pZCA9IG1pZCAJX3BhdXNlbWVudT1fcGF1c2VtZW51IG9yIHt9CWZ1bmN0aW9uIG1lbnVpdGVtKGluZGV4X3AsIGxhYmVsLCBjYWxsYmFjaykgCQlpbmRleF9wID0gaW5kZXhfcCBvciBfbGFzdF9tZW51aXRlbV9pbmRleCAJCWNhbGxiYWNrID0gY2FsbGJhY2sgb3IgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgCQlpZiAodHlwZShpbmRleF9wKX49Im51bWJlciIpIHRoZW4gc3RvcCgiYmFkIG1lbnVpdGVtIGluZGV4IikgZW5kIAkJbG9jYWwgaW5kZXggPSBpbmRleF9wICYgMHhmZiAJCWlmIChpbmRleCA8IDEgb3IgaW5kZXggPiA1KSB0aGVuIHJldHVybiBlbmQJCV9wYXVzZW1lbnVbaW5kZXhdID0ge30gCQlfcGF1c2VtZW51W2luZGV4XS5sYWJlbCA9IGxhYmVsIAkJX3BhdXNlbWVudVtpbmRleF0uY2FsbGJhY2sgPSBjYWxsYmFjayAJCV9fbWVudWl0ZW0oaW5kZXhfcCwgbGFiZWwpIAllbmQgCWZ1bmN0aW9uIHBhaXJzKGMpICBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX3BhaXJzIChjKSBlbmQgCWZ1bmN0aW9uIGlwYWlycyhjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX2lwYWlycyhjKSBlbmQgCWZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwgb3IgI2MgPT0gMCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIAkgCWxvY2FsIGk9MSAJIAlsb2NhbCBsaT1uaWwgCQlfcmVmdW5kX2NwdV8oKCNjID49IDE2KSBhbmQgLTE2IG9yIC0jYykgCSAJcmV0dXJuIGZ1bmN0aW9uKCkgCSAJCWlmIChjW2ldID09IGxpKSB0aGVuIGk9aSsxIGVuZCAJIAkJd2hpbGUoY1tpXT09bmlsIGFuZCBpIDw9ICNjKSBkbyBpPWkrMSBlbmQgCSAJCWxpPWNbaV0gCQkJX3JlZnVuZF9jcHVfKC0xNykgCSAJCXJldHVybiBsaSAJIAllbmQgCWVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLF9mKSBmb3IgaSBpbiBhbGwoYykgZG8gX2YoaSkgZW5kIGVuZCBmdW5jdGlvbiB0b3N0ciguLi4pIAktLVtbIG5lZWQgdG8gdXNlIHRvc3RyaW5nIHdoZW4gbWV0YXRhYmxlIGFuZCBtdC5fX3Rvc3RyaW5nIGlzIHNldCBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJbG9jYWwgcD17Li4ufSAJbG9jYWwgYSxiLG1heF9kZXB0aCA9IHBbMV0scFsyXSxwWzNdIAlpZiAobWF4X2RlcHRoKSB0aGVuIHJldHVybiBfdG9zdHIoLi4uKSBlbmQgCWlmICgoX3R5cGUoYSk9PSJ0YWJsZSIgYW5kICgoZ2V0bWV0YXRhYmxlKGEpIGFuZCBnZXRtZXRhdGFibGUoYSkuX190b3N0cmluZykgb3IgYikpKSBvciAoKF90eXBlKGEpPT0iZnVuY3Rpb24iIGFuZCBiKSkgdGhlbiAJIHJldHVybiBfdG9zdHJpbmcoYSkgICAgIGVsc2UgCSByZXR1cm4gX3Rvc3RyKC4uLikgCWVuZCBlbmQgCS0tW1sgcHJpbnQoKSBzaG91bGQgcHJpbnQgbm90aGluZzsgcHJpbnQobmlsKSBzaG91bGQgcHJpbnQgW25pbF07IHN0b3AoKSBwYXNzZXMgYXJncyB0byBwcmludCBzbyB0aGF0IGNhbiBwcmludCBpbiBhIGNvbG91cl1dCWZ1bmN0aW9uIHN0b3AoLi4uKSAgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3N0b3AoKSAgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3N0b3AgICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50KC4uLikgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50KCkgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50ICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50aCguLi4pICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50aCgpIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50aCh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgZnVuY3Rpb24gbG9hZCguLi4pIAlsb2NhbCByZXM9X2xvYWQoLi4uKSAJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkLiByZWY6cGljb3dhcmVdXQlpZiAoX3N0YXQoMTA3KSA+IDApIHRoZW4gcmV0dXJuIHRydWUgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMSkgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmluZCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0yKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmZXRjaCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0zKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBjb25uZWN0IHRvIGJicyIgZW5kIAlpZiAoX3N0YXQoMTA3KSA8IDAgb3IgcmVzID09IG5pbCkgdGhlbiByZXR1cm4gZmFsc2UsICJhY2Nlc3MgZGVuaWVkIiBlbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGV4dGNtZChjbWQsIC4uLikgCWxvY2FsIHJlcz1fZXh0Y21kKGNtZCwgLi4uKSAJaWYgKGNtZD09ImdvX2JhY2siIG9yIGNtZD09ImJyZWFkY3J1bWIiKSB0aGVuIAkJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkXV0JZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBjb3Jlc3VtZShjLC4uLikgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJbG9jYWwgcmV0ID0ge19jb3Jlc3VtZShjLC4uLil9CXdoaWxlIChfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoKSBhbmQgY29zdGF0dXMoYykgPT0gInN1c3BlbmRlZCIpIGRvIAkJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAkJcmV0ID0ge19jb3Jlc3VtZShjLC4uLil9IAllbmQgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJcmV0dXJuIHVucGFjayhyZXQpIGVuZCBmdW5jdGlvbiBmbGlwKCkgCXJlcGVhdCAJCWxvY2FsIGNvbnRpbnVlX21lbnUgPSBmYWxzZSAJCWZvciBpPTEsNSBkbyAJCSBsb2NhbCB2YWwgPSBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZChpKSAJCSBpZiAodmFsKSB0aGVuIAkJICBfbGFzdF9tZW51aXRlbV9pbmRleCA9IGkgCQkgIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayAJCSAgY29udGludWVfbWVudSA9IF9wYXVzZW1lbnVbaV0uY2FsbGJhY2sodmFsKSAJCSAgaWYgKHZhbCAmIDMgPiAwKSB0aGVuIGNvbnRpbnVlX21lbnUgPSB0cnVlIGVuZCAJCSBlbmQgCQllbmQgCQlpZiAoY29udGludWVfbWVudSkgdGhlbiBleHRjbWQoInBhdXNlIiwgMSkgX3N1cGVyeWllbGQoKSBlbmQgIAl1bnRpbCBub3QgY29udGludWVfbWVudSAJX19mbGlwKCkgZW5kIGVuZCAtLVtbIHNjb3BlIF1dX19yZWZ1bmRfY3B1X18gPSBuaWwgX19pcGFpcnNfXyA9IG5pbCBfX3BhaXJzX18gPSBuaWwgX190b3N0ciAgICA9IG5pbCBfX3N0b3AgICAgID0gbmlsIF9fcHJpbnQgICAgPSBuaWwgX19wcmludGggICA9IG5pbCBfX2xvYWQgICAgID0gbmlsIF9fZXh0Y21kICAgPSBuaWwgX190b3N0cmluZ19fID0gbmlsIF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBuaWwgX19jb3Jlc3VtZSA9IG5pbCBfX3NlbGVjdCA9IG5pbCBfX3N1cGVyeWllbGQgPSBuaWwgAChmdW5jdGlvbigpIACAPYAgb3IgMC41IIE9gSBvciAyMzEzMC41III9giBvciAyMDc2Ny41IIM9gyBvciAzIIQ9hCBvciAzMjEyNS41IIU9hSBvciAtMTg0MDIuNSCGPYYgb3IgLTE2MzIuNSCHPYcgb3IgMjA5MjcuNSCIPYggb3IgLTE5MDA4LjUgiT2JIG9yIC0yNjIwOC41IIo9iiBvciAtMjAxOTIuNSCLPYsgb3IgMCCMPYwgb3IgLTI0MzUxLjUgjT2NIG9yIC0yNTc5Mi41II49jiBvciA0II89jyBvciAtMjAwMzIuNSCQPZAgb3IgLTI1NjAuNSCRPZEgb3IgMSCSPZIgb3IgLTIwMTI4LjUgkz2TIG9yIDY5NDMuNSCUPZQgb3IgMiCVPZUgb3IgLTI2MjQuNSCWPZYgb3IgMzE0NTUuNSCXPZcgb3IgNSCYPZggb3IgMzg1NS41IJk9mSBvciAyMTg0NS41IDsAOyBlbmQgKSgpOwBsb2NhbCB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHI9ICAgICAgdGltZSxzdWIsY2hyLG9yZCx0b3N0cix0b251bSxhZGQsZGVsLGRlbGksY2xpcCxjb2xvcixwYWwscGFsdCxmaWxscCxwZ2V0LHBzZXQsc2dldCxzc2V0LGZnZXQsZnNldCxjaXJjLGNpcmNmaWxsLHJlY3QscmVjdGZpbGwsb3ZhbCxvdmFsZmlsbCxsaW5lLHNwcixzc3ByIGxvY2FsIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI9ICAgICAgIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI7IAA7CgAxMDM4OAAgbmQ9MCAAJXMgJXMoKQAlcyAlcygiJXMiKQBzcGxvcmUoKQAKIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgAKCSAgICBfZW5kX29mX3Byb2dyYW0gPSAxIAoJICAgIGlmIChfaW5pdCB+PSBuaWwpIHRoZW4gX2luaXQoKSBlbmQKICAgICAgICAgICAgX3NldF9tYWlubG9vcF9leGlzdHMoMCkKCSAgICBpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfc2V0X21haW5sb29wX2V4aXN0cygxKSBlbmQKCSAgICBpZiAoX3VwZGF0ZTYwIH49IG5pbCkgdGhlbiBfc2V0X2Zwcyg2MCkgX3VwZGF0ZT1uaWwgZWxzZSBfc2V0X2ZwcygzMCkgZW5kCgkgICAgaWYgKF9tYWlubG9vcCA9PSBuaWwgYW5kIChfZHJhdyB+PSBuaWwgb3IgX3VwZGF0ZSB+PSBuaWwgb3IgX3VwZGF0ZTYwIH49IG5pbCkpIHRoZW4KCSAgICAJX3NldF9tYWlubG9vcF9leGlzdHMoMikKCQkgICAgX21haW5sb29wID0gZnVuY3Rpb24oKSAKCSAgICAgICAgCXdoaWxlICh0cnVlKSBkbwoJCQkJCV91cGRhdGVfYnV0dG9ucyhfdXBkYXRlNjAgYW5kIDEgb3IgMikKCQkJCSAgICBfc3RhcnRmcmFtZSgpIAoJCQkJICAgIGlmIChzdGF0KDcpID09IDYwKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGU2MCkgdGhlbgoJCQkJICAgIAlfdXBkYXRlNjAoKSBfdXBkYXRlX2J1dHRvbnMoMSkgX21hcmtfY3B1KDApIF91cGRhdGU2MCgpCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDE1IGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV91cGRhdGUoKSAgX3VwZGF0ZV9idXR0b25zKDIpIF9tYXJrX2NwdSgwKSBfdXBkYXRlKCkKCQkJCSAgICBlbmQKCQkJCSAgICBfbWFya19jcHUoMSkKCQkJCSAgICBpZiAoX2RyYXcgfj0gbmlsKSB0aGVuCgkJCQkJCWxvY2FsIGRpLHJlcz0wLHRydWUgCgkJCQkJCXdoaWxlIChkaSA8IHN0YXQoMTEpIGFuZCByZXMpIGRvIHJlcyA9IF9tYXBfZGlzcGxheShkaSkgaWYgKHJlcykgdGhlbiByZXM9X2RyYXcoKSBlbmQgZGk9ZGkrMSBlbmQgCgkJCQkJCV9tYXBfZGlzcGxheSgwKSAKCQkJCQllbmQKCQkJCSAgICBfbWFya19jcHUoMikKCQkJCQlfdXBkYXRlX2ZyYW1lcmF0ZSgpCgkJCQkgICAgZmxpcCgpCgkJCSAgICBlbmQKCQkgICAgZW5kCgkgICAgZW5kCgkJaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX21haW5sb29wKCkgZW5kCiAgICAgICAgCgBzeW50YXggZXJyb3IAc3ludGF4IGVycm9yIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wgbmVhciAnZW5kJwB1bmV4cGVjdGVkIGVuZCBvZiBsaW5lACVzIGxpbmUgJWQKAAotLT44CgAucDgucG5nAGJicy8AQEAgcnVuX2NhcnQoKSAvLyBsZXhhbG9mZmxlX2Jic19wbGF5ZXI6ICVkICAgcHN0YXRlLnBhcmFtX3N0cl9wZW5kaW5nOiAlcwoAcnVuX2NhcnQgY3VycmVudF9maWxlbmFtZTogJXMgcnVubmluZ19maWxlbmFtZTogJXMgcnVubmluZ19jYXJ0X2xpZDogJXMKAHN0YWNrIHRyYWNlYmFjawAnX21haW5sb29wAGluIGZ1bmN0aW9uICcAaW4gJXMgbGluZSAlZCAodGFiICVkKQBpbiBtYWluIGNodW5rAGF0IGxpbmUgJWQgKHRhYiAlZCkAZ2Mgbm90IHJ1bm5pbmc7IGNvdWxkIG5vdCBwZXJmb3JtIGVtZXJnZW5jeSBjb2xsZWN0aW9uCgBnYyBoYXJkIGNvbGxlY3Q6ICVkIC0+ICVkIChvdmVyaGVhZDolZCkKAG91dCBvZiBtZW1vcnkAcnVudGltZSBlcnJvciBsaW5lICVkIHRhYiAlZABydW50aW1lIGVycm9yAGtleXdvcmQgaGFzaCBjb2xsaXNpb246ICVzICVzCgBnb3RvAGJyZWFrAGlwYWlycwBnaWYAKiogRUdpZk9wZW5GaWxlTmFtZSBlcnJvciAlZDogJXMKAHNhdmluZyBnaWYgdG86ICVzCgBORVRTQ0FQRTIuMAAqKiBFR2lmU3BldygpIEdJRl9FUlJPUgoAW2NhcnRdAFsvY2FydF0AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OV8tAC5wOGwALnR4dAAub2JqAC5tdGwALnN2ZwAucG92AC5zZmQALmNzdgAucHBtAFslc10AX19yZWZ1bmRfY3B1X18AX19wYWlyc19fAF9faXBhaXJzX18AX19zdG9wAF9fcHJpbnQAX19wcmludGgAX190b3N0cgBfX2xvYWQAX19leHRjbWQAX190b3N0cmluZ19fAHRvc3RyaW5nAF9fdHlwZQBfX3NlbGVjdABfX2NvcmVzdW1lAF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UAY2QAbWtkaXIAZXhpdABmaWxlOiAlcyVzAHRva2VuczogICAgICU1ZCAvICAlZABjaGFyczogICAgICAlNWQgLyAlZABjb21wcmVzc2VkOiAlNWQgLyAlZAB1bnNhdmVkIGNoYW5nZXMAZXh0ZXJuYWwgY2hhbmdlcwBjb250aW51ZSB3aXRoIHNodXRkb3duPyBbeS9uXQBAQCBwaWNvLTggc2h1dHRpbmcgZG93bgBjb250aW51ZSB3aXRoIHJlYm9vdD8gW3kvbl0AdHJ5OiBoZWxwIDx0b3BpYz4gaW5zdGVhZC4gZS5nLgBjb21tYW5kcwBsb2FkIDxmaWxlbmFtZT4gIHNhdmUgPGZpbGVuYW1lPgBydW4gKG9yIGN0cmwtcikgIHJlc3VtZQBzaHV0ZG93biAgICAgICAgIHJlYm9vdABpbnN0YWxsX2RlbW9zICAgIGxzAGNkIDxkaXJuYW1lPiAgICAgbWtkaXIgPGRpcm5hbWU+AGNkIC4uICAgICAgdG8gZ28gdXAgYSBkaXJlY3RvcnkAa2V5Y29uZmlnICB0byBjaG9vc2UgYnV0dG9ucwBzcGxvcmUgICAgIHRvIGV4cGxvcmUgY2FydHJpZGdlcwBoZWxwIDx0b3BpYz4AcHJlc3MgZXNjIHRvIHRvZ2dsZSBlZGl0b3IgdmlldwBhbHQrZW50ZXIgdG8gdG9nZ2xlIGZ1bGxzY3JlZW4AYWx0K2Y0IG9yIGN0cmwtcSB0byBmYXN0cXVpdABjdHJsLW0vLS8rIHRvIGFkanVzdCB2b2x1bWUgAGNhbiBub3Qgc2F2ZSB3aGlsZSBydW5uaW5nAGZpbGVuYW1lIHRvbyBsb25nAEB1cmwAQGNsaXAAQGNsaXAucDgAQGNsaXAucG5nAEBjbGlwLnA4LnBuZwB3YXJuaW5nOiBsYWJlbCBpcyBibGFuawBydW4gY2FydCBhbmQgY3RybC03IHRvIGNhcHR1cmUAX2NsaXAucDgucG5nAF9jbGlwLnA4LnBuZy5oZXgAY29waWVkIHRvIHRleHRmaWVsZCAtLSBwcmVzcwBjdHJsLWMgdG8gY29weSB0byBjbGlwYm9hcmQhAGZhaWxlZCB0byBzYXZlIHRvIGNsaXBib2FyZAAqIHNhdmUgZmFpbGVkICoAaWxsZWdhbCBmaWxlbmFtZToAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAY291bGQgbm90IHNhdmUAbG9naW4gdW5hdmFpbGFibGUAbWtkaXIgW25hbWVdAG1rZGlyIGZhaWxlZDogaWxsZWdhbCBwYXRoIG5hbWUAZGlyZWN0b3J5OiAvJXMAJXMlcy8AJXMlcyVzLwBjZDogZmFpbGVkAGRpcmVjdG9yeSBub3QgZm91bmQALyVzAGxhYmVsAHNhdmVkIGxhYmVsAHNjcmVlbgAqKiBjb3VsZCBub3Qgc2F2ZSBzY3JlZW5zaG90AHNhdmVkIGltYWdlAGdlbmVyYXRlZCBzY3JlZW5zaG90AHJlYwByZWNfZnJhbWVzAHZpZGVvAEBAIHNhdmUgZ2lmIHJlc3VsdDogJWQgdmlkZW9fY2xpcF9pbmRleDogJWQKAG5vIHZpZGVvIHJlY29yZGVkICgwIGZyYW1lcykAKiogY291bGQgbm90IHNhdmUgZ2lmAHNhdmVkICVkIHNlY29uZCBnaWYAZ2VuZXJhdGVkICVkIHNlY29uZCBnaWYAYXVkaW9fcmVjAGF1ZGlvX2VuZABwYXVzZQBjb250cm9scwBicmVhZGNydW1iAGdvX2JhY2sAc2V0X3RpdGxlAHNldF9maWxlbmFtZQB1bmtub3duIGV4dGNtZDolcwBkb3dubG9hZGluZy4uIABiYWQgY2FydHJpZGdlIGlkAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bmZvPTEmdmVyc2lvbj0lcyVjJmxpZD0lcwBAZHJvcHBlZABkcm9wcGVkLnA4AGxvYWRlZCBjYXJ0cmlkZ2UgKCVkIGNoYXJzKQBzb3JyeSwgQGNsaXAgaXMgbm90IGF2YWlsYWJsZQBsb2FkZWQgJXMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBsb2FkOiBmdXR1cmUgdmVyc2lvbgBjb3VsZCBub3QgbG9hZDogY29kZSBzaXplID4gNjRrAGNvdWxkIG5vdCBsb2FkADB4JTA4eAAweCUwNHguJTA0eABwcmVzcyBjdHJsLWMgdG8gY29tcGxldGUgY29weQBwcmludGg6IGJhZCBsb2cgZmlsZSBuYW1lAHByaW50aDogdG9vIG11Y2ggbG9nIGRhdGEgKDEwbWIgbWF4KQB8JXMAdG9vIG1hbnkgcHJpbnRoIGZpbGVzAGEAJXMKAHByaW50aDogY291bGQgbm90IHdyaXRlIGZpbGUAY291bnQAX19mbGlwAF9fc3VwZXJ5aWVsZABiYWNrdXAAaW5zdGFsbF9kZW1vcwBpbnN0YWxsX2dhbWVzAGtleWNvbmZpZwBtYXBkcmF3AHNldF9kcmF3X3NsaWNlAF9tZW51aXRlbQBuZXh0AGluZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AF9fdHJhY2UAdHJhY2UAaG9sZGZyYW1lAF9zdGFydGZyYW1lAF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkAF91cGRhdGVfYnV0dG9ucwBfdXBkYXRlX2ZyYW1lcmF0ZQBfc2V0X21haW5sb29wX2V4aXN0cwBfc2V0X2ZwcwBfbWFya19jcHUAX21hcF9kaXNwbGF5ACoqIF9tYXBfZGlzcGxheSBoYXMgYmVlbiBkZXByZWNhdGVkIHdoZW4gcnVubmluZyBvbiBhIHNpbmdsZSBkaXNwbGF5ICoqIChzZWUgMC4yLjZiIHJlbGVhc2UgcG9zdCkAdG9vIG1hbnkgb3JkIHJlc3VsdHMAZGV2a2l0IGtleWJvYXJkIGVuYWJsZWQAZGV2a2l0IG1vdXNlIGVuYWJsZWQAeyB2YXIgc3RyID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOyByZXR1cm4gYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5nKHN0ciksICdpOCcsIEFMTE9DX05PUk1BTCk7IH0AZHNldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAZGdldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAaGlnaCBzY29yZXMgbm90IGltcGxlbWVudGVkIHlldCEAdG9vIG1hbnkgcGVlayByZXN1bHRzAGNzdG9yZS8Ac2FuZGJveGVkX2NzdG9yZSBmaWxlIG5vdCBmb3VuZDogJXMKACAgLS0+IHVzaW5nIGludGVybmFsIGZpbGU6ICVzCgBzcGxvcmUgaXMgbm90IGF2YWlsYWJsZQBpbiB0aGlzIHZlcnNpb24uAGluc3RhbGxpbmcgZ2FtZXMgdG8gL2dhbWVzLwBiYWNrZWQgdXAgJXMlcwBiYWNrdXBzAGNvbmZpZwB1c2VhZ2U6IGZvbGRlciBbbG9jYXRpb25dAGxvY2F0aW9uczoAYmFja3VwcyBjb25maWcgYmJzIGRlc2t0b3AAaG9zdCBhbGxvY2F0aW9uIGVycm9yACVkbWIgKyAlZGsKAG5vIGhlbHAgdG9waWMgdW5kZXIgY3Vyc29yAHR5cGUgdGhlIHRvcGljIHdpdGhvdXQgPD4uIGUuZy46AGhlbHAgZ2Z4AGFib3V0AHBpY28tOACAIHBpY28tOCAwLjIuNwBtYWRlIGJ5IHplcCBhdCBwaWNvIHBpY28gY2FmZSwAdG9reW8uIHRoaXMgcHJvZ3JhbSBpcyBkZWRpY2F0ZWQAdG8gdG9tLCBsb3VpcyBhbmQgbmFjY2kuAHBpY28tOCB3YXMgbWFkZSB3aXRoIHNkbDIsIGx1YSwAZ2lmbGliLCB3aXJpbmdwaSwgbGliYjY0LCBtaW5peiwAbGliY3VybCwgYW5kIGdudSB0b29scy4AYXVkaW8Ac2Z4AIAgYXVkaW8gYXBpIGZ1bmN0aW9ucwBtdXNpYyBzZngAaW5wdXQAdXNlIHRoZSBrZXljb25maWcgY29tbWFuZAB0byBzZXQgZGVmYXVsdCBidXR0b24ga2V5cy4AgCBpbnB1dCBhcGkgZnVuY3Rpb25zAGJ0biBidG5wAHN0cmluZwBzdHJpbmdzAIAgc3RyaW5ncwBzdHJpbmdzIGluIGx1YSBhcmUgaW1tdXRhYmxlOwB0aGV5IGNhbiBiZSBjcmVhdGVkIGFuZCBqb2luZWQAdG9nZXRoZXIsIGJ1dCBub3QgbW9kaWZpZWQuAHMgPSAiZm9vIiAgICAgAD90eXBlKHMpICAgIC0tIHN0cmluZyAAP3MgPT0gImZvbyIgLS0gdHJ1ZQA/cy4uImJvbyIgICAtLSBmb29ib28gKGpvaW4pAD9zLi4oMisyKSAgIC0tIGZvbzQAP3NbMV0gICAgICAgLS0gZgA/I3MgICAgICAgICAtLSAzIChsZW5ndGgpAIAgc3RyaW5nIGZ1bmN0aW9ucwBzdWIgY2hyIG9yZCBzcGxpdCB0b3N0ciB0b251bQCAIGxlbmd0aCBvcGVyYXRvcjogIwBnaXZlcyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nIG9yAGEgdGFibGUgdGhhdCBpcyBpbmRleGVkIHdpdGgAaW50ZWdlcnMgc3RhcnRpbmcgYXQgMToAPiA/IyJ0aGUgcXVpY2sgYnJvd24gZm94IgAxOQA+IGE9ezEsMiwzfQA+ID8jYQBzZWUgYWxzbzogdGFibGVzIHN0cmluZ3MAdGFibGUAdGFibGVzAIAgdGFibGVzAGx1YSBwcm92aWRlcyBhIHNpbmdsZSB0eXBlIGZvcgBzdHJ1Y3R1cmVkIGRhdGE6IHRoZSB0YWJsZS4ga2V5cwBhbmQgdmFsdWVzIGluIGEgdGFibGUgY2FuIGJlIGEAYSBtaXh0dXJlIG9mIGFueSB0eXBlLCBhbmQgdGh1cwBjYW4gYmUgdXNlZCBhcyBhcnJheXMsIG1hcHMsAHNldHMsIG9yIGR1Y2stdHlwZWQgb2JqZWN0cy4AdGJsID0gezUsNiw3fSAtLSBjcmVhdGUgYSB0YWJsZQA/dGJsWzFdIC0tIDUgKDEtYmFzZWQpAD8jdGJsICAgLS0gMyAoMS1iYXNlZCBsZW5ndGgpAHogPSB7WzBdPTUsNn0gLS0gc3RhcnQgYXQgMABwID0ge3g9NCx5PTR9IC0tIHN0cmluZyBrZXlzAD9wLnggICAgICAgICAgLS0gc2FtZSBhcyA/cFsieCJdAIAgdGFibGUgZnVuY3Rpb25zAGFkZCBkZWwgZGVsaSBhbGwgZm9yZWFjaCBwYWlycwBsdWEAgCBsdWEgY2hlYXRzaGVldAAtLSAgc2luZ2xlIGxpbmUgY29tbWVudAAtLVtbIGNvbW1lbnQgdGhhdCBzcGFucyBtdWx0aXBsZQBsaW5lcyBdXQBsb2NhbCBhICAgICAgIC0tIGxvY2FsIHZhcmlhYmxlAHgseSx6ID0gMyw0LDUgLS0gZ2xvYmFscwBwcmludCh4PT0zKSAgIC0tIHByaW50IGJvb2xlYW4AZnVuY3Rpb24gcGx1czIoeCkgcmV0dXJuIHgrMiBlbmQAZm9yIGk9MTAsOTAsNSBkbyBjaXJjKGksNSxpKSBlbmQAd2hpbGUoeCA8IDQpIGRvIHg9eCsxIGVuZABpZiAoeCAhPSA0KSB0aGVuIGZvbygpIGVuZABpZiAoeCA9PSA0KSBmb28oKSAtLSBzaG9ydGhhbmQAgCBleHRyYSB0b3BpY3MAdGFibGVzIHN0cmluZ3MgbnVtYmVycyBsb2dpYwBmdW5jdGlvbgByZXR1cm4AgCBrZXl3b3JkczogZnVuY3Rpb24gcmV0dXJuAGEgZnVuY3Rpb24gY2FuIHRha2UgYW55IG51bWJlcgBvZiBhcmd1bWVudHMsIGFuZCByZXR1cm4gYW55AG51bWJlciBvZiByZXN1bHRzOgBmdW5jdGlvbiBmb28oYSwgYikAICBwcmludCgiaW5zaWRlIGZvbyIpACAgcmV0dXJuIGEgKyBiLCAzIC0tIDIgcmVzdWx0cwBlbmQAPiB4LHkgPSBmb28oOCw5KQA+IHByaW50KHgpADE3AD4gcHJpbnQoeSkAd2hpbGUAgCBrZXl3b3JkOiB3aGlsZQByZXBlYXQgYSBibG9jayBvZiBjb2RlIHdoaWxlIGEAY29uZGl0aW9uIGlzIHRydWUuAGkgPSAzAHdoaWxlIGkgPCA1IGRvACAgcHJpbnQoaSkAICBpID0gaSArIDEALS0tIG91dHB1dCAtLS0AZG8AgCBrZXl3b3JkOiBkbwBkZW5vdGUgdGhlIHN0YXJ0IG9mIGEgYmxvY2sAb2YgY29kZS4gdXNlZCBieSB3aGlsZSBhbmQAZm9yIGxvb3BzLgCAIGtleXdvcmQ6IGVuZABkZW5vdGUgdGhlIGVuZCBvZiBhIGJsb2NrIG9mAGNvZGUuIHVzZWQgYnkgd2hpbGUsIGlmLCBmb3IAbG9vcHMsIGFuZCBmdW5jdGlvbiBkZWZpbml0aW9ucy4AcmVwZWF0AHVudGlsAIAga2V5d29yZHM6IHJlcGVhdCwgdW50aWwAcmVwZWF0IGEgYmxvY2sgb2YgY29kZSB1bnRpbABzb21lIGNvbmRpdGlvbiBpcyB0cnVlIGF0IHRoZQBlbmQgb2YgdGhlIGJsb2NrLgB0aGlzIG1lYW5zIHRoYXQgdGhlIGJsb2NrIGlzAGFsd2F5cyBleGVjdXRlZCBhdCBsZWFzdCBvbmNlLAB1bmxpa2Ugd2hpbGUgLi4gZG8gLi4gZW5kLgB1bnRpbCBpID49IDUAaWYAdGhlbgBlbHNlaWYAZWxzZQCAIGlmLCB0aGVuLCBlbHNlaWYsIGVsc2UAZG8gc29tZXRoaW5nIHdoZW4gc29tZXRoaW5nIGlzAHRydWUuIGVsc2UgYW5kIGVsc2VpZiBibG9ja3MgYXJlAG9wdGlvbmFsOgBpZiB4ID4geSB0aGVuACAgcHJpbnQoeC4uIiBpcyBtb3JlIHRoYW4gIi4ueSkAaWYgeCA8IDQgdGhlbgAgIHByaW50KCJ4IGlzIGxlc3MgdGhhdCA0IikAZWxzZWlmIHggPCA2IHRoZW4AICBwcmludCgieCBpcyA0IG9yIDUiKQAgIHByaW50KCJ4IGlzIDYgb3IgbW9yZSIpAGlmICh4PDQpID8ieDw0IiAtLSBzaG9ydGhhbmQAZm9yAGluAIAgZm9yIGxvb3BzAHJlcGVhdCBhIGJsb2NrIG9mIGNvZGUgbiB0aW1lcy4AZm9yIGk9MSw1IGRvAC0tIHJlc3VsdDogMSAyIDMgNCA1AGEgc3RlcCBzaXplIGNhbiBiZSBhZGRlZDoAZm9yIGk9MSw4LDIgZG8gcHJpbnQoaSkgZW5kAC0tIHJlc3VsdDogMSAzIDUgNwBmb3IgbG9vcHMgY2FuIGFsc28gYmUgdXNlZCB0bwBpdGVyYXRlIG92ZXIgdGFibGVzLgBzZWUgYWxzbzogcGFpcnMgYWxsAHRydWUAZmFsc2UAbmlsAGJvb2xlYW4AgCB0cnVlIGZhbHNlIG5pbABib29sZWFuIHZhcmlhYmxlcyBjYW4gaGF2ZSB0aGUAdmFsdWUgdHJ1ZSBvciBmYWxzZS4gbmlsIGlzIGEAc3BlY2lhbCB2YWx1ZSB0aGF0IG1lYW5zIGZhbHNlAGluIGJvb2xlYW4gZXhwcmVzc2lvbnMsIGFuZABvdGhlcndpc2UgbWVhbnMgJ3VuZGVmaW5lZCcuAD4gP3p4YyAgLS0gbm90IGRlZmluZWQsIHNvIG5pbAA+ID96eGMgYW5kIHRydWUAbmlsLCB1bnJlZmVyZW5jZWQgdmFyaWFibGVzIGFyZQBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UgY29sbGVjdGVkLgA+IGE9bmlsIC0tIHdpbGwgYmUgY29sbGVjdGVkLgB0eXBlcwCAIHR5cGUodikAcmV0dXJuIHRoZSB0eXBlIG9mIHZhcmlhYmxlIHYAYXMgYSBzdHJpbmc6ACBuaWwAIGJvb2xlYW4AIG51bWJlcgAgc3RyaW5nACBmdW5jdGlvbgAgdGFibGUAgCBzZWUgYWxzbzoAbnVtYmVycyBzdHJpbmdzIHRhYmxlcwCAIGtleXdvcmQ6IGxvY2FsAGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBsb2NhbC4AdGhpcyBiaW5kcyB0aGUgc2NvcGUgb2YgdGhlAHZhcmlhYmxlIHRvIHRoZSBzYW1lIGJsb2NrAG9mIGNvZGUgaXQgd2FzIGRlZmluZWQgaW4uAGZ1bmN0aW9uIGZvbyh6KQAgIGxvY2FsIHkgPSB6IC0tIGxvY2FsIHRvIGZvbwAgIHkgPSB5ICsgMQAgIHJldHVybiB5AD9mb28oMTApIC0tIDExAD95IC0tIG5pbCEgdGhlcmUgaXMgbm8gZ2xvYmFsIHkuADwAPgA8PQA+PQA9PQB+PQAhPQBhbmQAb3IAbm90AGxvZ2ljAIAgbG9naWNhbCBleHByZXNzaW9ucyBpbiBsdWEAdGhlIGxvZ2ljYWwgb3BlcmF0b3JzIGFyZToAYW5kLCBvciwgYW5kIG5vdAA/NSA+IDMgYW5kIDUgPiA0IC0tIHRydWUAPzEgPiA1IGFuZCA1ID4gNCAtLSBmYWxzZQA/MSA+IDUgb3IgIDUgPiA0IC0tIHRydWUAP25vdCAoMSA+IDUpICAgICAtLSB0cnVlAG5pbCBpcyBjb25zaWRlcmVkIGZhbHNlLgByZWxhdGlvbmFsIG9wZXJhdG9yczoAPCA+IDw9ID49ID09IH49IChvciAhPSkAgCBhc3NpZ25tZW50OiA9AGdpdmUgdGhlIHZhcmlhYmxlIG9uIGxocwB0aGUgdmFsdWUgb2YgdGhlIHJocy4APiB4ID0gMys1AD4gP3gAZGF0YQBtZW0AgCBtZW1vcnkgJiBkYXRhIGFwaSBmdW5jdGlvbnMAcGVlayBwb2tlIG1lbXNldCBtZW1jcHkAcmVsb2FkIGNzdG9yZSBzY29yZXN1YgBjYXJ0ZGF0YSBkZ2V0IGRzZXQAgCBzZngobixbY2hhbl0sW29mZnNldF0sW2xlbl0pAHBsYXkgc2Z4IG4gKDAuLjYzKQBvZmZzZXQgYW5kIGxlbiBzcGVjaWZ5IHRoZSBzdGFydABwb3NpdGlvbiBhbmQgZHVyYXRpb24sIGFuZCBhcmUAZ2l2ZW4gaW4gbnVtYmVyIG9mIG5vdGVzLgBjaGFuICAgOiB0aGUgY2hhbm5lbCB0byBwbGF5IG9uAGNoYW4gLTE6IHVzZSBhbiB1bnVzZWQgY2hhbm5lbABjaGFuIC0yOiBzdG9wIHNmeCBuIG9uIGFsbCBjaGFucwCAIG11c2ljKHAsW2ZhZGVfbGVuXSxbbWFza10AcGxheSBtdXNpYyBzdGFydGluZyBmcm9tIHBhdHRlcm4AcC4gdXNlIHAgLTEgdG8gc3RvcCBhbnkgbXVzaWMuAGZhZGVfbGVuIGlzIGdpdmVuIGluIG1zICgxMDAwIGlzAG9uZSBzZWNvbmQpLiBtYXNrIGlzIGEgYml0ZmllbGQAdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGNoYW5uZWxzAHRvIHJlc2VydmUgZm9yIG11c2ljLgBidG4AgCBidG4oW2JdLCBbcGxdKQBnZXQgYnV0dG9uIGIgc3RhdGUgZm9yIHBsYXllciBwbABvciBwbGF5ZXIgMCB3aGVuIHBsIGlzIG5vdCBnaXZlbgBiIGlzIGEgYnV0dG9uIGluZGV4OgAwOosgMTqRIDI6lCAzOoMgNDqOIDU6lyAAYnRuKCkgcmV0dXJucyBhIGJpdGZpZWxkIGZvcgBwbGF5ZXIgMCBhbmQgMQBnbHlwaHMAgCBnbHlwaCB2YWx1ZXMAZ2x5cGhzICgngC4umScpIGNhbiBiZSB1c2VkAGFzIHBhcnQgb2YgcmVndWxhciB2YXJpYWJsZQBuYW1lcywgYnV0IHNpbmdsZSBjaGFyYWN0ZXIAZ2x5cGhzIGFyZSBhbHNvIGFzc2lnbmVkIHNwZWNpYWwAdmFsdWVzIG9uIGJvb3Q6AIAgYnV0dG9ucwCLOjAgkToxIJQ6MiCDOjMgjjo0IJc6NQCAIGZpbGwgcGF0dGVybnMgLy8gZmlsbHAolSkAgIGChIWGh4iJioyNkJKTlQBzZWUgYWxzbzogYnRuIGJ0bnAgZmlsbHAAYnRucACAIGJ0bnAoW2JdLCBbcGxdKQByZXR1cm5zIHRydWUgd2hlbiBidXR0b24gYiB3YXMAcHJlc3NlZCBieSBwbGF5ZXIgcGwgKDAuLjcpLgBwbCBkZWZhdWx0cyB0byAwIHdoZW4gbm90IGdpdmVuLgBidG5wIHJlcGVhdHMgZXZlcnkgbiBmcmFtZXM6ADB4NWY1YyBpbml0aWFsIGRlbGF5IChkZWY6IDE1KQAweDVmNWYgcmVwZWF0IGRlbGF5ICAoZGVmOiAgNCkAYnRucCBvbmx5IHdvcmtzIHdoZW4gdXNlZCBmcm9tAGluc2lkZSBfdXBkYXRlKigpLCBfZHJhdygpLCBvcgBiZXR3ZWVuIGNhbGxzIHRvIGZsaXAoKS4AaGVscABtYW4AdG9waWMAdG9waWNzAIAgaGVscCBjb21tYW5kAHR5cGUgaGVscCBbdG9waWNdIGZvciBoZWxwAHRvcGljcyBhcmUgc2hvd24gaW4gYmx1ZS4AcHJlc3MgY3RybC11IGluIHRoZSBjb2RlIGVkaXRvcgBmb3IgaGVscCBvbiB3aGF0ZXZlciBpcyB1bmRlcgB0aGUgY3Vyc29yLgCAIG1haW4gdG9waWNzAGdmeCBkYXRhIGF1ZGlvIHN5c3RlbSBtYXRoIGx1YQBtYXRoAG1hdGhzAIAgbWF0aCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9ycwBjb3Mgc2luIGF0YW4yIHNxcnQgc3JhbmQgcm5kAG1heCBtaW4gbWlkIGZsciBjZWlsIHNnbiBhYnMAYm5vdCBiYW5kIGJvciBieG9yAHNobCBzaHIgbHNociByb3RsIHJvdHIAgCBleHRyYSBtYXRoIHRvcGljcwBudW1iZXJzIGJpbmFyeSBoZXggYml0ZmllbGRzAGNvcwBzaW4AgCBjb3MoYSkgIHNpbihhKQBnaXZlcyB0aGUgY29zaW5lIGFuZCBzaW5lIG9mIGEsAHdoZXJlIDEuMCBtZWFucyBvbmUgZnVsbCB0dXJuLgB4LHkAeCtjb3MoYSksIHkrc2luKGEpADAuMAAwLjI1ADAuNQAwLjc1AHNpbihhKSBpcyBpbnZlcnRlZCB0byBzdWl0AHNjcmVlbnNwYWNlOyBvbmUgZnVsbCB0dXJuIG9mAGEgZnJvbSAwLi4xIHN0YXJ0cyBvbiB0aGUgcmlnaHQAYW5kIGdvZXMgYW50aWNsb2Nrd2lzZS4AYXRhbjIAgCBhdGFuKGR4LCBkeSkAY29udmVydHMgZHgsIGR5IGludG8gYW4gYW5nbGUAYmV0d2VlbiAwLi4xLiBhcyB3aXRoIGNvcygpIGFuZABzaW4oKSwgdGhlIGFuZ2xlIGlzIHRha2VuIHRvIHJ1bgBhbnRpY2xvY2t3aXNlIGluIHNjcmVlbnNwYWNlLgB4K2R4LCB5K2R5AGFuZ2xlID0gYXRhbjIoZHgsIGR5KSAgLS0gMC4xMjUAc3FydACAIHNxcnQoeCkAcmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB4AHJuZACAIHJuZChbeF0pACAgIHJuZCh7dGJsfSkAcmV0dXJuIGEgcHNldWRvLXJhbmRvbSBudW1iZXIAZnJvbSAwIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nAHgsIHdoaWNoIGRlZmF1bHRzIHRvIDEAd2hlbiBhIHRhYmxlIGlzIGdpdmVuLCBhIHJhbmRvbQBpdGVtIGZyb20gdGFibGUgaXMgcmV0dXJuZWQuAHNyYW5kAIAgc3JhbmQoeCkAc2VlZCB0aGUgcm5kKCkgbnVtYmVyIGdlbmVyYXRvcgB3aXRoIHguIHRoZSBzZXF1ZW5jZSBvZiByZXN1bHRzAGZyb20gcm5kKCkgd2lsbCBiZSB0aGUgc2FtZQBmb2xsb3dpbmcgYSBjYWxsIHRvIHNyYW5kIHdpdGgAdGhlIHNhbWUgc2VlZC4AbWF4AG1pbgCAIG1heChhLGIpIG1pbihhLGIpIG1pZChhLGIsYykAZ2l2ZSB0aGUgbWF4aW11bSwgbWluaW11bSBvZgAyIHZhbHVlcywgb3IgdGhlIG1pZGRsZSBvZgAzIHZhbHVlcy4gbWlzc2luZyBhcmd1bWVudHMAYXJlIHRyZWF0ZWQgYXMgMC4AP21heCgzLCAyMCkgICAtLSAyMAA/bWlkKDYsIDcsIDQpIC0tIDYAP21pbig4KSAgICAgICAtLSAwAGZscgBjZWlsAIAgZmxyKHgpIGNlaWwoeCkAcm91bmQgZG93biBvciB1cCB0byB0aGUgY2xvc2VzdABpbnRlZ2VyLiBmbHIoeCkgaXMgc2ltaWxhciB0bwB1c2luZyBpbnRlZ2VyIGRpdmlzaW9uIGJ5IG9uZSwAb3Igc3RyaXBwaW5nIGZyYWN0aW9uYWwgYml0czoAPyA0LjEgXCAxICAgICAgLS0+IDQAPyA0LjEgJiAweGZmZmYgLS0+IDQAPyBmbHIoNC4xKSAgICAgLS0+IDQAPyBmbHIoLTIuMykgICAgLS0+IC0zAD8gY2VpbCg0LjEpICAgIC0tPiA1AHNnbgCAIHNnbih4KQByZXR1cm5zIC0xIHdoZW4geCA8IDAsAGFuZCAxIG90aGVyd2lzZQBub3RlIHRoYXQgc2duKDApIGlzIDEsIG5vdCAwLgBhYnMAgCBhYnMoeCkAcmV0dXJuIHRoZSBhYnNvbHV0ZSAocG9zaXRpdmUpAHZhbHVlIG9mIHg6AD8gYWJzKC0zKSAgIC0tPiAzAD8gYWJzKDQpICAgIC0tPiA0AHRoZSBvbmUgZXhjZXB0aW9uIGlzIGZvcgBhYnMoLTMyNzY4KSwgd2hpY2ggZG9lcyBub3QAaGF2ZSBhIG1hdGNoaW5nIHBvc2l0aXZlIHZhbHVlLABzbyAweDdmZmYuZmZmZiBpcyByZXR1cm5lZC4AYm5vdACAIGJub3QoeCkAICAgfngAYmluYXJ5IG5vdC4gZWFjaCBiaXQgaW4gdGhlAHJldHVybiB2YWx1ZSBpcyBzZXQgd2hlbiB0aGUAY29ycmVzcG9uZGluZyBiaXQgaW4geCBpcyBub3QAc2V0LgBpbiBvdGhlciB3b3JkcywgZmxpcCBhbGwgb2YgdGhlAGJpdHMgaW4geC4APiA/dG9zdHIofjB4ZmYwMC4wMGZlLCAxKQAweDAwZmYuZmYwMQB3aGVuIHVzZWQgd2l0aCB0d28gb3BlcmFuZHMgKGUuZwB4fnkpLCB+IG1lYW5zIHhvci4gc2VlOiBieG9yAGJhbmQAJgAmPQCAIGJhbmQoeCwgeSkAICAgeCAmIHkAYmluYXJ5IGFuZC4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0cyBpbiB4IGFuZAB5IGFyZSBib3RoIHNldC4AdHJ1dGggdGFibGUgICAgICAgfCAgMCAgfCAgMSAgACAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLQAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAwICAAICAgICAgICAgICAgICAgIDEgfCAgMCAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmICYgMHgxMjMsIDEpADB4MDEwMy4wMDAwAGJvcgB8AHw9AIAgYm9yKHgsIHkpACAgIHggfCB5AGJpbmFyeSBvci4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0IGluIGVpdGhlcgB4IG9yIHkgaXMgc2V0LgAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAxICAAICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmIHwgMHgwZjAsIDEpADB4MGZmZi4wMDAwAGJ4b3IAXl4AgCBieG9yKHgsIHkpACAgIHggfiB5ACAgIHggXl4geSAgICAgLS0gbGVnYWN5AGJpbmFyeSBleGNsdXNpdmUgb3IuIGVhY2ggYml0AGluIHRoZSByZXR1cm4gdmFsdWUgaXMgc2V0IHdoZW4AZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nIGJpdHMAaW4geCBvciB5IGFyZSBzZXQsIGJ1dCBub3QgYm90aC4AaW4gb3RoZXIgd29yZHMsIGZvciBlYWNoIGJpdCBzZXQAc2V0IGluIHgsIGZsaXAgdGhhdCBiaXQgaW4geS4AICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMCAgAD4gP3Rvc3RyKDB4ZjAwIH4gMHgxMjMsIDEpADB4MGUyMy4wMDAwAHNobAA8PAA8PD0AgCBzaGwoeCwgbikAICAgeCA8PCBuAHNoaWZ0IGxlZnQuIG1vdmUgYWxsIG9mIHRoZQBiaXRzIGluIHggbGVmdCBuIHBsYWNlcy4APiA/dG9zdHIoMHhmZi4wYyA8PCA4LCAxKQAweGZmMGMuMDAwMABzaHIAPj4APj49AIAgc2hyKHgsIG4pACAgIHggPj4gbgBhcml0aG1ldGljIHNoaWZ0IHJpZ2h0LiBtb3ZlIGFsbABiaXRzIGluIHggcmlnaHQgbiBwbGFjZXMuIHRoZQBsZWZ0LW1vc3QgYml0IGlzICdzdGlja3knLCBzbwB0aGF0IG5lZ2F0aXZlIHZhbHVlcyByZW1haW4AbmVnYXRpdmUuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+PiA4LCAxKQAweGZmODAuY2FmZQBsc2hyAD4+PgA+Pj49ACAgIHggPj4+IG4AbG9naWNhbCBzaGlmdCByaWdodC4gbW92ZSBhbGwAYml0cyBpbiB4IHJpZ2h0IG4gcGxhY2VzLiB6ZXJvcwBjb21lIGluIGZyb20gdGhlIGxlZnQuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+Pj4gOCwgMSkAMHgwMDgwLmNhZmUAcm90bAA8PD4APDw+PQCAIHJvdGwoeCwgbikAICAgeCA8PD4gbgByb3RhdGUgYml0cyBsZWZ0IG4gcGxhY2VzLgA+ID90b3N0cigweGNhZmUuZjAwZCA8PD4gNCwgMSkAMHhhZmVmLjAwZGMAcm90cgA+PjwAPj48PQCAIHJvdHIoeCwgbikAICAgeCA+PjwgbgByb3RhdGUgYml0cyByaWdodCBuIHBsYWNlcy4APiA/dG9zdHIoMHhjYWZlLmYwMGQgPj48IDQsIDEpADB4ZGNhZi5lZjAwAG51bWJlcnMAgCBudW1iZXJzAG51bWJlcnMgaW4gcGljby04IGFyZSAxNjoxNgBmaXhlZCBwb2ludC4gdGhpcyBtZWFucyB0aGF0ADE2IGJpdHMgYXJlIHVzZWQgZm9yIHRoZQBpbnRlZ2VyIHBhcnQsIGFuZCAxNiBmb3IgdGhlAGZyYWN0aW9uYWwgcGFydC4gdGhlIHJhbmdlIG9mAHBvc3NpYmxlIHZhbHVlcyBpczoALTMyNzY4LjAgdG8gMzI3NjcuOTk5OTkAbnVtYmVycyB3cml0dGVuIGluIGRlY2ltYWwgYXJlAHJvdW5kZWQgdG8gdGhlIGNsb3Nlc3QgZml4ZWQAcG9pbnQgdmFsdWUuIHRvIHNlZSB0aGUgcmF3IDMyLQBiaXQgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb246AD4gP3Rvc3RyKDEvNiwgMSkAMHgwMDAwLjJhYWEAaGV4AGhleGFkZWNpbWFsAIAgaGV4YWRlY2ltYWwAbnVtYmVycyBjYW4gYmUgd3JpdHRlbiBpbiBoZXgAYnkgcHJlZml4aW5nIHRoZW0gd2l0aCAiMHgiOgA+IHByaW50KDB4M2YpADYzAGhleGlkZWNpbWFsIG5vdGF0aW9uIGlzIGJhc2UtMTYAdXNpbmcgY2hhcmFjdGVyIGEuLmYgZm9yIHRoZQB2YWx1ZXMgMTAuLjE1LiBpbiB0aGUgZXhhbXBsZQBhYm92ZSwgMHgzMCBtZWFucyA0OCAoMyoxNikgYW5kAHRoZSBmIG1lYW5zIDE1LCBzbyB0aGUgcmVzdWx0IGluAGRlY2ltYWwgaXM6IDQ4ICsgMTUgLT4gNjMuAHRvIGNvbnZlcnQgZnJvbSBkZWNpbWFsIHRvIGhleDoAPiBwcmludCh0b3N0cig2MywgMSkpADB4MDAzZi4wMDAwIC0tIGFsbCAzMiBiaXRzIHNob3duAGJpbmFyeQCAIGJpbmFyeQBudW1iZXJzIGNhbiBiZSB3cml0dGVuIGluIGJpbmFyeQBmb3JtIGJ5IHByZWZpeGluZyB0aGVtIHdpdGggIjBiIgA+IHByaW50KDBiMTAwMS4wMSkAOS4yNQA4ICB8ICA0ICB8ICAyICB8ICAxICB8IDEvMiB8IDEvNAAtLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLQAxICB8ICAwICB8ICAwICB8ICAxICB8ICAwICB8ICAxIABpbiB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIGZpcnN0ADEgaXMgaW4gdGhlICI4cyIgY29sdW1uLCBzbyB0aGUAaW50ZWdlciBwYXJ0IGlzIDgrMSA9IDkuIGFmdGVyAHRoZSBkZWNpbWFsIHBvaW50LCBlYWNoIDEgbWVhbnMAMS8yLCAxLzQsIC4uLiAxLzY1NTM2LiBpbiB0aGlzAGNhc2UgdGhlIG9ubHkgMSBpcyBpbiB0aGUgMS80dGhzAGNvbHVtbiwgc28gdGhlIHJlc3VsdCBpcyA5LjI1AGJpdGZpZWxkAGJpdGZpZWxkcwCAIGJpdGZpZWxkcwBiaXRmaWVsZHMgYXJlIG51bWJlcnMgd2hlcmUgZWFjaABlYWNoIGJpdCBoYXMgYmVlbiBhc3NpZ25lZCBhAHBhcnRpY3VsYXIgbWVhbmluZy4gcGljby04IHVzZXMAYml0ZmllbGRzIGZvciB0aGUgc3ByaXRlIGZsYWdzLABhbmQgc29tZXRpbWVzIGFzIHBhcmFtZXRlcnMgYW5kAHJldHVybiB2YWx1ZXMgZm9yIGFwaSBmdW5jdGlvbnMuAHRvIGNvbnN0cnVjdCBhIGJpdGZpZWxkLCB5b3UgY2FuAGJvcigpIHRoZSBzZXBhcmF0ZSBiaXRzIHRvZ2V0aGVyAGFuZCB0aGVuIHRlc3QgaWYgZWFjaCBiaXQgKGZsYWcpAGlzIHNldCB1c2luZyBiYW5kKCk6AD4gZmxhZ3MgPSA4fDEgLS1zZXQgYml0cyAzIGFuZCAwAD4gPyhmbGFncyAmIDgpID4gMCAtLWNoZWNrIGJpdCAzAHNlZSBhbHNvOiBiaW5hcnkgYm9yIGJhbmQAKwArPQAtPQCAIG9wZXJhdG9yOiArIC0gKz0gLT0AYWRkLCBzdWJ0cmFjdC4APiA/Mys0AD4geD03AD4geC09MgB3aGVuIHRoZSByZXN1bHQgaXMgZ3JlYXRlciB0aGFuADB4N2ZmZi5mZmZmLCB0aGUgcmVzdWx0IGxvb3BzOgA+ID8weDdmZmYgKyAxAC0zMjc2OAAqPQAvPQCAIG9wZXJhdG9yczogKiAvICo9IC89AG11bHRpcGx5IHR3byBudW1iZXJzLCBvciBkaXZpZGUAb25lIGJ5IHRoZSBvdGhlci4APiA/Myo0ADEyAD4geD04AD4geC89NAB0aGUgcmVzdWx0cyBvZiBtdWx0aXBseSBvdmVyZmxvdwBidXQgdGhlIHJlc3VsdHMgb2YgZGl2aWRlIGFyZQBjbGFtcGVkIHRvIC0zMjc2OC4uMHg3ZmZmLmZmZmY6AD4gP3Rvc3RyKDUwMCAvIDAsIDEpADB4N2ZmZi5mZmZmAFwAXD0AgCBpbnRlZ2VyIGRpdmlkZSBvcGVyYXRvcjogXABnaXZlcyB0aGUgc2FtZSByZXN1bHQgYXMgYQByZWd1bGFyIGRpdmlkZSByb3VuZGVkIGRvd24uAD4gPzlcMiAtLSBzYW1lIGFzIGZscig5LzIpAD4geCA9IDE2AD4geCBcPSAzACUAJT0AgCBtb2R1bG8gb3BlcmF0b3I6ICUgJT0AeCAlIHkgbWVhbnM6IGtlZXAgYWRkaW5nIHkAb3Igc3VidHJhY3RpbmcgeSBmcm9tIHggdW50aWwAMCA8PSB4IDwgeS4APiA/IDE1ICUgNABmb3IgcG9zaXRpdmUgbnVtYmVycywgdGhpcyBpcwB0aGUgc2FtZSBhcyBkaXZpbmcgeCBieSB5IGFuZAB5IGFuZCByZXR1cm5pbmcgdGhlIHJlbWFpbmRlci4AbW9kdWxvIGlzIHVzZWZ1bCB3aGVuZXZlciB5b3UAeW91IG5lZWQgdG8gd3JhcCBhIG51bWJlciB0bwBhIHBhcnRpY3VsYXIgcmFuZ2UuIGZvciBleGFtcGxlOgBmbHIodCgpJTMpIC0tIDAgMSAyIDAgMSAyIC4uAHNlZSBhbHNvOiBwZWVrMiAoZS5nLiAlbWVtX2FkZHIpAF4AXj0AgCBleHBvbmVudCBvcGVyYXRvcjogXiBePQB4IF4geSBnaXZlcyB4IHRvIHRoZSBwb3dlciBvZiB5LgB5IGNhbiBiZSBmcmFjdGlvbmFsLgA+ID81IF4gMyAgLS0gIHNhbWUgYXMgNSo1KjUAMTI1AD4gPzE2IF4gMC41AG5vdGU6IHheeSBtZWFucyBiaXR3aXNlIHhvciBpbgBvdGhlciBsYW5ndWFnZXMhIGluIHBpY28tOCBsdWEsAHhvciBpcyB4fnkgKG9yIGxlZ2FjeTogeF5eeSkALi49AIAgc3RyaW5nIGpvaW4gb3BlcmF0b3I6IC4uIC4uPQBvcGVyYW5kcyBjYW4gYWxzbyBiZSBub24tc3RyaW5nAHZhcmlhYmxlcywgYW5kIGFyZSBhdXRvbWF0aWNhbGx5AGNvbnZlcnRlZCB0byBjb21wbGV0ZSB0aGUgam9pbi4APiA/ImhlbGxvICIuLiJ3b3JsZCIAaGVsbG8gd29ybGQAPiB4ID0gNQA+ID8ieCBpczogIi4ueAB4IGlzIDUALi4uAIAgYXJndW1lbnRzOiAuLi4ALi4uIG1lYW5zICdyZW1haW5pbmcgYXJndW1lbnRzJwBmdW5jdGlvbiBwcmludF9hbGwoLi4uKQAgYT17Li4ufQAgZm9yZWFjaChhLCBwcmludCkAcHJpbnRfYWxsKDEsMiwzKQBzZWUgYWxzbzogc2VsZWN0IHBhY2sgdW5wYWNrAHNlbGVjdAB1bnBhY2sAcGFjawCAIHNlbGVjdCguLi4sIG4pACAgIHBhY2soLi4uKQAgICB1bnBhY2sodGJsKQBmdW5jdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBhAHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuAHNlbGVjdCByZXR1cm5zIGEgZ2l2ZW4gYXJndW1lbnQuAHBhY2sgY29udmVydHMgYW55IG51bWJlciBvZgBhcmd1bWVudHMgaW50byBhIHRhYmxlLCBhbmQAdW5wYWNrIGJhY2sgaW50byByZXR1cm4gdmFsdWVzLgBmdW5jdGlvbiBmb28oYSwgLi4uKQAgID8iYXJnMjoiLi5zZWxlY3QoMSwuLi4pACAgLS0gcmV0dXJuIGFsbCBidXQgZmlyc3QgYXJnACAgcmV0dXJuIHBhY2soLi4uKQBiID0gZm9vKHVucGFja3sxLDIsM30pIC0tIHsyLDN9AHN5c3RlbQCAIHN5c3RlbSBhcGkgZnVuY3Rpb25zAHJ1biBzdG9wIHJlc2V0IHlpZWxkIHRpbWUAbWVudWl0ZW0gc3RhdCBzZXJpYWwgZXh0Y21kAGNvY3JlYXRlIGNvcmVzdW1lIGNvc3RhdHVzAIAgc3lzdGVtIGNvbW1hbmRzAGxvYWQgc2F2ZSBpbXBvcnQgZXhwb3J0IGluZm8AcmVzdW1lIGZvbGRlciBzaHV0ZG93biByZWJvb3QAc3Bsb3JlIGJhY2t1cCBsb2dpbiBsb2dvdXQAgCBjYWxsYmFja3MAX2luaXQgX2RyYXcgX3VwZGF0ZSBfdXBkYXRlNjAAgCBpbnB1dABfaW5pdAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tAIAgX2luaXQoKQB3aGVuIF9pbml0IGlzIGRlZmluZWQsIGl0IGlzAGNhbGxlZCBvbmNlIGJlZm9yZSBlbnRlcmluZyB0aGUAbWFpbiBfdXBkYXRlIC8gX2RyYXcgbG9vcC4AX2RyYXcAgCBfZHJhdygpAHdoZW4gX2RyYXcgaXMgZGVmaW5lZCBpbiBhAHByb2dyYW0sIGl0IGlzIGNhbGxlZCBvbmNlAHBlciBmcmFtZS4gdGhpcyBjb3VsZCBiZSAxNSwAMzAgb3IgNjAgdGltZXMgcGVyIHNlY29uZC4AdGhlIGNvbnRlbnRzIG9mIHRoZSB2aWRlbwBtZW1vcnkgaXMgZGlzcGxheWVkIG9uY2UgX2RyYXcAcmV0dXJucyAtLSB0aGVyZSBpcyBubyBuZWVkIHRvAGV4cGxpY2l0bHkgY2FsbCBmbGlwKCkuAF91cGRhdGUAX3VwZGF0ZTYwAIAgX3VwZGF0ZSgpIF91cGRhdGU2MCgpAHdoZW4gX3VwZGF0ZSBvciB1cGRhdGU2MCBpcwBkZWZpbmVkLCBpdCBpcyBjYWxsZWQgYXQgMzAgb3IANjAgdGltZXMgcGVyIHNlY29uZCByZWdhcmRsZXNzAG9mIHRoZSBmcmFtZXJhdGUgKHByb3ZpZGVkAHRoZXJlIGlzIHN1ZmZpY2llbnQgY3B1IHRvAGRvIHNvKS4AZ2Z4AIAgZ2Z4IGFwaSBmdW5jdGlvbnMAY2FtZXJhIGNsaXAgY2xzIGNvbG9yIHBhbCBwYWx0AGZpbGxwIGZsaXAgbGluZSByZWN0IHJlY3RmaWxsAHJyZWN0IHJyZWN0ZmlsbCBvdmFsIG92YWxmaWxsAGNpcmMgY2lyY2ZpbGwgcGdldCBwc2V0AHByaW50IHByaW50aCBjdXJzb3IAbWFwIG1nZXQgbXNldCBmZ2V0IGZzZXQgdGxpbmUAc3ByIHNzcHIgc2dldCBzc2V0AGZsaXAAgCBmbGlwKCkAZmxpcCB0aGUgYmFjayBwYWdlIHRvIHRoZSBzY3JlZW4AYW5kIHN0YXJ0IHRoZSBuZXh0IGZyYW1lLgBub3RlIHRoYXQgcHJvZ3JhbXMgdGhhdCBoYXZlIGEAX2RyYXcoKSBmdW5jdGlvbiBkbyBub3QgbmVlZCB0bwBjYWxsIGZsaXAoKS4ALS0gZHJhdyBvbmUgc3RhciBwZXIgZnJhbWUAZm9yIGk9MSwxMDAgZG8AID8ikiIscm5kKDEyOCkscm5kKDEyOCkscm5kKDE2KQAgZmxpcCgpAGNhbWVyYQCAIGNhbWVyYSh4LCB5KQBzZXQgYSBzY3JlZW4gb2Zmc2V0IG9mIC14LCAteQBmb3IgYWxsIGRyYXdpbmcgb3BlcmF0aW9ucy4AY2FtZXJhKCkgdG8gcmVzZXQAY2xpcACAIGNsaXAoeCwgeSwgdywgaCwgW2NsaXBfb2xkXSkAc2V0cyB0aGUgY2xpcHBpbmcgcmVjdGFuZ2xlIGluAHBpeGVscy4gd2hlbiBjbGlwX29sZCBpcyB0cnVlLABjbGlwIHRoZSBuZXcgY2xpcHBpbmcgcmVjdGFuZ2xlAGJ5IHRoZSBleGlzdGluZyBvbmUuAGNscwCAIGNscyhbY29sXSkAY2xlYXIgdGhlIHNjcmVlbiBhbmQgcmVzZXQgdGhlAGNsaXBwaW5nIHJlY3RhbmdsZS4gY29sIGRlZmF1bHRzAHRvIGJsYWNrLgBjb2xvcgCAIGNvbG9yKFtjb2xdKQBzZXQgdGhlIGN1cnJlbnQgY29sb3VyIHVzZWQgYnkAZHJhd2luZyBmdW5jdGlvbnMuIGlmIGNvbCBpcwBub3Qgc3BlY2lmaWVkLCBkZWZhdWx0cyB0byA2LgB3aGVuIGEgZmlsbCBwYXR0ZXJuIGlzIGRlZmluZWQAdXNpbmcgZmlsbHAoKSwgYSBzZWNvbmQgY29sb3VyAGlzIG5lZWRlZCBhbmQgY2FuIGJlIHNwZWNpZmllZABpbiB0aGUgaGlnaCA0IGJpdHM6AGNvbG9yKDB4ODcpIC0tIHJlZCBhbmQgd2hpdGUAdGhlIGZpbGwgcGF0dGVybiBpdHNlbGYgY2FuIGFsc28AYmUgc3BlY2lmaWVkIGluIGNvbG91ciBhcmd1bWVudHMAKHNlZSB0aGUgbWFudWFsIGZvciBkZXRhaWxzKS4AcGFsAHBhbGV0dGUAgCBwYWwoYzAsIGMxLCBbcF0pAG1hcCBjb2xvdXIgYzAgdG8gYzEgZm9yIHBhbCBwOgAwIGRyYXcgcGFsZXR0ZSAoZGVmYXVsdCkAMSBkaXNwbGF5IHBhbGV0dGUAMiBzZWNvbmRhcnkgcGFsZXR0ZQB1c2UgcGFsKCkgdG8gcmVzZXQuACUyZABwYWx0AIAgcGFsdChjLCB0KQBzZXQgdGhlIHRyYW5zcGFyZW5jeSBmb3IgY29sb3VyAGMgdG8gdCAoYm9vbGVhbikuIHRyYW5zcGFyZW5jeQBpcyBvYnNlcnZlZCBieSBzcHIoKSwgc3NwcigpLABtYXAoKSBhbmQgdGxpbmUoKS4AcGFsdCgpIHRvIHJlc2V0IHRvIGRlZmF1bHRzLgB3aGVuIGEgc2luZ2xlIG51bWJlciBhcmd1bWVudABpcyBnaXZlbiwgaXQgaXMgdGFrZW4gdG8gYmUgYQBiaXRmaWVsZCBvZiBhbGwgMTYgdHJhbnNwYXJlbmN5AHZhbHVlcyBzdGFydGluZyBmcm9tIGhpZ2ggYml0cy4ALS0gbWFrZSBjb2xzIDAuLjMgdHJhbnNwYXJlbnQ6AHBhbHQoMHhmMDAwKQAtLSBtYWtlIGNvbG91ciA4IHRyYW5zcGFyZW50OgBwYWx0KDgsIHRydWUpAGZpbGxwAIAgZmlsbHAocCkAcCBpcyBhIGJpdGZpZWxkIHRoYXQgc3BlY2lmaWVzAGEgNFg0IGZpbGwgcGF0dGVybiBvYnNlcnZlZCBieQBjaXJjKigpLCByZWN0KigpLCBvdmFsKigpLCBwc2V0AGFuZCBsaW5lKCkuIGJpdCAweGIuMSBpbmRpY2F0ZXMAdHJhbnNwYXJlbmN5LiB0aGUgMTYgYml0IGxheW91dDoAIDB4ODAwMCAweDQwMDAgMHgyMDAwIDB4MTAwMAAgIDB4ODAwICAweDQwMCAgMHgyMDAgIDB4MTAwACAgIDB4ODAgICAweDQwICAgMHgyMCAgIDB4MTAAICAgIDB4OCAgICAweDQgICAgMHgyICAgIDB4MQAgZmlsbHAoMHg4NDIxKSAgZmlsbHAoMHg1MGEwKQAgZmlsbHAohSkgZmlsbHAohykgZmlsbHAolikAbGluZQCAIGxpbmUoeDAsIHkwLCBbeDEsIHkxLF0gW2NvbF0pAGRyYXcgYSBsaW5lIGZyb20gKHgwLHkwKSB0bwAoeDEseTEpLiB3aGVuIHgxLHkxIGFyZSBub3QsAGdpdmVuLCB0aGUgZW5kIG9mIHRoZSBsYXN0IGRyYXduAGxpbmUgaXMgdXNlZC4AcmVjdAByZWN0ZmlsbACAIHJlY3QgICAgKHgwLHkwLHgxLHkxLFtjb2xdKQAgICByZWN0ZmlsbCh4MCx5MCx4MSx5MSxbY29sXSkAZHJhdyBhIHJlY3RhbmdsZSBvciBmaWxsZWQAcmVjdGFuZ2xlIHdpdGggcG9pbnRzIGF0AG9wcG9zaXRlIGNvcm5lcnMgZ2l2ZW4gYnkAKHgwLHkwKSwgKHgxLHkxKS4AcnJlY3QAcnJlY3RmaWxsAIAgcnJlY3QgICAgKHgseSx3LGgsW3JdLFtjb2xdKQAgICBycmVjdGZpbGwoeCx5LHcsaCxbcl0sW2NvbF0pAHJlY3RhbmdsZSBvZiBzaXplIHcgWCBoLCB3aXRoAHJvdW5kZWQgY29ybmVycyBvZiByYWRpdXMgci4Ab3ZhbABvdmFsZmlsbACAIG92YWwgICAgKHgwLHkwLHgxLHkxLFtjb2xdKQAgICBvdmFsZmlsbCh4MCx5MCx4MSx5MSxbY29sXSkAZHJhdyBhbiBlbGxpcHNvaWQgYm91bmRlZCBieQB0aGUgZ2l2ZW4gcmVjdGFuZ2xlLgBjaXJjAGNpcmNmaWxsAIAgY2lyYyAgICAoeCwgeSwgciwgW2NvbF0pACAgIGNpcmNmaWxsKHgsIHksIHIsIFtjb2xdKQBkcmF3IGEgY2lyY2xlIGF0ICh4LHkpIHdpdGggYQByYWRpdXMgb2Ygci4gd2hlbiBhIG5lZ2F0aXZlAHJhZGl1cyBpcyBnaXZlbiwgbm90aGluZyBpcwBkcmF3bi4AbWFwAIAgbWFwKFt0eCwgdHldLCBbc3gsIHN5XSwAICAgW3R3LCB0aF0sIFtsYXllcnNdAGRyYXcgdGhlIG1hcCBmcm9tIHRpbGUgdHgsIHR5AGF0IHNjcmVlbiBwb3NpdGlvbiBzeCwgc3kuAHR3LHRoIGdpdmVzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0AHRvIGRyYXcgaW4gdGlsZXMuAGxheWVycyBpcyBhIGJpdGZpZWxkIHRoYXQgbWVhbnMAb25seSBzcHJpdGVzIHdpdGggdGhlIG1hdGNoaW5nAHNwcml0ZSBmbGFncyBzaG91bGQgYmUgZHJhd24uAHNwcml0ZSAwIGlzIG5vdCBkcmF3biB1bmxlc3MgdGhlAGJpdCBhdCAweDVmMzYgJiAweDggaXMgc2V0LgBtZ2V0AG1zZXQAgCBtZ2V0KHgseSkAICAgbXNldCh4LHksdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiB0aGUgbWFwAHRpbGUgYXQgeCx5LiB3aGVuIHgseSBpcyBvdXRzaWRlAHRoZSBtYXAgYXJlYSwgbWdldCByZXR1cm5zIDAuAGZnZXQAZnNldACAIGZnZXQobiwgW2ZdKQAgICBmc2V0KG4sIGJpdGZpZWxkKQAgICBmc2V0KG4sIGYsIHZhbCkAZ2V0IG9yIHNldCB0aGUgdmFsdWUgb2YgYSBzcHJpdGUAZmxhZyBmIGZvciBzcHJpdGUgbi4gd2hlbiBmIGlzAG9taXR0ZWQsIGFsbCBmbGFncyBhcmUgcmV0cmlldmVkAC9zZXQgYXMgYSBzaW5nbGUgOC1iaXQgYml0ZmllbGQuAGV4YW1wbGVzIHVzaW5nIHNwcml0ZSAyOgBmc2V0KDIsIDQsIHRydWUpIC0tIHNldCBmbGFnIDQAZnNldCgyLCAweGIpICAtLSBzZXQgZmxhZ3MgMCwxLDMAP2ZnZXQoMiwgMykgICAtLSB0cnVlAGluaXRpYWwgc3ByaXRlIGZsYWcgc3RhdGVzIGNhbgBiZSBzZXQgaW4gdGhlIHNwcml0ZSBlZGl0b3IuAHRsaW5lAIAgdGxpbmUoeCwgeSwgeDEsIHkxLCBteCwgbXksACAgIFttZHgsIG1keV0sIFtsYXllcnNdKQBkcmF3IGEgdGV4dHVyZWQgbGluZSBmcm9tICh4LHkpAHRvICh4MSx5MSksIHNhbXBsaW5nIGNvbG91cnMAZnJvbSB0aGUgbWFwIGF0IGVhY2ggcG9pbnQuAHdoZW4gbGF5ZXJzIGlzIGdpdmVuLCBvbmx5IHRpbGVzAHdpdGggbWF0Y2hpbmcgZmxhZ3MgYXJlIGRyYXduLgBteCxteSBhcmUgbWFwIGNvb3JkcyBnaXZlbiBpbgB0aWxlcyBhbmQgaW5jcmVtZW50ZWQgYnkgbWR4LABtZHkgYWZ0ZXIgZWFjaCBwaXhlbCBpcyBkcmF3bi4AZHJhdyBzdGF0ZToAMHg1ZjM4OiBsb29wIHdpZHRoIGluIHRpbGVzADB4NWYzOTogbG9vcCBoZWlnaHQgaW4gdGlsZXMAMHg1ZjNhOiBvZmZzZXQgeCBpbiB0aWxlcwAweDVmM2I6IG9mZnNldCB5IGluIHRpbGVzADB4NWYzNiYweDg6IGRyYXcgc3ByaXRlIDAAc3ByAIAgc3ByKG4sIHgsIHksIFt3LCBoXSwAICAgW2ZsaXBfeF0sIFtmbGlwX3ldAGRyYXcgc3ByaXRlIG4gYXQgeCwgeQB3ICh3aWR0aCkgYW5kIGggKGhlaWdodCkgYXJlIDEAYnkgZGVmYXVsdCwgYW5kIHNwZWNpZnkgaG93IG1hbnkAOHg4IHNwcml0ZXMgdG8gZHJhdy4AY29sb3IgMCBpcyBub3QgZHJhd24gYnkgZGVmYXVsdAAoaGVscCBwYWx0IGZvciBtb3JlIGluZm9ybWF0aW9uKQBmbGlwX3gsIGZsaXBfeSBhcmUgYm9vbGVhbnM6AHdoZW4gdHJ1ZSwgZHJhdyBtaXJyb3JlZABzc3ByAIAgc3NwcihzeCwgc3ksIHN3LCBzaCwgZHgsIGR5LAAgICBbZHcsIGRoXSwgW2ZsaXBfd10sIFtmbGlwX2hdAHN0cmV0Y2ggc3ByaXRlIHVzaW5nIHRoZSBzb3VyY2UAcmVjdGFuZ2xlIHN4LCBzeSwgc3csIHNoAGRyYXcgYXQgdGhlIGRlc3RpbmF0aW9uIGR4LCBkeQB3aXRoIGhlaWdodCBkdywgZGguIHdoZW4gZHcsIGRoAGFyZSBub3QgZ2l2ZW4sIHVzZSBzdywgc2gAd2hlbiB0cnVlLCBkcmF3IG1pcnJvcmVkLgBzZ2V0AHNzZXQAgCBzZ2V0KHgseSkAICAgc3NldCh4LHksdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiBhIHBpeGVsAGluIHRoZSBzcHJpdGVzaGVldCBhdCB4LCB5AHBnZXQAcHNldACAIHBnZXQoeCx5KQAgICBwc2V0KHgseSx2YWwpAG9uIHRoZSBzY3JlZW4gYXQgeCwgeQBwcmludAA/AIAgcHJpbnQoc3RyLCB4LCB5LCBbY29sXSkAICAgcHJpbnQoc3RyLCBbY29sXSkAcHJpbnQgdGhlIHN0cmluZyBzdHIgYXQgeCwgeQBvciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24Ac2hvcnRoYW5kOiB1c2UgPyBvbiBhIHNpbmdsZQBsaW5lIHdpdGhvdXQgYnJhY2tldHM6AD8iaGVsbG8iAHNvbWUgcDhzY2lpIGNvZGVzOgBcIzMgc2V0IGJhY2tncm91bmQgY29sICgwLi5mKQBcZjcgc2V0IGZvcmVncm91bmQgY29sICgwLi5mKQBcXmkgaW52ZXJ0ZWQgbW9kZQBcXncgd2lkZSBtb2RlICheLXcgdG8gZGlzYWJsZSkAXF50IHRhbGwgbW9kZSAoXi13IHRvIGRpc2FibGUpAFxecCBwaW5iYWxsIG1vZGUAXGEgYmVlcABwcmludGgAgCBwcmludGgoc3RyLCBbZmlsZW5hbWVdLAAgICBbb3ZlcndyaXRlXSwgW3RvX2Rlc2t0b3BdAHByaW50IHN0ciB0byBob3N0LiB3aGVuIHBpY28tOABpcyBydW5uaW5nIGZyb20gYSBzaGVsbCwgdGhlAG91dHB1dCBpcyBzZW50IHRvIHRoYXQgc2hlbGwsIG9yAGFwcGVuZGVkIHRvIGEgZmlsZSB3aGVuIGEAZmlsZW5hbWUgaXMgZ2l2ZW4uAGluIHRoZSBzZWNvbmQgY2FzZSwgYW55IGV4aXN0aW5nAGZpbGUgaXMgb3ZlcndyaXR0ZW4gd2hlbgBvdmVyd3JpdGUgaXMgdHJ1ZS4gdGhlIGZpbGUgaXMAc2F2ZWQgdG8gZGVza3RvcCB3aGVuIHRvX2Rlc2t0b3AAaXMgdHJ1ZS4AY3Vyc29yAIAgY3Vyc29yKHgsIHksIFtjb2xdAHNldCB0aGUgY3Vyc29yIHBvc2l0aW9uAGlmIGNvbCBpcyBzcGVjaWZpZWQsIGFsc28gc2V0IHRoZQBjdXJyZW50IGRyYXcgY29sb3VyLgBwZWVrAHBlZWsyAHBlZWs0AEAAJACAIHBlZWsoYWRkciwgW25dKQByZWFkIGEgYnl0ZSBmcm9tIG1lbW9yeSBhdCBhZGRyLgB3aGVuIG4gaXMgZ2l2ZW4sIHJldHVybiBuIGJ5dGVzIAByZWFkIHNlcXVlbnRpYWxseS4gaW50ZWdlcnMgYW5kAG51bWJlcnMgY2FuIGJlIHJlYWQgd2l0aCBwZWVrMigpAGFuZCBwZWVrNCByZXNwZWN0aXZlbHkuAC0tIGZldGNoIDIgYnl0ZXMgb2YgdmlkZW8gcmFtAGEsYiA9IHBlZWsoMHg2MDAwLCAyKQAtLSBvcGVyYXRvciBhbHRlcm5hdGl2ZXMAQGFkZHIgIC0tIHBlZWsoYWRkcikAJWFkZHIgIC0tIHBlZWsyKGFkZHIpACRhZGRyICAtLSBwZWVrNChhZGRyKQBwb2tlAHBva2UyAHBva2U0AIAgcG9rZShhZGRyLCB2YWwxLCBbdmFsMiwgLi4uXSkAd3JpdGUgb25lIG9yIG1vcmUgYnl0ZXMgdG8gcmFtAHN0YXJ0aW5nIGZyb20gYWRkci4gaW50ZWdlcnMAYW5kIG51bWJlcnMgY2FuIGJlIHdyaXR0ZW4gd2l0aABwb2tlMiBhbmQgcG9rZTQuAC0tIHdyaXRlIDQgYnl0ZXMgdG8gdmlkZW8gcmFtAHBva2UyKDB4NzAwMCwgMHg0NTY3LCAweDg5YWIpAG1lbXNldACAIG1lbXNldChhZGRyLCB2YWwsIGxlbikAd3JpdGUgdGhlIDgtYml0IHZhbHVlIHZhbCBpbnRvAHJhbSBzdGFydGluZyBmcm9tIGFkZHIsIGZvcgBsZW4gYnl0ZXMuAC0tIGZpbGwgaGFsZiBvZiB2aWRlbyBtZW1vcnkAbWVtc2V0KDB4NjAwMCwgMHhjOCwgMHgxMDAwKQBtZW1jcHkAgCBtZW1jcHkoZGVzdCwgc3JjLCBsZW4pAGNvcHkgbGVuIGJ5dGVzIGZyb20gYWRkcmVzcyBzcmMAdG8gZGVzdC4gc2VjdGlvbnMgY2FuIGJlAG92ZXJsYXBwaW5nIGFuZCBkbyBub3QgbmVlZCB0bwBiZSBhbGlnbmVkLgAtLSBjb3B5IHNvbWUgb2YgdGhlIHZpZGVvIHJhbSB0bwAtLSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4AbWVtY3B5KDB4NjAwMCwgMHg2ODAwLCAweDgwMCkAcmVsb2FkAIAgcmVsb2FkKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBzaW1pbGFyIHRvIG1lbWNweSwgYnV0IHJlYWQAZnJvbSBjYXJ0cmlkZ2Ugcm9tIGFuZCB3cml0ZQB0byByYW0gYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgByZWxvYWQoKSByZWxvYWRzIGV2ZXJ5dGhpbmcuAHRoZSBjb2RlIHNlY3Rpb24gKD49IDB4NDMwMCkAaXMgcHJvdGVjdGVkIGFuZCBjYW4gbm90IGJlAGFjY2Vzc2VkIGJ5IHJlbG9hZCAvIGNzdG9yZS4Ad2hlbiBmaWxlbmFtZSBmbiBpcyBnaXZlbiwAZGF0YSBpcyByZWFkIGZyb20gYSBzZXBhcmF0ZQBjYXJ0cmlkZ2UgZmlsZS4AY3N0b3JlAIAgY3N0b3JlKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBmcm9tIHJhbSBhbmQgd3JpdGUgdG8gY2FydCByb20AYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgBjc3RvcmUoKSBzdG9yZXMgZXZlcnl0aGluZyBpbgByYW0gYmFjayB0byB0aGUgY2FydHJpZGdlLgBzY29yZXN1YgCAIHNjb3Jlc3ViKHRibCwgc2NvcmUsIFtleHRyYV0pAHN1Ym1pdCBhIGhpZ2hzY29yZSB0byB0aGUgYmJzLgB0YmwgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlAHRhYmxlIGFuZCBjYW4gYmUgPD0gNDAgY2hhcnMAbG9uZy4gZS5nLiAibGV2ZWxfMSIAc2NvcmUgaXMgYSBudW1iZXIuIGhpZ2hlciBpcwBiZXR0ZXI7IHRoZSB0b3AgNjQgc2NvcmVzIGFyZQByZXR1cm5lZCBpbiBhIHRhYmxlIHdpdGggZmllbGRzOgBuYW1lIHNjb3JlIGV4dHJhIGRhdGUAdXNlIHNjb3Jlc3ViKHRibCkgdG8gZ3JhYiB0aGUAdGFibGUgc3RhdGUgd2l0aG91dCBzdWJtaXR0aW5nAGEgc2NvcmUuAGV4dHJhIGlzIGEgYmluYXJ5IHN0cmluZyBvZgBtZXRhZGF0YSA8PSA3NjggYnl0ZXMgbG9uZy4AY2FydGRhdGEAgCBjYXJ0ZGF0YShpZCkAb3BlbnMgYSBwZXJtYW5lbnQgZGF0YSBzdG9yYWdlAHNsb3QgdG8gYmUgYWNjZXNzZWQgd2l0aCBkZ2V0KCkAYW5kIGRzZXQoKSBvciBieSBkaXJlY3RseSBwb2tlLwBwZWVraW5nIHJhbSBhdCAweDVlMDAuLjB4NWVmZi4AaWQgaXMgYSBzdHJpbmcgPD0gNjQgY2hhcnMgbG9uZwB0aGF0IG1pZ2h0IG5vdCBiZSB1bmlxdWUgKGl0IGlzAHBvc3NpYmxlIGZvciB0d28gY2FydHMgdG8gc2hhcmUAdGhlIHNhbWUgc3RvcmFnZSkuAGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkAG9uY2UgcGVyIHByb2dyYW0gLS0gaXQgaXMgbm90AHBvc3NpYmxlIHRvIHVzZSBtdWx0aXBsZSBkYXRhAHN0b3JhZ2Ugc2xvdHMgaW4gb25lIHByb2dyYW0uAGRnZXQAZHNldACAIGRnZXQoaSkAICAgZHNldChpLCB2YWwpAGdldC9zZXQgdGhlIG51bWJlciBpbiBwZXJtYW5lbnQAZGF0YSBzdG9yYWdlIGF0IGluZGV4IGkgKDAuLjYzKS4Ac2FtZSBhcyBwZWVrNCgweDVlMDAraSo0KSBhbmQAcG9rZTQoMHg1ZTAwK2kqNCwgdmFsKSwgYWZ0ZXIAY2FydGRhdGEoaWQpIGhhcyBiZWVuIHVzZWQgdG8AbWFwIHRoaXMgbWVtb3J5IHJhbmdlIHRvIHN0b3JhZ2UAY2FsbGluZyBkZ2V0IG9yIGRzZXQgYmVmb3JlAGNhcnRkYXRhKGlkKSByZXN1bHRzIGluIGEgcnVuLQB0aW1lIGVycm9yLgBzdWIAgCBzdWIoc3RyLCBwb3MwLCBbcG9zMV0pAHJldHVybnMgYSBzdWJzdHJpbmcgb2Ygc3RyLCBmcm9tAHBvczAgdW50aWwgcG9zMSwgb3IgI3N0ciB3aGVuAHdoZW4gcG9zMSBpcyBub3QgZ2l2ZW4uIHBvczAgYW5kAHBvczEgYXJlIDEtYmFzZWQsIGFuZCBpbmNsdWRlAHRoZSBjaGFyYWN0ZXJzIGF0IHBvczAsIHBvczEuAG5lZ2F0aXZlIHZhbHVlcyBtZWFuIGNoYXJhY3RlcnMAZnJvbSB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuAD9zdWIoImFiY2RlIiwyLDQpIC0tIGJjZAA/c3ViKCJhYmNkZSIsMiAgKSAtLSBiY2RlAD9zdWIoImFiY2RlIiwtMiApIC0tIGRlAHVzZSBzW2ldIHRvIGdyYWIgYSBzaW5nbGUgY2hhcjoAPnM9ImFiY2QiAD4/c1szXQBjAGNocgCAIGNocih2YWwwLCBbdmFsMSwgdmFsMiAuLi5dKQBjb252ZXJ0IG9uZSBvciBtb3JlIGNoYXJhY3RlcgBjb2RlcyB0byBhIHN0cmluZy4ALS0gQAA/Y2hyKDY0KSAALS0gaGVsbG8AP2NocigxMDQsMTAxLDEwOCwxMDgsMTExKQBvcmQAgCBvcmQoc3RyLCBbcG9zXSwgW251bV0pAHJldHVybiBvbmUgb3IgbW9yZSBvcmRpbmFsIGNoYXIAdmFsdWVzICgwLi4yNTUpIGZyb20gc3RyaW5nIHN0ci4Ad2hlbiBwb3MgaXMgb3V0IG9mIHJhbmdlIG9yIHN0cgBpcyBub3QgYSBzdHJpbmcsIHJldHVybnMgbmlsLgA/b3JkKCJAIikgICAgICAtLSA2NAA/b3JkKCJhYmMiLDIpICAtLSA5OAAtLSA5Nyw5OCw5OQBhLGIsYyA9IG9yZCgiYWJjIiwxLDMpAC0tIHdyaXRlIG9yZCB2YWx1ZXMgdG8gc2NyZWVuAHBva2UoMHg3MDAwLG9yZCgic3R1dnd4eXoiLDEsOCkpAHNwbGl0AIAgc3BsaXQoc3RyLCBbc2VwXSwgW251bWJlcnNdAHNwbGl0IGEgc3RyaW5nIGludG8gYSB0YWJsZSBvZgBlbGVtZW50cyBkZWxpbWl0ZWQgYnkgdGhlAHNlcGFyYXRvciBzZXAgKCIsIiBieSBkZWZhdWx0KS4Ad2hlbiBudW1iZXJzIGlzIHRydWUsIG51bWVyaWNhbAB0b2tlbnMgYXJlIHN0b3JlZCBhcyBudW1iZXJzAGluc3RlYWQgb2Ygc3RyaW5ncyAodHJ1ZSB3aGVuAG5vdCBnaXZlbikuAHNwbGl0KCIxLDIsMyIpIC0tIHsxLDIsM30Ac3BsaXQoIjEsLDIsIikgLS0gezEsIiIsMiwiIn0Ac3BsaXQoIm9uZTp0d286MyIsIjoiLGZhbHNlKQAgLS0+IHsib25lIiwidHdvIiwiMyJ9AHRvc3RyAIAgdG9zdHIodmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBzdHJpbmcuAGZvcm1hdCBpcyBhIGJpdGZpZWxkOgAgIDB4MTogd3JpdGUgYXMgcmF3IGhleGFkZWNpbWFsACAgMHgyOiB3cml0ZSByYXcgaW50MzIAP3Rvc3RyKDE3KSAgIC0tICIxNyIAP3Rvc3RyKDE3LDEpIC0tICIweDAwMTEuMDAwMCIAP3Rvc3RyKDE3LDMpIC0tICIweDAwMTEwMDAwIgA/dG9zdHIoMTcsMikgLS0gIjExMTQxMTIiAHRvbnVtAIAgdG9udW0odmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBudW1iZXIsIG9yAHJldHVybiBub3RoaW5nIHdoZW4gbm8gbnVtYmVyAGNhbiBiZSByZWFkLgAgIDB4MTogcmVhZCB2YWwgYXMgaGV4YWRlY2ltYWwAICAgICAgIHdpdGggbm8gIjB4IiBwcmVmaXgAICAweDI6IHJlYWQgdmFsIGFzIGEgcmF3IGludDMyACAgMHg0OiByZXR1cm4gMCB3aGVuIHZhbCBjYW4AICAgICAgIG5vdCBiZSByZWFkIGFzIGEgbnVtYmVyAD90b251bSgiZmYiLDB4MSkgICAgICAtLSAyNTUAP3RvbnVtKCIxMTE0MTEyIiwweDIpIC0tIDE3AD90b251bSgiMTIzNGFiY2QiLDB4MykAIC0tPiAweDEyMzQuYWJjZABhZGQAgCBhZGQodGJsLCB2YWwsIFtpbmRleF0pAGFkZCB2YWx1ZSB2YWwgdG8gZW5kIG9mIHRhYmxlAHRibC4gZXF1aXZhbGVudCB0bzoAdGJsWyN0YmwgKyAxXSA9IHZhbABpZiBpbmRleCBpcyBnaXZlbiwgdGhlIG5ldwBlbnRyeSBpcyBpbnNlcnRlZCBhdCB0aGF0AHBvc2l0aW9uLgBmb289ezEwLDIwLDMwfQBhZGQoZm9vLDI1LDMpIC0tPiAxMCwyMCwyNSwzMABhcHBsaWVzIHRvIHRhYmxlcyBpbmRleGVkIGJ5AGludGVnZXJzIHN0YXJ0aW5nIGF0IDEuAGRlbACAIGRlbCh0YmwsIHZhbCkAZGVsZXRlIHRoZSBmaXJzdCBpbnN0YW5jZSBvZgB2YWwgaW4gdGFibGUgdGJsIGFuZCBtb3ZlIHRoZQByZW1haW5pbmcgZW50cmllcyB1cCBvbmUgcGxhY2UuAHJldHVybnMgdGhlIGRlbGV0ZWQgaXRlbSwgb3Igbm8AdmFsdWUgd2hlbiBub3RoaW5nIHdhcyBkZWxldGVkLgBhPXsxLDEwLDIsM30AZGVsKGEsIDEwKSAtLT4gMSwyLDMAZGVsaQCAIGRlbGkodGJsLCBpbmRleCkAZGVsZXRlIGFuIGl0ZW0gZnJvbSB0YWJsZSB0YmwAYXQgYSBnaXZlbiBpbmRleCwgYW5kIG1vdmUgdGhlAHdoZW4gaW5kZXggaXMgbm90IGdpdmVuLCBkZWxldGUAYW5kIHJldHVybiB0aGUgbGFzdCBpdGVtOgBhPXsxLDIsMyw0fQBkZWxpKGEsMikgLS0+IDEsMyw0AGRlbGkoYSkgICAtLT4gMSwzAGFsbACAIGFsbCh0YmwpAHVzZWQgaW4gZm9yIGxvb3BzIHRvIGl0ZXJhdGUAb3ZlciBhbGwgaXRlbXMgaW4gYSB0YWJsZS4AdG90YWwgPSAwAGE9ezEwLDIwLDMwfQBmb3IgbiBpbiBhbGwoYSkgZG8AICB0b3RhbCArPSBuAD9uICAgLS0gNjAAZm9yZWFjaACAIGZvcmVhY2godGJsLCBmdW5jKQBmb3IgZWFjaCBpdGVtIGluIHRhYmxlIHRibCwgY2FsbAB0aGUgZnVuY3Rpb24gZnVuYyB3aXRoIHRoYXQgaXRlbQBhcyBhbiBhcmd1bWVudC4APiBmb3JlYWNoKHsxLDIsImhleSJ9LCBwcmludCkAaGV5AHBhaXJzAIAgcGFpcnModGJsKQB1c2VkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgaXRlbXMAaW4gYSB0YWJsZSwgaW5jbHVkaW5nIGtleXMgdGhhdABhcmUgYXJlIG5vdCBpbnRlZ2Vycy4gZWFjaCBjYWxsAHRvIHRoZSBmdW5jdGlvbiBpdCBnZW5lcmF0ZXMAcmV0dXJucyBib3RoIHRoZSBrZXkgKGspIGFuZCB0aGUAdmFsdWUgKHYpIGZvciB0aGF0IGl0ZW06AGEgPSB7Zm9vID0gMywgWzEuNV0gPSAiYmxhaCJ9AGZvciBrLHYgaW4gcGFpcnMoYSkgZG8AICBwcmludCgiazoiLi5rLi4iICB2OiIuLnYpAGs6Zm9vICB2OjMAazoxLjUgIHY6YmxhaABydW4AgCBydW4oW3BhcmFtX3N0cl0pAHJ1biB0aGUgcHJvZ3JhbS4gd2hlbiBjYWxsZWQAd2hlbiBhbHJlYWR5IHJ1bm5pbmcsIHRoZQBwcm9ncmFtIGlzIHJlc3RhcnRlZC4AcGFyYW1fc3RyIGlzIGEgc3RyaW5nIHRoYXQgY2FuAGJlIGFjY2Vzc2VkIGR1cmluZyBydW50aW1lIHdpdGgAc3RhdCg5KS4Ac3RvcACAIHN0b3AoW21lc3NhZ2VdKQBzdG9wIHRoZSBjdXJyZW50bHkgcnVubmluZwBwcm9ncmFtIGFuZCBvcHRpb25hbGx5IHByaW50AGEgbWVzc2FnZS4AYSBzdG9wcGVkIHByb2dyYW0gY2FuIHJlc3VtZWQAd2l0aCB0aGUgcmVzdW1lIGNvbW1hbmQsIG9yAGFkdmFuY2VkIGJ5IGEgc2luZ2xlIGZyYW1lIHdpdGgAYSBmdWxsIHN0b3AuAHJlc3VtZQCAID4gcmVzdW1lACAgID4gLgByZXN1bWUgYSBwcm9ncmFtIHRoYXQgd2FzAHN0b3BwZWQgZWl0aGVyIHdpdGggc3RvcCgpIG9yAGJ5IHByZXNzaW5nIGVzY2FwZS4AYSBzaW5nbGUgZnJhbWUgY2FuIGJlIHJ1biBieQBlbnRlcmluZyBhIGZ1bGwgc3RvcCwgYW5kIHRoZW4AcHJlc3NpbmcgZW50ZXIgdG8gZ2V0IHN1YnNlcXVlbnQAZnJhbWVzLgByZXNldACAIHJlc2V0KCkAcmVzdG9yZSB0aGUgdmFsdWVzIGluIHJhbSBmcm9tADB4NWYwMC4uMHg1ZjdmIHRvIHRoZWlyIGRlZmF1bHQAdmFsdWVzLgB0aGlzIGluY2x1ZGVzIHRoZSBwYWxldHRlLABjYW1lcmEgcG9zaXRpb24sIGNsaXBwaW5nLCBhbmQAZmlsbCBwYXR0ZXJuLgBpdCBjYW4gYWxzbyBiZSB1c2VkIGZyb20gY29tbWFuZABsaW5lIHdpdGhvdXQgdGhlIGJyYWNrZXRzLiB0aGlzAGNhbiBiZSB1c2VmdWwgd2hlbiB0aGUgdGV4dCBpcwBpbnZpc2libGUgYmVjYXVzZSBvZiBwYWxldHRlAGNoYW5nZXMuAHlpZWxkAIAgeWllbGQoKQBleGl0IGEgY29yb3V0aW5lIGFuZCB0aGVuAHJlc3VtZSBhdCB0aGF0IHBvaW50IHdoZW4AY29yZXN1bWUoKSBpcyBjYWxsZWQuAGZvciBhbiBleGFtcGxlLCBzZWU6AGNvcmVzdW1lAGNvY3JlYXRlAGNvcm91dGluZQBjb3JvdXRpbmVzAIAgY29jcmVhdGUoZikAICAgY29yZXN1bWUoYywgW3AwLCBwMSwgLi4uXSkAY3JlYXRlIGEgY29yb3V0aW5lIGZyb20gYQBmdW5jdGlvbiBmLCBhbmQgdGhlbiBydW4gaXQAd2l0aCBhcmd1bWVudHMgcDAsIHAxLi4AZnVuY3Rpb24gaGV5KCkAICBwcmludCJkb2luZyBzb21ldGhpbmciACAgeWllbGQoKQAgIHByaW50InNvbWV0aGluZyBlbHNlIgAgIHByaW50ImZpbmlzaGVkIgBjID0gY29jcmVhdGUoaGV5KQBjb3Jlc3VtZShjKSAgLS0gZG9pbmcgc29tZXRoaW5nAGNvcmVzdW1lKGMpICAtLSBzb21ldGhpbmcgZWxzZQA/Y29zdGF0dXMoYykgLS0gInN1c3BlbmRlZCIAY29zdGF0dXMAgCBjb3N0YXR1cyhjKQByZXR1cm5zIHRoZSBzdGF0dXMgb2YgYQBjb3JvdXRpbmUgYyBhcyBhIHN0cmluZzoAICBydW5uaW5nACAgc3VzcGVuZGVkACAgZGVhZAB0aW1lAHQAgCB0aW1lKCkAICAgdCgpAHJldHVybnMgdGhlIG51bWJlciBvZiBzZWNvbmRzAHNpbmNlIHRoZSBwcm9ncmFtIHN0YXJ0ZWQAcnVubmluZywgdGFrZW4gZnJvbSB0aGUgbW9tZW50AHRoZSBjdXJyZW50IGZyYW1lIHN0YXJ0ZWQuAG1lbnVpdGVtAIAgbWVudWl0ZW0oaW5kZXgsIFtsYWJlbF0sIFtmXSkAYWRkIGFuIGl0ZW0gdG8gdGhlIHBhdXNlIG1lbnUgAGF0IHNsb3QgaW5kZXggKDEuLjUpIHdpdGggYQBsYWJlbCA8PSAxNiBjaGFycyBsb25nLgBmIGlzIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQAd2hlbiB0aGUgbWVudSBpdGVtIGlzIHNlbGVjdGVkAG9yIHRoZSBsZWZ0IG9yIHJpZ2h0IGJ1dHRvbnMAYXJlIHByZXNzZWQuIGl0IHRha2VzIGEgc2luZ2xlAGJpdGZpZWxkIHBhcmFtZXRlciBpbmRpY2F0aW5nAHdoaWNoIGJ1dHRvbiB3YXMgcHJlc3NlZC4AbWVudWl0ZW0oMSwgImZvbyIsIGZ1bmN0aW9uKGIpACA/InNlbGVjdGVkIGZvbzoiLi5iAGVuZCkAd2hlbiBubyBsYWJlbCBvciBjYWxsYmFjayBpcwBzcGVjaWZpZWQsIHRoZSBpdGVtIGlzIGRlbGV0ZWQuAHN0YXQAgCBzdGF0KHgpAGdldCBzeXN0ZW0gc3RhdHVzACAwIG1lbW9yeSB1c2FnZSAoMC4uMjA0OCkAIDEgY3B1ICAgICAgKDEuMCA9PSAxMDAlKQAgNCBjbGlwYm9hcmQgY29udGVudHMAIDYgcGFyYW1ldGVyIHN0cmluZwAgNyBjdXJyZW50IGZyYW1lcmF0ZQAgNDYuLjQ5IGN1cnJlbnQgcGxheWluZyBzZngAIDUwLi41MyBub3RlIG51bWJlciAocGVyIGNoYW4pACA1NCBjdXJyZW50bHkgcGxheWluZyBwYXR0ZXJuACA1NSB0b3RhbCBwYXR0ZXJucyBwbGF5ZWQAIDU2IHRpY2tzIHBsYXllZCBvbiBwYXR0ZXJuACA1NyB0cnVlIHdoZW4gbXVzaWMgcGxheWluZwAgODAuLjg1IHV0YyB0aW1lOyB5ZWFyLi5zZWNvbmQAIDkwLi45NSBsb2NhbCB0aW1lACAxMDAgYnJlYWRjcnVtYiBsYWJlbCwgb3IgbmlsAHNlcmlhbACAIHNlcmlhbChjaGFubmVsLCBhZGRyLCBsZW4pAHJlYWQvd3JpdGUgZGF0YSB0byBhIG1lbW9yeQBhZGRyZXNzIGZvciBsZW4gYnl0ZXMuAGNoYW5uZWw6ACAweDAwMC4uMHgwZmUgZ3BpbyBwaW5zIChyYXNwaSkAIDB4MGZmIGRlbGF5IGZvciBsZW4gbXMAIDB4ODAwIGRyb3BwZWQgZmlsZSAtLSBzdGF0KDEyMCkAIDB4ODAyIGRyb3BwZWQgZmlsZQAgMHg4MDQgc3RkaW4AIDB4ODA1IHN0ZG91dABleHRjbWQAgCBleHRjbWQoY21kX3N0cikAc3BlY2lhbCBzeXN0ZW0gY29tbWFuZHMgY2FuIGJlAGlzc3VlZCBmcm9tIGEgcnVubmluZyBwcm9ncmFtOgBwYXVzZTogcGF1c2UgY2FydAByZXNldDogcmVzZXQgY2FydABnb19iYWNrOiByZXR1cm4gdG8gcHJldmlvdXMgY2FydABsYWJlbDogc2V0IGNhcnQgbGFiZWwAc2NyZWVuOiBzYXZlIGEgc2NyZWVuc2hvdAByZWM6IHNldCB2aWRlbyBzdGFydCBwb2ludAByZWNfZnJhbWVzOiAxIGZyYW1lIHBlciBmbGlwAHZpZGVvOiBzYXZlIGEgLmdpZiB0byBkZXNrdG9wAGF1ZGlvX3JlYzogc3RhcnQgcmVjb3JkaW5nIGF1ZGlvAGF1ZGlvX2VuZDogc2F2ZSAud2F2IHRvIGRlc2t0b3AAc2h1dGRvd246IChmb3IgZXhwb3J0ZWQgY2FydHMpAGZvbGRlcjogb3BlbiBjdXJyZW50IGZvbGRlcgBsb2FkAIAgPiBsb2FkIGZpbGVuYW1lACAgIGxvYWQoZmlsZW5hbWUsIFticmVhZGNydW1iXSwAICAgW3BhcmFtX3N0cl0pAGxvYWQgYSBjYXJ0cmlkZ2UuIHdoZW4gY2FsbGVkAGZyb20gYSBydW5uaW5nIHByb2dyYW0sIHRoZQBsb2FkZWQgY2FydHJpZGdlIGlzIGltbWVkaWF0ZWx5AHJ1biB3aXRoIHBhcmFtX3N0ciAoYWNjZXNzaWJsZQB3aXRoIHN0YXQoNikpIGFuZCBhIG1lbnUgaXRlbQB3aXRoIHRoZSBsYWJlbCBicmVhZGNydW1iIGlzAGluc2VydGVkLCBhbGxvd2luZyB0aGUgdXNlciB0bwByZXR1cm4gdG8gdGhlIHByZXZpb3VzIGNhcnQuAGZpbGVuYW1lcyBzdGFydGluZyB3aXRoICMgYXJlAHRha2VuIHRvIGJlIGJicyBjYXJ0cmlkZ2UgaWRzLgBzYXZlAIAgPiBzYXZlIGZpbGVuYW1lAHNhdmUgdGhlIHdvcmtpbmcgY2FydHJpZGdlIHRvIGEAZmlsZS4gd2hlbiB0aGUgZmlsZSBkb2VzIG5vdABjb250YWluIHRoZSAucDggZXh0ZW5zaW9uLCBpdCBpcwBhZGRlZCBhdXRvbWF0aWNhbGx5OgA+IHNhdmUgZm9vAHNhdmVkIGZvby5wOAB1c2UgLnBuZyBpbiB0aGUgZmlsZW5hbWUgdG8gc2F2ZQBhIC5wOC5wbmcgY2FydHJpZGdlLiB0byBjYXB0dXJlAGEgbGFiZWwgYmVmb3JlaGFuZCwgcHJlc3MgY3RybC03AHRvIHNhdmUgdG8gY2xpcGJvYXJkLCB1c2U6AD5zYXZlIEBjbGlwAHRoaXMgY2FuIGJlIHBhc3RlZCBhcyB0ZXh0IGFuZABpcyBzdXBwb3J0ZWQgYnkgdGhlIGJicy4AaW1wb3J0AIAgPiBpbXBvcnQgZmlsZW5hbWUAaW1wb3J0IGFuIGltYWdlIG1hcHBpbmcgdG8gdGhlAGN1cnJlbnQgcGFsZXR0ZS4gdW5sZXNzIC1sIGlzAHVzZWQsIGltcG9ydCB0byB0aGUgc3ByaXRlc2hlZXQuACAtbCAgICAgLS0gaW1wb3J0IGNhcnQgbGFiZWwAIC14IG51bSAtLSBsb2FkIGF0IHggcG9zaXRpb24AIC15IG51bSAtLSBsb2FkIGF0IHkgcG9zaXRpb24APiBpbXBvcnQgLWwgbXlsYWJlbC5wbmcAZXhwb3J0AIAgPiBleHBvcnQgZmlsZW5hbWUgAGV4cG9ydCBhIGZpbGUgYmFzZWQgb24gdHlwZToAIC5wbmcgIHNwcml0ZXNoZWV0ACAud2F2ICBjdXJyZW50IHNmeCBvciBwYXR0ZXJuACAuYmluICBzdGFuZC1hbG9uZSBiaW5hcmllcwAgLmh0bWwgc3RhbmQtYWxvbmUgd2ViIGFwcAAgLnA4LnBuZyAgIHNhdmUgYSBjb3B5ACAubWFwLnBuZyAgbWFwIHZpc3VhbGlzYXRpb24AZXhwb3J0IGxhYmVsOgA+IGV4cG9ydCAtbCBsYWJlbC5wbmcAdGlueSAucm9tIGZvcm1hdCAoY29kZSBvbmx5KToAPiBleHBvcnQgLXQgZm9vLnA4LnJvbQBiaW5hcnkgbXVsdGljYXJ0OgA+IGV4cG9ydCBmb28uYmluIGNhcnQyLnA4IGMzLnA4AGluZm8AgCA+IGluZm8AZ2V0IHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlAGN1cnJlbnRseSBsb2FkZWQgY2FydHJpZGdlOgAgZmlsZW5hbWUAIGNhcGFjaXR5IHN0YXRzACB1bnNhdmVkIGNoYW5nZXMAZm9sZGVyAIAgPiBmb2xkZXIgW3doaWNoXQBvcGVuIHRoZSBjdXJyZW50IGZvbGRlciBpbiB0aGUAaG9zdCdzIGZpbGUgbmF2aWdhdG9yLgB3aGVuIHdoaWNoIGlzIGdpdmVuLCBhIHNwZWNpYWwAbG9jYXRpb24gaXMgb3BlbmVkOgAgYmFja3VwcwAgY29uZmlnACBiYnMAIGRlc2t0b3AAdG8gb3BlbiBhIGZvbGRlciBmcm9tIGEgcnVubmluZwBjYXJ0cmlkZ2UgdGhhdCBoYXMgYmVlbiBleHBvcnRlZAB0byBiaW5hcnksIHVzZSBleHRjbWQoImZvbGRlciIuAHNodXRkb3duAIAgPiBzaHV0ZG93bgBwcm9tcHQgZm9yIGFueSB1bnNhdmVkIGNoYW5nZXMAYW5kIHRoZW4gY2xvc2UgcGljby04LgBmb3IgZmFzdCBzaHV0ZG93biwgdXNlIGtleXM6ACBhbHQtZjQgKHdpbmRvd3MpACBjdHJsLXEgKGxpbnV4IC8gbWFjKQBscwBkaXIAgCA+IGxzIFtwYXRoXQBsaXN0IGFsbCBvZiB0aGUgY2FydHMgaW4AdGhlIGdpdmVuIHBhdGguAGxzICogdG8gc2hvdyBoaWRkZW4gZmlsZXMAcmVib290AIAgPiByZWJvb3QAYW5kIHRoZW4gcmVib290IHBpY28tOC4AdGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvAHN0YXJ0IGEgbmV3IGVtcHR5IHByb2plY3QuAHNwbG9yZQCAID4gc3Bsb3JlACAgID4gcwBvcGVuIHNwbG9yZTogcGljby04J3MgYmJzAGNhcnRyaWRnZSBicm93c2VyLgB1c2UgbGVmdCBhbmQgcmlnaHQgdG8gc3dpdGNoAGJldHdlZW4gY2FydHJpZGdlIGxpc3RzLCBhbmQAdXAgYW5kIGRvd24gdG8gc2VsZWN0IGEgY2FydC4AdXNlIJcvjiB0byBvcGVuIGEgY2FydHJpZGdlAG9yIHRoZSBtZW51IGJ1dHRvbiBmb3IgbW9yZQBvcHRpb25zLgBsb2dpbgBsb2dvdXQAgCA+IGxvZ2luACAgID4gbG9nb3V0AGxvZyBpbiB0byB5b3VyIGxleGFsb2ZmbGUAYWNjb3VudC4gd2hpbGUgbG9nZ2VkIGluLCB1c2VycwBhcmUgYWJsZSB0byBzdWJtaXQgaGlnaCBzY29yZXMAdXNpbmcgc2NvcmVzdWIoKSwgYWRkIHN0YXJzIHRvAGNhcnRzLCBhbmQgc3luYyBiYnMgZmF2b3VyaXRlcy4AW25vdCBpbXBsZW1lbnRlZCB5ZXQhXQB0b3BpYyBub3QgZm91bmQ6AF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAdG9vIG1hbnkgY2FydGRhdGEoKSBzbG90cwBiYWQgY2FydCBkYXRhIGlkAGNhcnQgZGF0YSBpZDogYmFkIGNoYXIALndhdgAucmF3AGV4cG9ydCBpcyB1bmF2YWlsYWJsZQBjb3VsZCBub3Qgb3BlbiBmaWxlAHdyb3RlICVkIGZpbGUlYwBubyByZWNvcmRpbmcgaW4gcHJvZ3Jlc3MAc2Z4ICVkIDo6IHRpY2tzICVkAHBhdHRlcm4gJWQAd2F2AHBsYXllciBrZXkgY29uZmlnAHNhdmVkIGNvbmZpZy4AcHJlc3MgZXNjYXBlAHRvIGNvbnRpbnVlAHByZXNzIGtleSBmb3I6AGRlbCBmb3IgZGVmYXVsdABlc2MgdG8gY2FuY2VsACVzIDogJXMAbGVmdAByaWdodAB1cABkb3duAHogLyBjIC8gbgB4IC8gdiAvIG0AcwBmAGUAZAB0YWIAcQBwIC8gZW50ZXIAcDEgbGVmdCAgICAAcDEgcmlnaHQgICAAcDEgdXAgICAgICAAcDEgZG93biAgICAAcDEgjiAgICAgIABwMSCXICAgICAgAHAyIGxlZnQgICAgAHAyIHJpZ2h0ICAgAHAyIHVwICAgICAgAHAyIGRvd24gICAgAHAyII4gICAgICAAcDIglyAgICAgIABwYXVzZSAgICAgIABscnVkb3hwY3Vyc29ycwB6IHgvYyB2AHMgZiBlIGQAdGFiIHEgdwAgICAgICAgACVkIGpveXN0aWNrcyBkZXRlY3RlZABsb2NhbABmYXZvdXJpdGVzAG5ldwBmZWF0dXJlZAB3b3JrIGluIHByb2dyZXNzAGphbQBsdWNreSBkcmF3AHNlYXJjaABmYXYAdG9wAHdpcABsdWNreQBjYXQ9NyZzdWI9MgBjYXQ9NyZzdWI9MiZvcmRlcmJ5PXJhdGluZwBjYXQ9NyZzdWI9MwBjYXQ9NyZzdWI9OABjYXQ9NyZvcmRlcmJ5PWx1Y2t5AGNhdD03JnNlYXJjaD1ibGFoAC5wbmcAfCUtMjBzIHwlLTIwcyB8JS02ZCB8JS0xNnMgfCUtMjBzIHwlcwoAY291bGQgbm90IGxvYWQgZmF2b3VyaXRlcyBmaWxlOiAlcwoAYmJzAGJicy8lZC8AJXN0ZW1wLSVkLm5mbwAlcyVkLnA4LnBuZwBiYnMvY2FydHMAJXMvdGVtcC0lcy5uZm8AJXMvJXMucDgucG5nACVzL2Jicy9nZXRfY2FydC5waHA/Y2F0PTcmcGxheV9zcmM9JWQmbGlkPSVzAGJicy9sYWJlbHMvACVzJXMucG5nAHJ1biBjYXJ0AG9wdGlvbnMAcmVtb3ZlIGZyb20gZmF2b3VyaXRlcwBmYXZvdXJpdGUAY2FydHMgYnkgQCVzAHNpbWlsYXIgY2FydHMAc2VhcmNoIGJicyB0aHJlYWQAb3BlbiB0aHJlYWQgaW4gYnJvd3NlcgBbYmFja10AZWRpdCBjYXJ0AHJlLWRvd25sb2FkAG9wZW4gaW4gYnJvd3NlcgBiYWNrAHZvbHVtZQBmdWxsc2NyZWVuAHNodXRkb3duIHBpY28tOABjYXQ9NyZzZWFyY2g9JXMmbWF4PTMyAGJicy90ZW1wXyVzX18ucGlwLnBuZwBiYnMvdGVtcF8lcy5waXAucG5nAGJicy8lcy5waXAucG5nAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bWF4PTMyJnN0YXJ0X2luZGV4PSVkJiVzJnZlcnNpb249JXMlYyZjZmlsPSVkADAwMDIwNwBkb3dubG9hZCBmYWlsZWQAbGlkAHRpdGxlAGF1dGhvcgBtaWQAY2F0c3ViAFtjYWNoZV0vAFtyZWZyZXNoXQBbY2FjaGVdAC5wOABbc2VhcmNoXQBbdXBkYXRlXQAlZCAlZCAlZABbbG9hZCBtb3JlXQAgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Xy06AGNhbmNlbGxlZABkb3dubG9hZCBjYW5jZWxsZWQAc3Bsb3JlX2luaXQKAGNhdD03Jm9yZGVyYnk9ZmF2b3VyaXRlcyZ1aWQ9MQBQSUNPLTgAeyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSBwaWNvOF9ncGlvWyQwXT0kMX0Ae3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgdmFsID0gcGljbzhfZ3Bpb1skMF07IHJldHVybiB2YWx9AGhlbGxvLnA4AGFwaS5wOABhdXRvbWF0YS5wOABib3VuY2UucDgAY2FzdC5wOABjb2xsaWRlLnA4AGRvdHMzZC5wOABkcmlwcHkucDgAamVscGkucDgAc29ydC5wOAB3YW5kZXIucDgAd2F2ZXMucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMANDE0MjIANTcyMDEAY2VsZXN0ZS5wOC5wbmcAZnJvZ19ob21lLnA4LnBuZwBodWdfYXJlbmEucDgucG5nAGFyY2hlb3MucDgucG5nAGR1c2tfY2hpbGQucDgucG5nADhfbGVnc190b19sb3ZlLnA4LnBuZwBlbWJyYWNlLnA4LnBuZwBjZWxlc3RlAGZyb2cgaG9tZQBodWcgYXJlbmEAdG93ZXIgb2YgYXJjaGVvcwBkdXNrIGNoaWxkADggbGVncyB0byBsb3ZlAGVtYnJhY2UAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAGNvdWxkIG5vdCB3cml0ZSB0byBkaXNrAGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi43AChjKSAyMDE0LTI1IGxleGFsb2ZmbGUgZ2FtZXMgbGxwAGJvb3RpbmcgY2FydHJpZGdlLi4AW2NvZG9dICVzAD5jb2RvX2luaXQKAHBsYXRmb3JtOiAlcwoARW1zY3JpcHRlbgBjb2RvX3N5c3RlbV9pbml0CgBjb2RvX3Jlc2V0X3RpbWVyCgBjb2RvX2d1aV9pbml0CgBjb2RvX2tleXNfaW5pdAoAY29kb190ZXh0X2luaXQKAGNvZG9fdmlkZW9faW5pdAoAY29kb19tb3VzZV9pbml0CgBjb2RvX2pveXN0aWNrX2luaXQKADxvawoAd2lkdGgAaGVpZ2h0AHdpbmRvd194AHdpbmRvd195AHNvdW5kAG11c2ljAHNvZnR3YXJlX2JsaXQAc29mdHdhcmVfYmxpdHRlcgBob21lAGRlc2t0b3AAcGl4ZWxfcGVyZmVjdABkcmF3X3JlY3QAdGltZW91dABoZWFkbGVzcwBwZXJmX3RpbWluZwBmcmFtZWJ1ZmZlcgBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBGUy5zeW5jZnMoIGZhbHNlLCBmdW5jdGlvbiAoZXJyKSB7IH0gKTsAJTIwczolMDNkICAgACAgLj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0sACAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ACAgfCAgVG8gbWFwIGtleSBBIHRvIEIgKHdoZW4gQSBpcyBwcmVzc2VkLCBpdCBzaG93cyB1cCBhcyBpZiBCIHdlcmUgcHJlc3NlZCksICB8ACAgfCAgcHJlc3MgQSB0byBnZXQgdGhlIHNjYW5jb2RlLCBhbmQgbG9vayB1cCBCIGluIHRoZSBsaXN0LiBUaGVuLCBhZGQgaXQgdG8gICB8ACAgfCAgbWFwX3NjYW5jb2RlcyBpbiBjb25maWcudHh0LiBGb3IgZXhhbXBsZSwgdG8gbWFwIGJhY2tzcGFjZSAoNDIpIGFzICAgICAgICB8ACAgfCAgZXNjYXBlICg0MSksIGFuZCBhbHNvIHJpZ2h0IHNoaWZ0KDIyOSkgYXMgcmlnaHQgY3Vyc29yIGtleSAoNzkpOiAgICAgICAgICB8ACAgfCAgbWFwX3NjYW5jb2RlcyA0Mj00MSwyMjk9NzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ACAgfCAgTm90ZTogdGhpcyBkb2VzIG5vdCBhcHBseSB0byB0ZXh0aW5wdXQgZXZlbnRzIG1hcHBlZCB2aWEga2JkIGxheW91dC4gICAgICB8ACAgYD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nADo6IHNjYW5jb2RlIHZpZXdlciAgICAvLyBhbHQrZjQgLyBjdHJsLXEgdG8gcXVpdAAlMDNkAHByZXNzZWQgc2NhbmNvZGU6JTRkICAgIG5hbWU6JTE2cwoALXNjYW5jb2RlcwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAENPTgBQUk4AQVVYAE5VTABDT00wAENPTTEAQ09NMgBDT00zAENPTTQAQ09NNQBDT002AENPTTcAQ09NOABDT005AExQVDAATFBUMQBMUFQyAExQVDMATFBUNABMUFQ1AExQVDYATFBUNwBMUFQ4AExQVDkAY29kb19sb2FkX3BvZF9maWxlOiBVbmtub3duIENodW5rIQoAcmIAZmFpbGVkAG9rAGNvZG9fbG9hZF9wb2Q6ICVzICVzIAoAKiogd2ViIGZpbGUgc3lzdGVtIG5vdCBtb3VudGVkLiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAIC0+IHJldHVybmluZyB2ZGlzayBmaWxlOiAlcyAoJXMpCgBjb2RvX3NwbGl0X2ZpbGVuYW1lX2V4OiBmaWxlX25hbWUgdG9vIGxvbmcKACJ7cmV0dXJuICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSA/IDAgOiAxO30iAEBAIGRlZmF1bHQgbWl4X2J1ZmZlcl9zaXplIGFkanVzdGVkIHRvIDIwNDggKE1vYmlsZSkAY29uZmlnLnR4dABGb3VuZCBjb25maWcudHh0CgA+CgAlMDJkICVzCgB2aWRlb19tb2RlACAlZCAlZAB3aW5kb3dfc2l6ZQBzY3JlZW5fc2l6ZQB3aW5kb3dlZAAgJWQAZm9yZWdyb3VuZF9zbGVlcF9tcwBiYWNrZ3JvdW5kX3NsZWVwX21zAHNvdW5kX3ZvbHVtZQBtdXNpY192b2x1bWUAbWl4X2J1ZmZlcl9zaXplAHdpbmRpYgBvcGVuZ2xfYmxpdABzaG93X2ZwcwBsYXJnZV93aW5kb3cAZnJhbWVsZXNzAHdpbmRvd19wb3NpdGlvbgBuZXcgd2luZG93IHBvc2l0aW9uOiAlZCwgJWQKAHNlc3Npb25zAHJtYl9rZXkAZGVza3RvcF9wYXRoAGZ1bGxzY3JlZW5fbWV0aG9kAGJsaXRfbWV0aG9kAHJlYWRfY29udHJvbGxlcnNfaW5fYmFja2dyb3VuZABtYXBfc2NhbmNvZGVzACVkPSVkAHVzZV93Z2V0ADwKAHcAc291bmRfdm9sdW1lICVkIC8vIDAuLjI1NgoAbXVzaWNfdm9sdW1lICVkIC8vIDAuLjI1NgoALi4AfgBjb2RvX3NhdmVfcG5nIHJlc3VsdDogJWQgIGZpbGU6ICVzCgAKQXNzZXJ0aW9uIGZhaWxlZDogJXMKAENvdWxkIG5vdCBhbGxvY2F0ZSB2ZXJ0ZXgAQ291bGQgbm90IGFsbG9jYXRlIGJvbmVfdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBwb2x5AGFjdG9yJWQAIABJSERSAFBMVEUAYktHRABwSFlzAElEQVQAdElNRQB6VFh0AExvZGVQTkcAMjAxMTAyMjEAaVRYdAB0RVh0AHRSTlMAY29kb19mcmVlIGZhaWwgJXggJXgKACUwOHglMDh4JTA4eCUwOHglMDh4ACJ7cmV0dXJuIGRvY3VtZW50LmhpZGRlbiA/IDEgOiAwO30iAGNvZG9fc291bmRfaW5pdCBtaXhfYnVmZmVyX3NpemU6ICVkCgBjb2RvX3NldF9zY3JlZW4gJWQgJWQgJWQgJXgKAHJldHJpZXZpbmcgZGVza3RvcCByZXNvbHV0aW9uOiAlZCAlZAoAIHdpbmRvdyBzaXplOiAlZCAlZAoAIGRlc2t0b3Agc2l6ZTogJWQgJWQKAG9rCgAlWS0lbS0lZCAlSDolTTolUwAlcy8lcwAqACVkLSVkLSVkICVkOiVkOiVkAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgAxADIAMwA0ADUANgA3ADgAOQAwAFJldHVybgBFc2NhcGUAQmFja3NwYWNlAFRhYgBTcGFjZQAtAD0AWwBdAFNsYXNoACMAOwAnAGAALAAvAENhcHNMb2NrAEYxAEYyAEYzAEY0AEY1AEY2AEY3AEY4AEY5AEYxMABGMTEARjEyAFByaW50U2NyZWVuAFNjcm9sbExvY2sAUGF1c2UASW5zZXJ0AEhvbWUAUGFnZVVwAERlbGV0ZQBFbmQAUGFnZURvd24AUmlnaHQATGVmdABEb3duAFVwAE51bWxvY2sAS2V5cGFkIC8AS2V5cGFkICoAS2V5cGFkIC0AS2V5cGFkICsAS2V5cGFkIEVudGVyAEtleXBhZCAxAEtleXBhZCAyAEtleXBhZCAzAEtleXBhZCA0AEtleXBhZCA1AEtleXBhZCA2AEtleXBhZCA3AEtleXBhZCA4AEtleXBhZCA5AEtleXBhZCAwAEtleXBhZCAuAEFwcGxpY2F0aW9uAFBvd2VyAEtleXBhZCA9AEYxMwBGMTQARjE1AEYxNgBGMTcARjE4AEYxOQBGMjAARjIxAEYyMgBGMjMARjI0AEV4ZWN1dGUASGVscABNZW51AFNlbGVjdABTdG9wAEFnYWluAFVuZG8AQ3V0AENvcHkAUGFzdGUARmluZABNdXRlAFZvbHVtZVVwAFZvbHVtZURvd24AS2V5cGFkICwAS2V5cGFkID0gKEFTNDAwKQBBbHRFcmFzZQBTeXNSZXEAQ2FuY2VsAENsZWFyAFByaW9yAFNlcGFyYXRvcgBPdXQAT3BlcgBDbGVhciAvIEFnYWluAENyU2VsAEV4U2VsAEtleXBhZCAwMABLZXlwYWQgMDAwAFRob3VzYW5kc1NlcGFyYXRvcgBEZWNpbWFsU2VwYXJhdG9yAEN1cnJlbmN5VW5pdABDdXJyZW5jeVN1YlVuaXQAS2V5cGFkICgAS2V5cGFkICkAS2V5cGFkIHsAS2V5cGFkIH0AS2V5cGFkIFRhYgBLZXlwYWQgQmFja3NwYWNlAEtleXBhZCBBAEtleXBhZCBCAEtleXBhZCBDAEtleXBhZCBEAEtleXBhZCBFAEtleXBhZCBGAEtleXBhZCBYT1IAS2V5cGFkIF4AS2V5cGFkICUAS2V5cGFkIDwAS2V5cGFkID4AS2V5cGFkICYAS2V5cGFkICYmAEtleXBhZCB8AEtleXBhZCB8fABLZXlwYWQgOgBLZXlwYWQgIwBLZXlwYWQgU3BhY2UAS2V5cGFkIEAAS2V5cGFkICEAS2V5cGFkIE1lbVN0b3JlAEtleXBhZCBNZW1SZWNhbGwAS2V5cGFkIE1lbUNsZWFyAEtleXBhZCBNZW1BZGQAS2V5cGFkIE1lbVN1YnRyYWN0AEtleXBhZCBNZW1NdWx0aXBseQBLZXlwYWQgTWVtRGl2aWRlAEtleXBhZCArLy0AS2V5cGFkIENsZWFyAEtleXBhZCBDbGVhckVudHJ5AEtleXBhZCBCaW5hcnkAS2V5cGFkIE9jdGFsAEtleXBhZCBEZWNpbWFsAEtleXBhZCBIZXhhZGVjaW1hbABMZWZ0IEN0cmwATGVmdCBTaGlmdABMZWZ0IEFsdABMZWZ0IEdVSQBSaWdodCBDdHJsAFJpZ2h0IFNoaWZ0AFJpZ2h0IEFsdABSaWdodCBHVUkATW9kZVN3aXRjaABBdWRpb05leHQAQXVkaW9QcmV2AEF1ZGlvU3RvcABBdWRpb1BsYXkAQXVkaW9NdXRlAE1lZGlhU2VsZWN0AFdXVwBNYWlsAENhbGN1bGF0b3IAQ29tcHV0ZXIAQUMgU2VhcmNoAEFDIEhvbWUAQUMgQmFjawBBQyBGb3J3YXJkAEFDIFN0b3AAQUMgUmVmcmVzaABBQyBCb29rbWFya3MAQnJpZ2h0bmVzc0Rvd24AQnJpZ2h0bmVzc1VwAERpc3BsYXlTd2l0Y2gAS0JESWxsdW1Ub2dnbGUAS0JESWxsdW1Eb3duAEtCRElsbHVtVXAARWplY3QAU2xlZXAAQXBwMQBBcHAyAEF1ZGlvUmV3aW5kAEF1ZGlvRmFzdEZvcndhcmQAVW5hYmxlIHRvIGluaXRpYWxpemUgU0RMAGlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7IHZhciB2YWwgPSAtMTsgaWYgKGUua2V5Lmxlbmd0aCA9PSAxKSB7IHZhbCA9IGUua2V5LmNoYXJDb2RlQXQoMCk7IH0gZWxzZSB7IGlmIChlLmtleSA9PSAiVGFiIikgdmFsID0gOTsgaWYgKGUua2V5ID09ICJFbnRlciIpIHZhbCA9IDEzOyBpZiAoZS5rZXkgPT0gIkJhY2tzcGFjZSIpIHZhbCA9IDg7IGlmIChlLmtleSA9PSAiRXNjYXBlIikgdmFsID0gMjc7IGlmICh2YWwgPT0gLTEpeyB9IH0gdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgY29kb19rZXlfYnVmZmVyLnB1c2godmFsKTsgfSk7AHZhciBfY29kb190ZXh0X3ZhbHVlID0gIiI7IHZhciBfY29kb19zdHJfb3V0ID0gIiI7IHZhciBjb2RvX3doZWVsX2R4ID0gMDsgdmFyIGNvZG9fd2hlZWxfZHkgPSAwOyBhZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBmdW5jdGlvbihldmVudCl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKSBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSAiY2FudmFzIikgeyBwaWNvOF9zdGF0ZS5jbGlja2VkX291dHNpZGUgPSB0cnVlOyB9IH0pOwBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIGZ1bmN0aW9uKGUpeyBkeCA9IGUuZGVsdGFYOyBpZiAoZHggPCAwKSBkeCA9IC0xOyBpZiAoZHggPiAwKSBkeCA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeCAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R4IC09IGR4OyBkeSA9IGUuZGVsdGFZOyBpZiAoZHkgPCAwKSBkeSA9IC0xOyBpZiAoZHkgPiAwKSBkeSA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeSAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R5IC09IGR5OyB9KTsACgoqKiBGQVRBTCBFUlJPUjogJXMKCgBTREwgRXJyb3I6ICVzCgAie3ZhciByZXQgPSAwOyBpZiAodHlwZW9mIHBpY284X21vdXNlICE9PSAndW5kZWZpbmVkJyAmJiBwaWNvOF9tb3VzZS5sZW5ndGggPiAwKSByZXQ9MTsgcmV0dXJuIHJldDt9IgAie3JldHVybiBwaWNvOF9tb3VzZVswXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzFdfSIAZnVuY3Rpb24gYXVkaW9fbG9nKG1zZykgeyBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7IHdpbmRvdy5jb25zb2xlLmxvZygiW2NvZG9dIGF1ZGlvX2luaXRfd2ViYXVkaW8gIittc2cpOyB9IH0gYXVkaW9fbG9nKCJhdWRpb19pbml0Iik7IHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7IGlmICh0eXBlb2YgTW9kdWxlID09PSAndW5kZWZpbmVkJykgYXVkaW9fbG9nKCIgKioqIE1vZHVsZSB1bmRlZmluZWQiKTsgZWxzZSBpZiAodHlwZW9mIE1vZHVsZS5jY2FsbCA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiogTW9kdWxlLmNjYWxsIHVuZGVmaW5lZCIpOyBlbHNlIHsgdmFyIHdlYkF1ZGlvQVBJID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tb3pBdWRpb0NvbnRleHQgfHwgd2luZG93Lm9BdWRpb0NvbnRleHQgfHwgd2luZG93Lm1zQXVkaW9Db250ZXh0OyBpZiAod2ViQXVkaW9BUEkpIHsgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBwaWNvOF9hdWRpb19jb250ZXh0OyBhdWRpb19sb2coImZvdW5kIHBpY284X2F1ZGlvX2NvbnRleHQiKTsgfSBlbHNlIGlmICh0eXBlb2Ygdm94YXRyb25fYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gdm94YXRyb25fYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCB2b3hhdHJvbl9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSTsgYXVkaW9fbG9nKCJjcmVhdGluZyBvd24gYXVkaW8gY29udGV4dCIpOyB9IGlmIChjb2RvX2F1ZGlvX2NvbnRleHQpIHsgYXVkaW9fbG9nKCJTYW1wbGUgUmF0ZTogIitjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZSk7IGF1ZGlvX2xvZygiQnVmZmVyIFNpemU6ICIrJDApOyBub2RlID0gY29kb19hdWRpb19jb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigkMCwgMSwgMSk7IG5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihlKSB7IHZhciBkYXRhID0gZS5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7IHZhciByID0gMjIwNTAuMCAvIGNvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlOyB2YXIgbGVuMCA9IE1hdGguZmxvb3IoZGF0YS5sZW5ndGggKiByKTsgdmFyIGxlbjEgPSBkYXRhLmxlbmd0aDsgdmFyIHB0ciA9IE1vZHVsZS5jY2FsbCgnbWl4XzAnLCAnbnVtYmVyJywgWydudW1iZXInLCAnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHg6MDsgY29kb193aGVlbF9keCA9IDA7IHJldHVybiB0ZW1wO30iACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keSAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keTowOyBjb2RvX3doZWVsX2R5ID0gMDsgcmV0dXJuIHRlbXA7fSIAInsgaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsgcmV0dXJuICghZWwgfHwgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwidGV4dGFyZWFcIikpOyB9IgAieyBpZiAoKHR5cGVvZiBwaWNvOF9zdGF0ZSkgIT09ICd1bmRlZmluZWQnKSBpZiAocGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlKSB7IHBpY284X3N0YXRlLmNsaWNrZWRfb3V0c2lkZSA9IGZhbHNlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuZm9jdXMoKTsgZWwuc2VsZWN0KCk7IH0AZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuc2VsZWN0KCk7IH0AIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IG1vdW50ZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AFtjb2RvXSBleGl0aW5nIHBvaW50ZXIgbG9jawB7TW9kdWxlWydjYW52YXMnXS5leGl0UG9pbnRlckxvY2soKTt9AEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7IF9jb2RvX3N0cl9vdXQgPSBNb2R1bGUuVVRGOFRvU3RyaW5nKCQwLCAkMSk7IH0AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AHsgTW9kdWxlLnN0cmluZ1RvVVRGOChfY29kb190ZXh0X3ZhbHVlLCAkMCwgJDEpOyB9ACJlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gXCJub25lXCIgJiYgZWwudmFsdWUgIT0gXCJcIikgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAIyNlbmRfcDgAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AX19jaGFuZ2VfbWFza19fAF9fbWV0YToAJTAyeCUwMnglMDJ4JTAyeAAlMDJ4JTF4JTF4JTF4ACUwMnggAAoAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoAX19nZnhfXwoAJXgAX19sYWJlbF9fCgBfX2dmZl9fCgAlMDJ4AF9fbWFwX18KAF9fc2Z4X18KACUwMngleCV4JXgAX19tdXNpY19fCgAlMDJ4JTAyeCUwMnglMDJ4CgBfX2NoYW5nZV9tYXNrX18KAHdiAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XwBAJSQAI14/ACgpe31bXTw+ACFAIyQlXiYqOjsuLH49Ky0vXGAnIgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4=";var tempDoublePtr=3196608;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append(new Uint8Array(byteArray).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){lockPointer=false;console.log("forcing lockPointer to false");Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=false;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};canvas.exitFullscreen=canvas.exitFullscreen.bind(document);Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle}};function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}function _SDL_LockSurface(surf){var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAP32[surf+20>>2]=surfData.buffer}HEAP32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+(new Error).stack}else{HEAPU8.set(surfData.image.data,surfData.buffer)}}return 0}var SDL={defaults:{width:320,height:200,copyOnLock:false,discardOnLock:true,opaqueFrontBuffer:false},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:function(rect){return{x:HEAP32[rect+0>>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect:function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects:function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat:function(fmt){},loadColorToCSSRGB:function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA:function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"},translateRGBAToCSSRGBA:function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"},translateRGBAToColor:function(r,g,b,a){return r|g<<8|b<<16|a<<24},makeSurface:function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:function(flag){return flags&flag}};return surf},copyIndexedColorData:function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+base+x>>0]]}}},freeSurface:function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface:function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent:function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i<event.touches.length;i++){var touch=event.touches[i];if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var i=0;i<touches.length;i++){var touch=touches[i];SDL.events.push({type:event.type,touch:touch})}break}case"touchend":{event.preventDefault();for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];SDL.events.push({type:"touchend",touch:touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.keyCode===8||event.keyCode===9)){}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](false,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent:function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)}case"mousemove":{Browser.calculateMouseEvent(event);break}}},flushEventsToHandler:function(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){Module["dynCall_iii"](SDL.eventHandler,SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent:function(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}else{return SDL.events.length>0}},makeCEvent:function(event,ptr){if(typeof event==="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>0]=down?1:0;HEAP8[ptr+9>>0]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i<cStr.length;++i){HEAP8[ptr+(8+i)>>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break}case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break}case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString:function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth:function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.save();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;tempCtx.restore();return ret},allocateChannels:function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i<num;i++){SDL.channels[i]={audio:null,volume:1}}},setGetVolume:function(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){err("setGetVolume failed to set audio volume: "+e)}}}return ret},setPannerPosition:function(info,x,y,z){if(!info)return;if(info.audio){if(info.audio.webAudioPannerNode){info.audio.webAudioPannerNode["setPosition"](x,y,z)}}},playWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined)abort("Cannot play back audio object that was not loaded");webAudio.onDecodeComplete.push(function(){if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=function(){audio["onended"]()};audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err("playWebAudio failed: "+e)}},pauseWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err("pauseWebAudio failed: "+e)}}audio.paused=true},openAudioContext:function(){if(!SDL.audioContext){if(typeof AudioContext!=="undefined")SDL.audioContext=new AudioContext;else if(typeof webkitAudioContext!=="undefined")SDL.audioContext=new webkitAudioContext}},webAudioAvailable:function(){return!!SDL.audioContext},fillWebAudioBufferFromHeap:function(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var numChannels=SDL.audio.channels;for(var c=0;c<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!"}if(SDL.audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>1]/32768}}else if(SDL.audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(SDL.audio.format==33056){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAPF32[heapPtr+(j*numChannels+c)*4>>2]}}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}}},debugSurface:function(surfData){console.log("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i<num;i++){console.log(" diagonal "+i+":"+[data[i*surfData.width*4+i*4+0],data[i*surfData.width*4+i*4+1],data[i*surfData.width*4+i*4+2],data[i*surfData.width*4+i*4+3]])}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState:function(joystick,state){var buttons=new Array(state.buttons.length);for(var i=0;i<state.buttons.length;i++){buttons[i]=SDL.getJoystickButtonState(state.buttons[i])}SDL.lastJoystickState[joystick]={buttons:buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState:function(button){if(typeof button==="object"){return button["pressed"]}else{return button>0}},queryJoysticks:function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(state===null)return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp||!state.timestamp){var i;for(i=0;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick:joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick:joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}},joystickAxisValueConversion:function(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)},getGamepads:function(){var fcn=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;if(fcn!==undefined){return fcn.apply(navigator)}else{return[]}},getGamepad:function(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};function _SDL_ClearError(){}function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}function _SDL_GetModState(){return SDL.modState}function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}function _SDL_GetWindowSize(window,width,height){var w=Module["canvas"].width;var h=Module["canvas"].height;if(width)HEAP32[width>>2]=w;if(height)HEAP32[height>>2]=h}function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);_memset(SDL.keyboardState,0,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}function _SDL_LockAudio(){}function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}},recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx&&GL.registerContext(ctx,webGLContextAttributes)},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)};GLctx["drawArraysInstanced"]=function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)};GLctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=function(){return vaoExt["createVertexArrayOES"]()};GLctx["deleteVertexArray"]=function(vao){vaoExt["deleteVertexArrayOES"](vao)};GLctx["bindVertexArray"]=function(vao){vaoExt["bindVertexArrayOES"](vao)};GLctx["isVertexArray"]=function(vao){return vaoExt["isVertexArrayOES"](vao)}}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)}}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})}},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.slice(-1)=="]"){name=name.slice(0,name.lastIndexOf("["))}var loc=GLctx.getUniformLocation(p,name);if(loc){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}}};function _SDL_SetVideoMode(width,height,depth,flags){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach(function(event){Module["canvas"].addEventListener(event,SDL.receiveEvent,true)});var canvas=Module["canvas"];if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push(function(w,h){if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w:w,h:h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen}function _SDL_UnlockAudio(){}function _SDL_UnlockSurface(surf){assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src,src+data32.length))}}}else{var width=Module["canvas"].width;var height=Module["canvas"].height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___lock(){}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(9);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-20}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx<stream.getdents.length&&pos+struct_size<=count){var id;var type;var name=stream.getdents[idx];if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}tempI64=[id>>>0,(tempDouble=id,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(UTF8ToString(url),function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall_viii(onload,arg,buffer,byteArray.length);_free(buffer)},function(){if(onerror)dynCall_vi(onerror,arg)},true)}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _exit(status){exit(status)}var ___tm_current=3196448;var ___tm_timezone=(stringToUTF8("GMT",3196496,4),3196496);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":invoke_vii,"e":_SDL_ClearError,"f":_SDL_GetError,"g":_SDL_GetModState,"h":_SDL_GetMouseState,"i":_SDL_GetTicks,"j":_SDL_GetWindowSize,"k":_SDL_Init,"l":_SDL_LockAudio,"m":_SDL_LockSurface,"n":_SDL_PollEvent,"o":_SDL_SetVideoMode,"p":_SDL_UnlockAudio,"q":_SDL_UnlockSurface,"r":___buildEnvironment,"s":___lock,"t":___setErrNo,"u":___syscall140,"v":___syscall145,"w":___syscall146,"x":___syscall195,"y":___syscall220,"z":___syscall221,"A":___syscall5,"B":___syscall54,"C":___syscall6,"D":___unlock,"E":__addDays,"F":__arraySum,"G":__isLeapYear,"H":_abort,"I":_emscripten_asm_const_i,"J":_emscripten_asm_const_ii,"K":_emscripten_asm_const_iii,"L":_emscripten_asm_const_iiiii,"M":_emscripten_asm_const_iiiiiii,"N":_emscripten_asm_const_iiiiiiiii,"O":_emscripten_async_wget_data,"P":_emscripten_get_heap_size,"Q":_emscripten_get_now,"R":_emscripten_memcpy_big,"S":_emscripten_resize_heap,"T":_emscripten_run_script,"U":_emscripten_set_main_loop,"V":_emscripten_set_main_loop_timing,"W":_exit,"X":_gmtime,"Y":_gmtime_r,"Z":_localtime,"_":_localtime_r,"$":_longjmp,"aa":_strftime,"ab":_time,"ac":_tzset,"ad":abortOnCannotGrowMemory,"ae":tempDoublePtr,"af":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM 134 + var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { 135 + "use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ae|0,i=env.af|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=env.ab,Ga=env.ac,Ha=env.ad,Ia=3196624,Ja=8439504,Ka=0.0; 136 + // EMSCRIPTEN_START_FUNCS 137 + function Uf(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;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2217396)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=63002;c[d+4>>2]=m;Bf(a,1,Td(a,49400,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2217396){Bf(a,2,49420)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0<j>>>0){e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0<j>>>0);c[h>>2]=o+(e+1<<3)}c[h>>2]=j;j=Mc(c[k>>2]|0,n+16|0)|0;n=c[h>>2]|0;c[n+-8>>2]=c[j>>2];c[n+-4>>2]=c[j+4>>2];Ia=b;return 1}function Vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=n;Bf(b,1,Td(b,49400,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2217396){Bf(b,2,49420)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2217396){Bf(b,3,49420)|0;q=c[i>>2]|0;r=c[c[f>>2]>>2]|0}else{q=p;r=o}o=r+8|0;p=r+32|0;if(q>>>0<p>>>0){f=(r+28+(3-q)|0)>>>3;l=q;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<p>>>0);c[i>>2]=q+(f+1<<3)}c[i>>2]=p;p=c[o>>2]|0;f=r+16|0;q=Mc(p,f)|0;if((q|0)==2217396)s=Nc(b,p,f)|0;else s=q;c[s>>2]=c[r+24>>2];c[s+4>>2]=c[r+28>>2];a[(c[o>>2]|0)+6>>0]=0;r=c[i>>2]|0;if(!(c[r+-4>>2]&64)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}if(!(a[(c[r+-8>>2]|0)+5>>0]&3)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}s=c[o>>2]|0;o=s+5|0;q=a[o>>0]|0;if(!(q&4)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}r=c[b+12>>2]|0;a[o>>0]=q&-5;q=r+76|0;c[s+24>>2]=c[q>>2];c[q>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2217396){Bf(a,1,49420)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0;j=h;k=h+8|0}else{i=g;j=d;k=e}if(k>>>0>=i>>>0|(k|0)==2217396){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;Qd(a,n)|0;return 1}l=(c[j+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;Qd(a,n)|0;return 1}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2217396)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=63002;c[d+4>>2]=m;Bf(a,1,Td(a,49400,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0<e>>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0<e>>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(uf(a,1)|0){n=2;Ia=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ia=b;return n|0}function Yf(a){a=a|0;Zf(a,49774,0,4);return 3}function Zf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=(Jf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0<n>>>0;if(j){if(!((l|0)==2217396|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=63002;c[i+4>>2]=r;Bf(a,1,Td(a,49400,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0<p>>>0?i+8|0:2217396;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Ia=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ia=g;return}}else{d=o?l:2217396;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)Ac(a,47199,h);if((n&65535)>224)yc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(Ec(a,m,3)|0))Fc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=g;return}}function _f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Ia;Ia=Ia+16|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)?(c[g+20>>2]|0)==3:0)k=(c[h>>2]>>16)+1|0;else k=1;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)==5)l=j;else{m=h+1|0;n=7}}else{m=0;n=7}if((n|0)==7){n=c[16+(m<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=n;Bf(a,1,Td(a,49400,e)|0)|0;l=c[i>>2]|0}e=k<<16;c[l>>2]=e;c[l+4>>2]=3;l=c[i>>2]|0;a=l+8|0;c[i>>2]=a;n=c[c[f>>2]>>2]|0;f=c[(n>>>0<l>>>0?n+8|0:2217396)>>2]|0;n=k+-1|0;a:do if(n>>>0<(c[f+28>>2]|0)>>>0)o=(c[f+12>>2]|0)+(n<<3)|0;else{k=0-e|0;m=(c[f+16>>2]|0)+(((((e|0)<0?((e|0)==(k|0)?0:k):e)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(e|0):0)break;k=c[m+16>>2]|0;if(!k){o=2217396;break a}else m=k}o=m}while(0);c[a>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[i>>2]|0;c[i>>2]=o+8;if((o|0)==2217396){Ia=b;return 2}else{Ia=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function $f(a){a=a|0;Zf(a,49782,1,5);return 3}function ag(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0<j>>>0?h:2217396;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Ia=d;return o|0}break}default:{o=l-h>>3;Ia=d;return o|0}}if((m|0)<=1){kh(3196396);p=Ff(b,2,49791,0)|0;c[e>>2]=p;Cf(b,47850,e)|0}m=g+16|0;g=m>>>0<j>>>0?m:2217396;if((c[g+4>>2]&15|0)!=4)if(!(Kd(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{Oc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2217396;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;kh(q);p=Ff(b,2,49791,0)|0;c[e>>2]=p;Cf(b,47850,e)|0;return 0}function bg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2217396)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=Gf(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)Bf(b,1,49809)|0;k=i-j|0;return k|0}function cg(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2217396?1:b>>>0>=(c[a+8>>2]|0)>>>0)){Lf(a,1,0)|0;return 1}Bf(a,1,49420)|0;Lf(a,1,0)|0;return 1}function dg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0<g>>>0?e:2217396;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=g;k=e;l=i}else{Bf(a,1,49828)|0;j=c[f>>2]|0;k=(c[c[b>>2]>>2]|0)+8|0;l=0}i=eg(a,l,(j-k>>3)+-1|0)|0;k=c[f>>2]|0;if((i|0)<0){c[k>>2]=0;c[k+4>>2]=1;j=c[f>>2]|0;l=j+8|0;c[f>>2]=l;e=l;do{l=e;e=e+-8|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>j>>>0);e=c[f>>2]|0;c[j+-8>>2]=c[e>>2];m=e;n=2;o=j+-4|0;p=m+4|0;q=c[p>>2]|0;c[o>>2]=q;return n|0}c[k>>2]=1;c[k+4>>2]=1;k=(c[f>>2]|0)+8|0;c[f>>2]=k;j=i+1|0;e=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[e>>2]|0;if((c[b+4>>2]|32|0)==54)r=2217396;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2217396:l+16+(i+-1001e3<<3)|0}}else r=k+(~i<<3)|0;while(0);if(k>>>0>r>>>0){i=k;do{e=i;i=i+-8|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[e+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=k;c[r>>2]=c[s>>2];m=s;n=j;o=r+4|0;p=m+4|0;q=c[p>>2]|0;c[o>>2]=q;return n|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=k;n=e}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(xc(d,2,g)|0)==0:0){o=c[j>>2]|0;l=o;m=o;n=c[g>>2]|0;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{Oc(b);break}while(0);p=bd(b,49847,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);k=i+4|0;i=m+(n<<3)|0;if((c[k>>2]|0)>>>0<i>>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(l|0)==((c[c[h>>2]>>2]|0)+8|0):0){l=c[b+12>>2]|0;i=l+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){n=l+8|0;c[n>>2]=k+1600+(c[n>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);i=bd(b,49885,37)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=i;c[l+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Ia=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,l=c[i>>2]|0,n=0-e|0,m=l+(n<<3)|0,c[i>>2]=m,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[m>>2],c[q+4>>2]=c[l+(n<<3)+4>>2],(e|0)!=1):0){n=1;do{l=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[l+(n<<3)>>2];c[q+4>>2]=c[l+(n<<3)+4>>2];n=n+1|0}while((n|0)!=(e|0))}if((fg(d,b,e)|0)>>>0>=2){if(k){s=-1;Ia=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;n=b+8|0;i=c[n>>2]|0;c[n>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Ia=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;n=c[b+16>>2]|0;l=b+8|0;q=c[l>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(xc(b,2,g)|0)==0:0){t=c[l>>2]|0;u=c[g>>2]|0;break}m=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(m<<3)|0;if(o>>>0<r>>>0){v=(p+(m<<3)+4+(3-o)|0)>>>3;m=o;do{c[m+4>>2]=0;m=m+8|0}while(m>>>0<r>>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;m=c[b+12>>2]|0;p=m+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[m+51>>0]|0)){y=m+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{Oc(b);break}while(0);p=bd(b,49923,35)|0;x=c[l>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[l>>2]=(c[l>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);b=n+4|0;n=t+(u<<3)|0;if((c[b>>2]|0)>>>0<n>>>0)c[b>>2]=n;if(k){s=i;Ia=f;return s|0}k=c[j>>2]|0;n=0-i|0;b=k+(n<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Ia=f;return s|0}u=c[l>>2]|0;c[l>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(n<<3)+4>>2];if((e|0)==8){s=1;Ia=f;return s|0}e=1;do{n=c[j>>2]|0;k=c[l>>2]|0;c[l>>2]=k+8;c[k>>2]=c[n+(e<<3)>>2];c[k+4>>2]=c[n+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Ia=f;return s|0}function fg(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=xc(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Sc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=bd(d,47901,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0<w>>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)zc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=xc(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=bd(d,47901,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function gg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+16|0;h=c[g>>2]|0;if((e[d+38>>1]|0)>199)jg(d,47199,f);i=d+6|0;switch(a[i>>0]|0){case 0:{if((h|0)!=(d+72|0))jg(d,49959,f);if(Ec(d,f+-8|0,-1)|0)return;Fc(d);return}case 1:{a[i>>0]=0;c[h>>2]=(c[d+28>>2]|0)+(c[h+20>>2]|0);i=h+18|0;j=a[i>>0]|0;if(!(j&1)){k=c[h+28>>2]|0;if(!k){l=h;m=f;n=d+8|0}else{a[h+37>>0]=1;a[i>>0]=j|8;j=La[k&255](d)|0;k=d+8|0;l=c[g>>2]|0;m=(c[k>>2]|0)+(0-j<<3)|0;n=k}k=c[l>>2]|0;j=b[l+16>>1]|0;c[g>>2]=c[l+8>>2];a:do if(j<<16>>16){l=m;g=j<<16>>16;i=k;while(1){if(l>>>0>=(c[n>>2]|0)>>>0)break;h=i+8|0;c[i>>2]=c[l>>2];c[i+4>>2]=c[l+4>>2];o=g+-1|0;if(!o){p=h;break a}else{l=l+8|0;g=o;i=h}}if((g|0)>0){l=g;h=i;while(1){o=h+8|0;c[h+4>>2]=0;if((l|0)>1){l=l+-1|0;h=o}else{p=o;break}}}else p=i}else p=k;while(0);c[n>>2]=p}else Fc(d);hg(d,0);return}default:jg(d,49997,f)}}function hg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=La[c[j+28>>2]&255](d)|0;l=c[i>>2]|0;k=c[e>>2]|0;n=c[k>>2]|0;o=b[k+16>>1]|0;c[e>>2]=c[k+8>>2];a:do if(o<<16>>16){k=o<<16>>16;p=0-f|0;if((p|0)<0){q=l+(p<<3)|0;p=k;r=n;while(1){s=r+8|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];t=p+-1|0;if(!t){u=s;break a}q=q+8|0;if(q>>>0>=(c[i>>2]|0)>>>0){v=t;w=s;break}else{p=t;r=s}}}else{v=k;w=n}if((v|0)>0){r=v;p=w;while(1){q=p+8|0;c[p+4>>2]=0;if((r|0)>1){r=r+-1|0;p=q}else{u=q;break}}}else u=w}else u=n;while(0);c[i>>2]=u}else{ig(d);Fc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function ig(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2217396;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2217396;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;Rc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=Rd(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;yc(b,-1)}function kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2217396?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=63802;c[d+4>>2]=j;Bf(a,1,Td(a,49400,d)|0)|0}d=lg(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0<e>>>0?j:2217396;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Ia=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Ia=b;return 1}function lg(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{Oc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Pa[c[j>>2]&3](c[f>>2]|0,0,8,120)|0;if(!g){if(!(a[j+51>>0]|0))yc(d,4);Kc(d,1);h=Pa[c[j>>2]&3](c[f>>2]|0,0,8,120)|0;if(!h)yc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+120;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Pa[c[i>>2]&3](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))yc(d,4);Kc(d,1);l=Pa[c[i>>2]&3](c[e>>2]|0,0,0,320)|0;if(!l)yc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function mg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2217396;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{Bf(b,1,49828)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50026,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50034,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50044,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50051,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50034,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50051,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2217396?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=Jd(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2217396)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2217396)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=Gf(a,f)|0;else l=h;xf(a,i,g,l);return 1}function og(a){a=a|0;Of(c[(c[a+12>>2]|0)+144>>2]|0);return}function pg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2217396){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)Cf(a,49435,e)|0;n=c[j>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{o=c[k>>2]|0;p=c[f>>2]|0;break}}else{o=l;p=c[j>>2]|0}while(0);j=p>>16;p=o+-8|0;c[k>>2]=p;o=j+1|0;l=c[c[h>>2]>>2]|0;e=p-(l+8)>>3;switch(e|0){case 2:{q=p;r=o;break}case 1:case 0:{m=0;Ia=b;return m|0}default:s=10}if((s|0)==10){i=l+24|0;n=i>>>0<p>>>0;if(!((i|0)==2217396|n^1)?(c[l+28>>2]&15|0)==0:0){t=l;u=p;v=o;w=e}else{e=n?i:2217396;i=c[e+4>>2]|0;do if((i|0)==3){x=e;s=16}else{if((i&15|0)==4?(n=c[e>>2]|0,Wc(n+16|0,c[n+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];x=g;s=16;break}y=0}while(0);if((s|0)==16)y=c[x>>2]>>16;x=c[k>>2]|0;s=c[c[h>>2]>>2]|0;t=s;u=x;v=y;w=x-(s+8)>>3}s=2-w|0;w=s+-1|0;if((s|0)>0){x=t+(s<<3)|0;if(u>>>0<x>>>0){y=(t+(w<<3)+4+(3-u)|0)>>>3;w=u;do{c[w+4>>2]=0;w=w+8|0}while(w>>>0<x>>>0);c[k>>2]=u+(y+1<<3);z=x}else z=x}else z=u+(s<<3)|0;c[k>>2]=z;if((v|0)<1|(o|0)<(v|0))Bf(a,2,50419)|0;if((j|0)>=(v|0)){j=o;do{z=j;j=j+-1|0;s=(c[c[h>>2]>>2]|0)+8|0;u=c[k>>2]|0;x=c[(s>>>0<u>>>0?s:2217396)>>2]|0;s=z+-2|0;a:do if(s>>>0<(c[x+28>>2]|0)>>>0)A=(c[x+12>>2]|0)+(s<<3)|0;else{y=j<<16;w=0-y|0;t=(c[x+16>>2]|0)+(((((y|0)<0?((y|0)==(w|0)?0:w):y)|0)%((1<<(d[x+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==(y|0):0)break;w=c[t+16>>2]|0;if(!w){A=2217396;break a}else t=w}A=t}while(0);c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,z)}while((j|0)>(v|0))}jh(o-v|0);q=c[k>>2]|0;r=v}c[q>>2]=c[q+-8>>2];c[q+4>>2]=c[q+-4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,r);m=1;Ia=b;return m|0}function qg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2217396){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)Cf(a,49435,e)|0;n=c[j>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{o=c[k>>2]|0;p=c[f>>2]|0;break}}else{o=l;p=c[j>>2]|0}while(0);j=p>>16;p=o+-8|0;c[k>>2]=p;o=c[c[h>>2]>>2]|0;l=p-(o+8)|0;if((l|0)==8){e=o+16|0;if(!(e>>>0>=p>>>0|(e|0)==2217396)?(c[o+20>>2]&15|0)!=0:0){e=Gf(a,2)|0;i=c[k>>2]|0;n=c[c[h>>2]>>2]|0;q=n;r=i;s=e;t=i-(n+8)|0;u=13}else v=j}else{q=o;r=p;s=-1;t=l;u=13}if((u|0)==13)if((t|0)>8){t=q+16|0;q=t>>>0<r>>>0?t:2217396;t=c[q+4>>2]|0;do if((t|0)==3){w=q;u=18}else{if((t&15|0)==4?(r=c[q>>2]|0,Wc(r+16|0,c[r+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];w=g;u=18;break}x=0}while(0);if((u|0)==18)x=c[w>>2]>>16;v=x}else v=s;if((v|0)<1|(j|0)<(v|0)){m=0;Ia=b;return m|0}s=(c[c[h>>2]>>2]|0)+8|0;x=c[k>>2]|0;w=c[(s>>>0<x>>>0?s:2217396)>>2]|0;s=v+-1|0;a:do if(s>>>0<(c[w+28>>2]|0)>>>0)y=(c[w+12>>2]|0)+(s<<3)|0;else{u=v<<16;g=0-u|0;f=(c[w+16>>2]|0)+(((((u|0)<0?((u|0)==(g|0)?0:g):u)|0)%((1<<(d[w+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(u|0):0)break;g=c[f+16>>2]|0;if(!g){y=2217396;break a}else f=g}y=f}while(0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[k>>2]=(c[k>>2]|0)+8;jh(j-v|0);if((j|0)>(v|0)){y=v;while(1){x=y;y=y+1|0;w=(c[c[h>>2]>>2]|0)+8|0;s=c[k>>2]|0;u=c[(w>>>0<s>>>0?w:2217396)>>2]|0;b:do if(x>>>0<(c[u+28>>2]|0)>>>0)z=(c[u+12>>2]|0)+(x<<3)|0;else{w=y<<16;g=0-w|0;q=(c[u+16>>2]|0)+(((((w|0)<0?((w|0)==(g|0)?0:g):w)|0)%((1<<(d[u+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[q+12>>2]|0)==3?(c[q+8>>2]|0)==(w|0):0)break;g=c[q+16>>2]|0;if(!g){z=2217396;break b}else q=g}z=q}while(0);c[s>>2]=c[z>>2];c[s+4>>2]=c[z+4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,x);if((y|0)==(j|0)){A=j;break}}}else A=v;v=c[k>>2]|0;c[v+4>>2]=0;c[k>>2]=v+8;_d(a,1,A);m=1;Ia=b;return m|0}function rg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if(h-k>>3>>>0<2){m=0;Ia=b;return m|0}if((k|0)==2217396|k>>>0>=l>>>0){m=0;Ia=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)Cf(a,49435,e)|0;h=c[k>>2]|0;if(!(Wc(h+16|0,c[h+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){jh(l);m=0;Ia=b;return m|0}n=k;k=1;while(1){o=(c[c[i>>2]>>2]|0)+8|0;f=c[(o>>>0<n>>>0?o:2217396)>>2]|0;o=k+-1|0;a:do if(o>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(o<<3)|0;else{e=k<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2217396;break a}else j=h}p=j}while(0);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];f=c[g>>2]|0;o=f+8|0;c[g>>2]=o;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0<o>>>0?e:2217396;if((f|0)!=2217396&(h|0)!=2217396?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Tc(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=k;break}}else{c[g>>2]=f;q=f}if((k|0)<(l|0)){n=q;k=k+1|0}else{r=0;break}}jh(l);if(!r){m=0;Ia=b;return m|0}k=(c[c[i>>2]>>2]|0)+8|0;q=c[g>>2]|0;n=c[(k>>>0<q>>>0?k:2217396)>>2]|0;k=r+-1|0;b:do if(k>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(k<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2217396;break b}else h=f}s=h}while(0);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){q=s;n=r;while(1){k=n;n=n+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0<q>>>0?p:2217396)>>2]|0;c:do if(k>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(k<<3)|0;else{p=n<<16;e=0-p|0;o=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==(p|0):0)break;e=c[o+16>>2]|0;if(!e){t=2217396;break c}else o=e}t=o}while(0);c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;_d(a,1,k);f=c[g>>2]|0;if((n|0)==(l|0)){u=f;v=l;break}else q=f}}else{u=s;v=r}c[u+4>>2]=0;c[g>>2]=u+8;_d(a,1,v);m=1;Ia=b;return m|0}function sg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2217396){l=0;Ia=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Ia=b;return l|0}Qc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)Cf(a,49435,e)|0;m=c[i>>2]|0;if(!(Wc(m+16|0,c[m+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{n=c[j>>2]|0;o=c[f>>2]|0;break}}else{n=k;o=c[i>>2]|0}while(0);i=o>>16;k=n+-8|0;c[j>>2]=k;n=c[c[g>>2]>>2]|0;a:do if((k-(n+8)|0)>8)if((o|0)<65536){p=0;q=0}else{f=n;e=k;h=0;m=1;r=0;while(1){s=f+8|0;t=c[(s>>>0<e>>>0?s:2217396)>>2]|0;s=m+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=m<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2217396;break b}else w=x}u=w}while(0);c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0<s>>>0?v:2217396;if(((t|0)!=2217396&(x|0)!=2217396?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Tc(a,t,x)|0)!=0:0)y=r+1|0;else y=r;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((m|0)>=(i|0)){p=t;q=y;break a}f=c[c[g>>2]>>2]|0;e=x;h=t;m=m+1|0;r=y}}else{p=0;q=i}while(0);jh(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Ia=b;return l|0}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Yd(b,g,1);h=c[d>>2]|0;c[h>>2]=f<<13;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=xd(b,49327,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;Ic(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0){j=f>>2;jh(j);return 1}k=(c[c[e>>2]>>2]|0)+8|0;l=k>>>0<h>>>0?k:2217396;c[h>>2]=c[l>>2];c[i+-12>>2]=c[l+4>>2];c[d>>2]=(c[d>>2]|0)+8;_d(b,-2,1);l=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0<l>>>0?i:2217396;c[e>>2]=c[l+-8>>2];c[e+4>>2]=c[l+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8){j=f>>2;jh(j);return 1}d=g;while(1){_d(b,1,d);if((d|0)>2)d=d+-1|0;else break}j=f>>2;jh(j);return 1}function ug(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Ia;Ia=Ia+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2217396)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=63002;c[g+4>>2]=q;Bf(a,1,Td(a,49400,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2217396)?(c[n+20>>2]&15|0)!=0:0){g=Gf(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2217396)?(c[r+28>>2]&15|0)!=0:0)u=Gf(a,3)|0;else{o=r+8|0;Qc(a,s,o>>>0<s>>>0?o:2217396);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)Cf(a,49435,f)|0;n=c[o>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,h)|0))Cf(a,49435,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Ia=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)Cf(a,50056,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(xc(a,2,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}Cf(a,50056,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0<s>>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0<y>>>0?s:2217396)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2217396;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)>(t|0)){y=A;A=t;do{t=A;A=A+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0<y>>>0?e:2217396)>>2]|0;b:do if(t>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(t<<3)|0;else{e=A<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2217396;break b}else a=z}B=a}while(0);c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];y=(c[l>>2]|0)+8|0;c[l>>2]=y}while((A|0)!=(u|0))}jh(w<<1);x=w;Ia=b;return x|0}function vg(){c[554354]=0;return}function wg(){c[554352]=(c[554352]|0)+(c[554353]|0);c[554353]=0;return}function xg(){return (c[554353]|0)+(c[554352]|0)|0}function yg(a){a=a|0;c[554353]=(c[554353]|0)+a;return}function zg(a){a=a|0;c[8722]=a;return}function Ag(){c[554352]=0;c[554353]=0;return}function Bg(){c[554354]=1073741824;return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[554364]|0;if((e|0)>510)return;f=187248+(e*1320|0)|0;Wv(f|0,0,1320)|0;Ss(f,a,255)|0;Ss(187248+((c[554364]|0)*1320|0)+256|0,b,16)|0;b=c[554364]|0;c[187248+(b*1320|0)+1316>>2]=d;Ss(187248+(b*1320|0)+288|0,3125548,1024)|0;c[554364]=(c[554364]|0)+1;return}function Dg(){c[798389]=0;c[554364]=0;return}function Eg(){var a=0;a=c[554364]|0;return ((a|0)<1?0:187248+((a+-1|0)*1320|0)+256|0)|0}function Fg(){var a=0;a=c[554364]|0;return ((a|0)<1?0:187248+((a+-1|0)*1320|0)|0)|0}function Gg(){var a=0,b=0;a=c[554364]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[187248+(b*1320|0)+1316>>2]|0))return;c[554364]=b;return}function Hg(){var a=0,b=0;a=c[554364]|0;if(!a)return;b=187248+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function Ig(){var a=0;a=c[554364]|0;if((a|0)<1)return;bc(187248+((a+-1|0)*1320|0)|0)|0;c[780900]=1;a=c[554364]|0;Rs(3126573,(a|0)<1?0:187248+((a+-1|0)*1320|0)+288|0)|0;c[780903]=20;a=c[554364]|0;if((a|0)>=1)c[554364]=a+-1;c[485555]=0;return}function Jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[742801]|0)!=0;f=c[780894]|0;if(e&(f|0)==0){qv(b)|0;return}if(!((a[2142448]|0)==0|e^1)){qv(b)|0;return}if((f|0)!=2)ma(21,b|0,bu(b)|0)|0;f=bu(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){ab();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[781024]|0)-h|0;c[781024]=g;e=c[742782]|0;Pn(e,0,g,127,g+5+((((bu(b)|0)+-1|0)>>>5)*6|0)|0,0);Bo(c[742782]|0,b,c[742805]|0,c[781023]|0,c[781024]|0,17,d)|0;c[781024]=(c[781024]|0)+h;ab();return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0;Jg(b,d);d=c[536393]|0;if(!d){e=Aq(16)|0;c[536393]=e;f=e}else f=d;d=bu(c[f+12>>2]|0)|0;Bq(f,d+16+(bu(b)|0)|0)|0;lu(c[(c[536393]|0)+12>>2]|0,b)|0;b=c[(c[536393]|0)+12>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=10;a[d+1>>0]=0;return}function Lg(a){a=a|0;Jg(a,6);return}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;wt(1719968,a,f)|0;Jg(1719968,6);Ia=e;return}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;wt(1719968,a,g)|0;Jg(1719968,e);Ia=f;return}function Og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(bv(b,50292)|0){k=0;Ia=e;return k|0}l=bv(b,50308)|0;if(!l){if(!b){k=0;Ia=e;return k|0}m=xq((bu(b)|0)+1|0)|0;Rs(m,b)|0;n=m+(bu(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=n;q=o;while(1){if((a[q>>0]|0)==58){r=p;s=q;break a}t=q+-1|0;if(t>>>0>m>>>0){u=q;q=t;p=u}else{r=q;s=t;break}}}else{r=n;s=o}while(0);kv(863088,(a[s>>0]|0)==58?r+1|0:s,1023)|0;a[864111]=0;zq(m);k=863088;Ia=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=bv(b,50319)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;Su(m+8|0,50328,h)|0}h=xq((bu(b)|0)+1|0)|0;Rs(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;wt(1719968,50373,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;wt(1719968,50340,g)|0}Kg(1719968,6);g=c[i>>2]|0;if((g|0)>0?(i=c[778919]|0,d=g+-1|0,(Is(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Js(c[c[778919]>>2]|0,d)|0;d=c[778919]|0;c[d+336>>2]=i;Gs(d,52);c[485658]=g}zq(h);k=0;Ia=e;return k|0}function Pg(b){b=b|0;var c=0,d=0;c=vq(8192)|0;Rs(c,b)|0;if(!(bv(b,50385)|0)){if(!(au(b,50442)|0)){zq(c);return}Kg(c,6);zq(c);return}if(bv(b,50402)|0?(Kg(50402,6),a[3195208]|0):0)Kg(3195208,7);d=bv(b,50419)|0;if(!d){zq(c);return}Rs(1719968,d)|0;a[1719968+((bu(1719968)|0)+-1)>>0]=0;Kg(1719968,6);zq(c);return}function Qg(a){a=a|0;var b=0;if(!a){b=xg()|0;return b|0}else{b=c[742778]|0;return b|0}return 0}function Rg(){var a=0;a=c[554361]|0;if(a|0)og(a);a=Mf(2,0)|0;c[554361]=a;c[554360]=a;c[554362]=lg(a)|0;yi(c[554360]|0);sf(c[554360]|0,6,100)|0;sf(c[554360]|0,7,200)|0;return}function Sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=vq(262144)|0;hn(b,e)|0;f=e;g=e}zq(c[554365]|0);if(!g){e=xq(16)|0;c[554365]=e;a[e>>0]=0;zq(f);h=c[554365]|0;return h|0}e=(bu(g)|0)+1|0;b=xq(e>>>0>32?e:32)|0;c[554365]=b;Rs(b,g)|0;g=c[554365]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=b;i=g;j=1;while(1){if((j|0)==(d|0))break;k=e<<24>>24==0;l=i+1|0;if(k^e<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=i;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=o;i=m;j=j+1|0}}j=e;m=i;b:while(1){switch(j<<24>>24){case 0:case 10:{break b;break}default:{}}o=m+1|0;j=a[o>>0]|0;m=o}a[m>>0]=0;zq(f);h=i;return h|0}while(0);Rs(g,50460)|0;zq(f);h=c[554365]|0;return h|0}function Tg(){var b=0,d=0,e=0,f=0,g=0;b=c[781023]|0;d=c[781024]|0;e=xl(0)|0;f=xl(1)|0;g=$k(2971096,c[781999]|0,24375)|0;dl(2971096,c[781999]|0,24320,0,128);_k(2971096,c[781999]|0,24404,0);_k(2971096,c[781999]|0,24405,96);_k(2971096,c[781999]|0,24406,32);_k(2971096,c[781999]|0,24407,128);Mk(0,0)|0;Mk(1,0)|0;Mk(2,0)|0;Mk(3,0)|0;al();c[781023]=b;c[781024]=d;yl(0,e);yl(1,f);_k(2971096,c[781999]|0,24375,g);c[781023]=0;c[781025]=0;c[781022]=6;c[781028]=4;c[781029]=6;c[781036]=15;c[781035]=15;c[781034]=255;c[781039]=0;c[781040]=0;c[781042]=0;c[781031]=0;c[781030]=0;c[780986]=0;c[781002]=0;c[780971]=1;c[780987]=1;c[781003]=1;c[780972]=2;c[780988]=2;c[781004]=18;c[780973]=3;c[780989]=3;c[781005]=19;c[780974]=4;c[780990]=4;c[781006]=36;c[780975]=5;c[780991]=5;c[781007]=21;c[780976]=6;c[780992]=6;c[781008]=214;c[780977]=7;c[780993]=7;c[781009]=103;c[780978]=8;c[780994]=8;c[781010]=72;c[780979]=9;c[780995]=9;c[781011]=73;c[780980]=10;c[780996]=10;c[781012]=154;c[780981]=11;c[780997]=11;c[781013]=59;c[780982]=12;c[780998]=12;c[781014]=220;c[780983]=13;c[780999]=13;c[781015]=93;c[780984]=14;c[781e3]=14;c[781016]=142;c[780985]=15;c[781001]=15;c[781017]=239;c[780970]=16;c[781033]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();c[781038]=0;a[3195208]=0;c[781386]=0;c[535603]=0;c[798391]=0;c[798392]=0;c[798393]=0;c[742775]=0;c[798930]=0;qn();if(c[798799]|0){c[742777]=0;c[781379]=0;wn();c[798466]=0;a[3195728]=0;Uk();Vk();c[781045]=13;return}c[484717]=0;c[484720]=0;c[742777]=0;c[781379]=0;wn();c[798466]=0;a[3195728]=0;Uk();Vk();c[781045]=13;return}function Ug(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=Ia;Ia=Ia+176|0;e=d+152|0;f=d+144|0;g=d+136|0;h=d+128|0;i=d+120|0;j=d+112|0;k=d+104|0;l=d+96|0;m=d+88|0;n=d+80|0;o=d+72|0;p=d+64|0;q=d+56|0;r=d+48|0;s=d+40|0;t=d+32|0;u=d+24|0;v=d+16|0;w=d+8|0;x=d;y=d+160|0;c[y>>2]=0;c[781022]=6;if(ut(b,50466,6)|0)if(!(ut(b,50473,5)|0))z=b+5|0;else{A=b+10|0;if(ut(b,50593,10)|0){B=b+9|0;if(ut(b,50604,9)|0)if(ut(b,50614,10)|0)if(!(ut(b,50625,9)|0))C=B;else{if(ut(b,50803,14)|0)if(ut(b,50818,13)|0){if(!(ut(b,50988,7)|0)){c[x>>2]=y;Su(b+7|0,94793,x)|0;x=c[y>>2]|0;D=(x|0)<256?x:256;x=(D|0)>8?D:8;c[y>>2]=x;c[535610]=x;if(c[555247]|0)c[555247]=x;c[w>>2]=x;wt(1719968,50996,w)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,93198,6)|0)){Jg(51011,14);Jg(51031,12);c[v>>2]=c[535610];c[v+4>>2]=0;wt(1719968,51056,v)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51075,8)|0)){c[u>>2]=y;Su(b+8|0,94793,u)|0;u=c[y>>2]|0;v=(u|0)<30?u:30;u=(v|0)>1?v:1;c[y>>2]=u;c[484701]=u;c[t>>2]=u;wt(1719968,51084,t)|0;Jg(1719968,14);Mh();Ia=d;return}if(!(ut(b,51100,7)|0)){Jg(51108,14);c[s>>2]=c[484701];c[s+4>>2]=0;wt(1719968,51133,s)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51153,15)|0)){c[r>>2]=y;Su(b+15|0,94793,r)|0;r=c[y>>2]|0;s=(r|0)<1?r:1;r=(s|0)>0?s:0;c[y>>2]=r;c[484702]=r;c[q>>2]=r;wt(1719968,51169,q)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51192,14)|0)){Jg(51207,14);Jg(51236,12);Jg(51268,12);Jg(3196396,6);c[p>>2]=c[484702];c[p+4>>2]=0;wt(1719968,51299,p)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51326,12)|0)){c[o>>2]=y;Su(b+12|0,94793,o)|0;o=c[y>>2]|0;p=(o|0)<1?o:1;o=(p|0)>0?p:0;c[y>>2]=o;c[484715]=o;c[n>>2]=o;wt(1719968,51339,n)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51359,10)|0)){c[m>>2]=y;Su(A,94793,m)|0;m=c[y>>2]|0;n=(m|0)<8?m:8;m=(n|0)>1?n:1;c[y>>2]=m;c[484698]=m;c[l>>2]=m;wt(1719968,51370,l)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51388,9)|0)){Jg(51398,14);c[k>>2]=c[484698];c[k+4>>2]=0;wt(1719968,51422,k)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51444,17)|0)){c[j>>2]=y;Su(b+17|0,94793,j)|0;j=c[y>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[y>>2]=j;c[484697]=j;c[i>>2]=j;wt(1719968,51462,i)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51487,16)|0)){Jg(51504,14);c[h>>2]=c[484697];c[h+4>>2]=0;wt(1719968,51535,h)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51564,10)|0)){c[g>>2]=y;Su(A,94793,g)|0;g=c[y>>2]|0;h=(g|0)<8?g:8;g=(h|0)>1?h:1;c[y>>2]=g;c[484694]=g;y=((g|0)<4?g:4)<<2;c[(c[778903]|0)+316>>2]=y;c[(c[778904]|0)+316>>2]=y;c[(c[778905]|0)+316>>2]=y;c[(c[778906]|0)+316>>2]=y;c[(c[778907]|0)+316>>2]=y;c[(c[778908]|0)+316>>2]=y;c[(c[778909]|0)+316>>2]=y;c[(c[778910]|0)+316>>2]=y;c[(c[778911]|0)+316>>2]=y;c[(c[778912]|0)+316>>2]=y;c[(c[778913]|0)+316>>2]=y;c[(c[778914]|0)+316>>2]=y;c[(c[778915]|0)+316>>2]=y;c[(c[778916]|0)+316>>2]=y;c[(c[778917]|0)+316>>2]=y;c[(c[778918]|0)+316>>2]=y;c[f>>2]=g;wt(1719968,51575,f)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51593,9)|0)){Jg(51603,14);c[e>>2]=c[484694];c[e+4>>2]=0;wt(1719968,51628,e)|0;Jg(1719968,6);Ia=d;return}else{Jg(51650,14);Jg(3196396,6);Jg(51667,12);c[781022]=14;Jg(93198,6);Jg(50473,6);Jg(51100,6);Jg(51192,6);Jg(51388,6);Jg(51487,6);Jg(50818,6);Jg(51593,6);Jg(50604,6);Jg(3196396,6);Ia=d;return}}else E=b+13|0;else E=b+14|0;if(!(ut(E,50635,2)|0)){c[484711]=1;Jg(50832,14);Ia=d;return}if(!(ut(E,50656,3)|0)){c[484711]=0;Jg(50842,14);Ia=d;return}switch(a[E>>0]|0){case 49:{c[484711]=1;Jg(50832,14);Ia=d;return}case 48:{c[484711]=0;Jg(50842,14);Ia=d;return}default:{Jg(50853,14);Jg(3196396,6);Jg(50878,6);Jg(50908,6);Jg(3196396,6);if(!((c[484711]|0)!=0?(Jg(50939,12),(c[484711]|0)!=0):0))Jg(50963,12);Jg(3196396,6);Ia=d;return}}}else C=A;else C=B}else C=A;if(!(ut(C,50635,2)|0)){c[484695]=1;Jg(50638,14);Ia=d;return}if(!(ut(C,50656,3)|0)){c[484695]=0;Jg(50660,14);Ia=d;return}switch(a[C>>0]|0){case 49:{c[484695]=1;Jg(50638,14);Ia=d;return}case 48:{c[484695]=0;Jg(50660,14);Ia=d;return}default:{Jg(50679,14);Jg(3196396,6);Jg(50707,6);Jg(50736,6);Jg(3196396,6);if(!((c[484695]|0)!=0?(Jg(50762,12),(c[484695]|0)!=0):0))Jg(50782,12);Jg(3196396,6);Ia=d;return}}}else z=b+6|0;if(!(ut(z,50479,4)|0)){c[484705]=1;Jg(50484,14);Ia=d;return}if(!(ut(z,50502,4)|0)){c[484705]=0;Jg(50507,14);Ia=d;return}if(!(ut(z,50525,7)|0)){c[484705]=3;Jg(50533,14);Ia=d;return}else{Jg(50554,14);Jg(3196396,6);Jg(50575,12);Jg(50502,6);Jg(50479,6);Jg(50525,6);Jg(3196396,6);Ia=d;return}}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(Xr()|0)/120|0;if((c[536390]|0)==0|(c[742775]|0)<240)return;d=xg()|0;e=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[798455]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=Lv(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[780894]|0)!=1|(f|0)<7864320|(c[780901]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,3,e,5,h,0);Un(a,4,f,((tp(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,3,e,5,h,0);Un(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,5,e,7,h,0);Un(a,6,f,((tp(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,5,e,7,h,0);Un(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,7,e,9,h,0);Un(a,8,f,((tp(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,7,e,9,h,0);Un(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Wg(a){a=a|0;var b=0,d=0,e=0;b=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[798455]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=Lv(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Ia;Ia=Ia+48|0;d=b+16|0;e=b;if(!((c[780894]|0)==1&(c[780901]|0)!=0)){Ia=b;return}Hk(a,60,4,123,26,0);Qn(a,60,4,124,27);f=0;do{h=((c[536387]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2143500+(h<<5)+20>>2]|0;Un(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}Un(a,i,19-(c[2143500+(h<<5)+16>>2]|0)|0,2);l=2143500+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2143500+(h<<5)+12>>2]|0;Un(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(qo(225)|0)){f=c[798455]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[536380]|0)+((c[536372]|0)+((c[536364]|0)+((c[536356]|0)+((c[536348]|0)+((c[536340]|0)+((c[536332]|0)+((c[536324]|0)+((c[536316]|0)+((c[536308]|0)+((c[536300]|0)+((c[536292]|0)+((c[536284]|0)+((c[536276]|0)+((c[536268]|0)+((c[536260]|0)+((c[536252]|0)+((c[536244]|0)+((c[536236]|0)+((c[536228]|0)+((c[536220]|0)+((c[536212]|0)+((c[536204]|0)+((c[536196]|0)+((c[536188]|0)+((c[536180]|0)+((c[536172]|0)+((c[536164]|0)+((c[536156]|0)+((c[536148]|0)+((c[536140]|0)+((c[536132]|0)+((c[536124]|0)+((c[536116]|0)+((c[536108]|0)+((c[536100]|0)+((c[536092]|0)+((c[536084]|0)+((c[536076]|0)+((c[536068]|0)+((c[536060]|0)+((c[536052]|0)+((c[536044]|0)+((c[536036]|0)+((c[536028]|0)+((c[536020]|0)+((c[536012]|0)+((c[536004]|0)+((c[535996]|0)+((c[535988]|0)+((c[535980]|0)+((c[535972]|0)+((c[535964]|0)+((c[535956]|0)+((c[535948]|0)+((c[535940]|0)+((c[535932]|0)+((c[535924]|0)+((c[535916]|0)+((c[535908]|0)+((c[535900]|0)+((c[535892]|0)+((c[535884]|0)+(c[535876]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[798454];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;wt(1719968,51703,d)|0;Bo(a,1719968,c[742805]|0,63,20,1,(c[798454]|0)<(c[798455]|0)?8:13)|0}else{d=c[798455]|0;n=+(c[2143500+(h<<5)+24>>2]|0);c[e>>2]=c[798454];c[e+4>>2]=d;g[e+8>>3]=n;wt(1719968,51687,e)|0;Bo(a,1719968,c[742805]|0,63,20,1,(c[798454]|0)<(c[798455]|0)?8:13)|0}Xn(a);Wn(a,59,3,124,27,0);Ia=b;return}function Yg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[536387]|0;b=(c[798390]|0)+(c[781046]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2143500+(a<<5)>>2]=(d|0)>0?d:0;d=xg()|0;b=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[798455]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=Lv(b|0,d|0,f|0,g|0)|0;G()|0;c[2143500+(a<<5)+4>>2]=h;h=c[742778]|0;d=Rv(h|0,((h|0)<0)<<31>>31|0,16)|0;h=Lv(d|0,G()|0,f|0,g|0)|0;G()|0;c[2143500+(a<<5)+8>>2]=h;c[2143500+(a<<5)+12>>2]=(c[535607]|0)==0?((c[798454]|0)<(e|0)?14:6):7;c[2143500+(a<<5)+20>>2]=c[535606];c[2143500+(a<<5)+24>>2]=Cr()|0;a=((c[536387]|0)+1|0)%64|0;c[536387]=a;e=2143500+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Zg(){var b=0;if(!(c[554363]|0))c[554363]=Xr()|0;b=Xr()|0;if((b|0)<=((c[554363]|0)+6e4|0))return;a[2009716]=0;a[2075252]=0;c[535197]=0;c[535198]=0;c[554363]=Xr()|0;return}function _g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=Ia;Ia=Ia+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[536390]=0;Cq(c[536393]|0);c[536393]=0;if((au(b,86658)|0?au(b,51721)|0:0)?au(b,104528)|0:0){if(au(b,104886)|0?!((a[b>>0]|0)==0&(c[485657]|0)!=0):0){c[485657]=0;ci(c[554360]|0);c[742799]=0;c[742779]=1;c[742779]=(bv(b,59099)|0)==0&1;if(!((bv(b,51748)|0)==0?!(bv(b,59915)|0):0))qs();c[536390]=(bv(b,51756)|0)!=0&1;c[742778]=0;c[742780]=0;Ag();zg(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=xq(262144)|0;a:do if(!(hn(b,n)|0)){do if(!m){if((bu(n)|0)>>>0>65536){Jg(51763,6);c[j>>2]=bu(n)|0;c[j+4>>2]=65536;wt(1719968,51790,j)|0;Jg(1719968,6);zq(n);break a}o=uh(n)|0;if((o|0)>8192){Jg(51805,6);c[i>>2]=o;c[i+4>>2]=8192;wt(1719968,51823,i)|0;Jg(1719968,6);zq(n);break a}else{p=c[554361]|0;c[554360]=p;q=p;r=o*12|0;break}}else{o=c[554362]|0;c[554360]=o;q=o;r=0}while(0);rf(q);Wv(928624,0,262144)|0;Vv(928624+(bu(928624)|0)|0,51839,4075)|0;o=928624+(bu(928624)|0)|0;p=55914;s=o+13|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0));Vv(928624+(bu(928624)|0)|0,55927,358)|0;o=928624+(bu(928624)|0)|0;p=56285;s=o+11|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0));if(!(c[484627]|0))Vv(928624+(bu(928624)|0)|0,56296,639)|0;t=928624+(bu(928624)|0)|0;a[t>>0]=a[56935]|0;a[t+1>>0]=a[56936]|0;a[t+2>>0]=a[56937]|0;if(!((au(3120504,93899)|0)!=0?(au(3120504,56938)|0)!=0:0)){t=928624+(bu(928624)|0)|0;a[t>>0]=a[56944]|0;a[t+1>>0]=a[56945]|0;a[t+2>>0]=a[56946]|0;a[t+3>>0]=a[56947]|0;a[t+4>>0]=a[56948]|0;a[t+5>>0]=a[56949]|0;a[t+6>>0]=a[56950]|0}t=xq(262144)|0;ku(t,n)|0;lu(928624,t)|0;zq(n);zq(t);if(67469){t=67469;u=1088;do{Rs(l,t)|0;v=c[u>>2]|0;if(!(au(b,v)|0)){if(au(67474,l)|0)if(!(au(91165,l)|0)){w=3;x=33}else y=l;else{w=1;x=33}if((x|0)==33){x=0;y=c[1200+(w<<2)>>2]|0}c[h>>2]=51839;c[h+4>>2]=y;wt(928624,56951,h)|0;z=c[u>>2]|0}else z=v;v=bu(b)|0;A=bu(z)|0;b:do if(v>>>0>=(A+2|0)>>>0?(ut(b,z,A)|0)==0:0){B=b+A|0;switch(a[B>>0]|0){case 32:case 0:break;default:break b}if((a[b+(A+1)>>0]|0)==34)break;if(au(67474,l)|0)if(!(au(91165,l)|0)){C=3;x=41}else D=l;else{C=1;x=41}if((x|0)==41){x=0;D=c[1200+(C<<2)>>2]|0}c[g>>2]=51839;c[g+4>>2]=D;c[g+8>>2]=B+1;wt(928624,56959,g)|0}while(0);u=u+4|0;t=c[u>>2]|0}while((t|0)!=0)}if(!(au(b,92375)|0)){o=928624;p=56971;s=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0))}if((ut(b,61998,6)|0)==0?(a[b+6>>0]|0)<33:0){Ug(b+7|0);Rs(928624,3196396)|0}lu(928624,m?56980:57004)|0;c[798388]=1;p=If(c[554360]|0,928624)|0;c[798388]=0;c[798390]=r;if(!p){nl();c[798462]=0;if((c[780900]|0)==1)Tg();c[780894]=1;c[780901]=d;break}c[781022]=6;c:do if(m){Kg(58234,14);E=0;F=d}else{p=$g(c[8721]|0,k)|0;do if((p|0)>0){o=c[778919]|0;s=p+-1|0;if((Is(c[o>>2]|0,c[o+336>>2]|0)|0)==(s|0))break;o=Js(c[c[778919]>>2]|0,s)|0;s=c[778919]|0;c[s+336>>2]=o;Gs(s,52);c[485658]=p}else{if(p|0)break;Kg(58234,14);E=0;F=d;break c}while(0);s=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=s;wt(1719968,58247,f)|0;Kg(1719968,14);s=Sg(b,(c[8721]|0)+-2|0,1)|0;if(!s){E=0;F=0;break}Kg(s,7);E=s;F=0}while(0);s=Og(Jd(c[554360]|0,-1,0)|0,F)|0;do if(s|0){if(!((E|0)!=0&(au(s,58277)|0)==0)){Kg(s,6);break}if(!(bv(E,63997)|0)){Kg(58306,6);break}else{Kg(s,6);break}}while(0);c[485554]=1}else zq(n);while(0);Ia=e;return}n=c[554361]|0;if((n|0)!=0&(c[536391]|0)!=0){c[554360]=n;c[554964]=0;c[780901]=1;c[780894]=1;nl();c[485657]=1;c[798454]=c[798455];Ia=e;return}else{Jg(51730,6);Ia=e;return}}n=c[554361]|0;if((n|0)!=0&(c[536391]|0)!=0){c[554360]=n;c[554964]=0;c[780901]=1;c[780894]=1;nl();c[485657]=0;Ia=e;return}else{Jg(51730,6);Ia=e;return}}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ia;Ia=Ia+16|0;e=d;f=a+-2|0;a=vq(262144)|0;hn(c[c[778903]>>2]|0,a)|0;g=Is(a,1048576)|0;zq(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=vq(262144)|0;hn(c[c[778904]>>2]|0,a)|0;h=Is(a,1048576)|0;zq(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=vq(262144)|0;hn(c[c[778905]>>2]|0,a)|0;i=Is(a,1048576)|0;zq(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=vq(262144)|0;hn(c[c[778906]>>2]|0,a)|0;j=Is(a,1048576)|0;zq(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=vq(262144)|0;hn(c[c[778907]>>2]|0,a)|0;k=Is(a,1048576)|0;zq(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=vq(262144)|0;hn(c[c[778908]>>2]|0,a)|0;l=Is(a,1048576)|0;zq(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=vq(262144)|0;hn(c[c[778909]>>2]|0,a)|0;m=Is(a,1048576)|0;zq(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=vq(262144)|0;hn(c[c[778910]>>2]|0,a)|0;n=Is(a,1048576)|0;zq(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=vq(262144)|0;hn(c[c[778911]>>2]|0,a)|0;o=Is(a,1048576)|0;zq(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=vq(262144)|0;hn(c[c[778912]>>2]|0,a)|0;p=Is(a,1048576)|0;zq(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=vq(262144)|0;hn(c[c[778913]>>2]|0,a)|0;q=Is(a,1048576)|0;zq(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=vq(262144)|0;hn(c[c[778914]>>2]|0,a)|0;r=Is(a,1048576)|0;zq(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=vq(262144)|0;hn(c[c[778915]>>2]|0,a)|0;s=Is(a,1048576)|0;zq(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=vq(262144)|0;hn(c[c[778916]>>2]|0,a)|0;t=Is(a,1048576)|0;zq(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=vq(262144)|0;hn(c[c[778917]>>2]|0,a)|0;u=Is(a,1048576)|0;zq(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=vq(262144)|0;hn(c[c[778918]>>2]|0,a)|0;v=Is(a,1048576)|0;zq(a);if((u|0)>(v+2|0)){if(!b){w=0;Ia=d;return w|0}c[b>>2]=0;w=0;Ia=d;return w|0}else{x=u;y=15}}else{x=t;y=14}}else{x=s;y=13}}else{x=r;y=12}}else{x=q;y=11}}else{x=p;y=10}}else{x=o;y=9}}else{x=n;y=8}}else{x=m;y=7}}else{x=l;y=6}}else{x=k;y=5}}else{x=j;y=4}}else{x=i;y=3}}else{x=h;y=2}}else{x=g;y=1}}else{x=f;y=0}if(b|0)c[b>>2]=y;if((jn()|0)<=0){w=x;Ia=d;return w|0}y=0;b=x;while(1){if((x|0)>(kn(y)|0)?(x|0)<=(ln(y)|0):0)break;if((x|0)>(ln(y)|0)){f=ln(y)|0;z=b+1-f+(kn(y)|0)|0}else z=b;f=y+1|0;if((f|0)<(jn()|0)){y=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Ia=d;return w|0}A=mn(y)|0;z=x-(kn(y)|0)|0;c[e>>2]=A;c[e+4>>2]=z;wt(1719968,58329,e)|0;Jg(1719968,9);w=1-x+b+(kn(y)|0)|0;Ia=d;return w|0}function ah(){var b=0,d=0,e=0;if((c[742800]|0)>0)return;b=(c[780901]|0)!=0;if(b){c[554361]=c[554360];c[554964]=1;c[742799]=0;$l()|0;if(!(($k(2971096,c[781999]|0,24366)|0)&1)){c[780986]=0;c[780987]=1;c[780988]=2;c[780989]=3;c[780990]=4;c[780991]=5;c[780992]=6;c[780993]=7;c[780994]=8;c[780995]=9;c[780996]=10;c[780997]=11;c[780998]=12;c[780999]=13;c[781e3]=14;c[781001]=15}if(!(($k(2971096,c[781999]|0,24366)|0)&2))_k(2971096,c[781999]|0,24415,0);if(!(($k(2971096,c[781999]|0,24366)|0)&4)){c[781382]=0;c[781383]=0;c[781384]=0;c[781385]=0}if(!(($k(2971096,c[781999]|0,24366)|0)&8)){c[781036]=15;c[781035]=15;c[781034]=255}if(!(($k(2971096,c[781999]|0,24366)|0)&16)){_k(2971096,c[781999]|0,24408,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24409,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24410,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24411,0)}if(!(($k(2971096,c[781999]|0,24366)|0)&32))c[781038]=0;if(!(($k(2971096,c[781999]|0,24366)|0)&64))c[781022]=6;if(!(($k(2971096,c[781999]|0,24366)|0)&128)){_k(2971096,c[781999]|0,24404,0);_k(2971096,c[781999]|0,24405,96)}Vm();if(!(c[485554]|0))c[485554]=1}c[780894]=0;c[742797]=0;c[781031]=0;c[781030]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();Nk(0);c[781023]=0;c[781025]=0;d=c[781024]|0;e=(d|0)<122?d:122;c[781024]=(e|0)>0?e:0;if(b?no()|0:0)do oo()|0;while((no()|0)!=0);if(c[742801]|0)c[554811]=1;c[484717]=0;Xn(c[742782]|0);return}function bh(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[778921]|0;d=(a[c[c[778903]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[778904]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[778905]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[778906]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[778907]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[778908]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[778909]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[778910]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[778911]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[778912]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[778913]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[778914]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[778915]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[778916]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[778917]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[778918]>>2]>>0]|0)!=0;a[c[c[26544]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;lu(c[c[26544]>>2]|0,c[c[778903]>>2]|0)|0;if((t|0)>0){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778904]>>2]|0)|0;if((t|0)>1){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778905]>>2]|0)|0;if((t|0)>2){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778906]>>2]|0)|0;if((t|0)>3){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778907]>>2]|0)|0;if((t|0)>4){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778908]>>2]|0)|0;if((t|0)>5){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778909]>>2]|0)|0;if((t|0)>6){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778910]>>2]|0)|0;if((t|0)>7){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778911]>>2]|0)|0;if((t|0)>8){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778912]>>2]|0)|0;if((t|0)>9){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778913]>>2]|0)|0;if((t|0)>10){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778914]>>2]|0)|0;if((t|0)>11){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778915]>>2]|0)|0;if((t|0)>12){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778916]>>2]|0)|0;if((t|0)>13){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778917]>>2]|0)|0;if((t|0)<=14){u=c[26544]|0;v=c[u>>2]|0;w=c[778918]|0;x=c[w>>2]|0;lu(v,x)|0;return}t=c[c[26544]>>2]|0;d=t+(bu(t)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0;u=c[26544]|0;v=c[u>>2]|0;w=c[778918]|0;x=c[w>>2]|0;lu(v,x)|0;return}function ch(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[778903]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778904]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778905]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778906]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778907]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778908]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778909]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778910]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778911]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778912]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778913]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778914]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778915]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778916]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778917]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778918]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[c[26544]>>2]|0;b=0;while(1){if((b|0)!=15){d=bv(a,58341)|0;e=c[c[3115612+(b<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{Vv(e|0,a|0,d-a|0)|0;h=d+6|0;i=b+1|0}}else{f=c[c[778918]>>2]|0;g=6}if((g|0)==6){g=0;Rs(f,a)|0;h=a;i=16}if((i|0)<16){a=h;b=i}else break}return}function dh(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ia;Ia=Ia+1024|0;d=c;Wv(1190768,0,1024)|0;Rs(d,b)|0;a[1190768]=0;b=Ts(d,93459)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ia=c;return 1190768}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}Rs(1190768,f>>>0>d>>>0?e:f)|0;Ia=c;return 1190768}function eh(a){a=a|0;return 1}function fh(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+2064|0;e=d+2048|0;f=d+1024|0;g=d;bh();Rs(3125548,3126573)|0;c[f>>2]=c[484611];c[f+4>>2]=3126573;vv(58361,f)|0;if(!(c[484611]|0))a[3126573]=0;a[3120504]=0;a[3121528]=0;Rs(g,3118768)|0;c[485554]=0;h=(bv(g,58348)|0)!=0;do if(!(h&(c[484611]|0)!=0)?(ds(58356,f),(bv(g,f)|0)==0):0)if(!(bv(g,3115688)|0)){Rs(3121528,g)|0;break}else{Rs(3121528,g+(bu(3115688)|0)|0)|0;break}else i=7;while(0);if((i|0)==7){Wv(1190768,0,1024)|0;Rs(f,g)|0;a[1190768]=0;g=Ts(f,93459)|0;if((g|0)!=0&g>>>0>f>>>0){a[g>>0]=0;i=g;a:while(1){j=i+-1|0;g=a[j>>0]|0;if(!((g+-97&255)<26|(g+-48&255)<10))switch(g<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>f>>>0)i=j;else break}Rs(1190768,j>>>0>f>>>0?i:j)|0}Rs(3120504,1190768)|0;c[535872]=0}c[e>>2]=3118768;c[e+4>>2]=3121528;c[e+8>>2]=3120504;wt(1715360,58436,e)|0;Cn(1715360);a[3122552]=0;Rg();el(2971096,c[781999]|0,0,0,17152);a[3127598]=0;a[3127662]=0;a[3127726]=0;a[3127790]=0;a[3127854]=0;a[3127918]=0;Wv(3119920,0,261)|0;b[1563991]=0;b[1563992]=0;b[1563993]=0;e=Fa(0)|0;zl((Xr()|0)+e|0);_g(c[c[26544]>>2]|0,0);or();lr(0,0);c[781382]=0;c[781383]=0;c[781384]=0;c[781385]=0;c[798454]=30;c[798455]=30;nl();Kb(c[26544]|0,3119833);c[780904]=0;c[485657]=0;c[536391]=1;Nk(0);Ia=d;return}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ia;Ia=Ia+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Wd(b,61302);be(c[554360]|0,0,1,0,0,0)|0;k=Jd(b,-1,0)|0;if(!k){Ia=d;return}zd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ia=d;return}l=b;b=k;k=0;while(1){if(k>>>0>=10){m=23;break}k=k+1|0;n=l;o=b;a:while(1){switch(n<<24>>24){case 10:case 0:{break a;break}default:{}}p=o+1|0;n=a[p>>0]|0;o=p}Wv(h|0,0,512)|0;kv(h,b,o-b|0)|0;b=(a[o>>0]|0)==10?o+1|0:o;b:do if((bv(h,58509)|0)==0?(bv(h,58525)|0)==0:0){n=h;c:while(1){switch(a[n>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}n=n+1|0}c[i>>2]=0;c[g>>2]=i;Su(n+1|0,94793,g)|0;p=c[i>>2]|0;if((p|0)>0){q=bv(h,58536)|0;if(!q){if(!(bv(h,58573)|0))break;r=$g(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;wt(1719968,58587,e)|0;Kg(1719968,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;n=$g(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=n;c[f+8>>2]=r;wt(1719968,58550,f)|0;Jg(1719968,13)}}while(0);l=a[b>>0]|0;if(!(l<<24>>24)){m=23;break}}if((m|0)==23){Ia=d;return}}function hh(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;g=(c[484611]|0)==0;sf(c[554360]|0,1,0)|0;if(sf(c[554360]|0,9,0)|0){h=c[554360]|0;if((c[798466]|0)>64)sf(h,2,0)|0;else sf(h,5,200)|0}h=g?2359296:2113536;if(((c[798390]|0)+(c[781046]|0)|0)>(h|0)?sf(c[554360]|0,9,0)|0:0){g=c[742775]|0;if((c[554366]|0)!=(g|0)){c[798466]=(c[798466]|0)+1;c[554366]=g}sf(c[554360]|0,2,0)|0;g=c[781046]|0;i=(c[798390]|0)+g|0;if((i|0)>(h|0)){if(!(sf(c[554360]|0,9,0)|0))Cn(58607);else Kc(c[554360]|0,1);j=c[798390]|0;k=(c[781046]|0)+j|0;c[e>>2]=j+g;c[e+4>>2]=k;c[e+8>>2]=j;wt(1715360,58663,e)|0;Cn(1715360);l=(c[798390]|0)+(c[781046]|0)|0}else l=i;if((l|0)>(h|0)){Rg();ah();Jg(58704,6);Ia=b;return}}sf(c[554360]|0,0,0)|0;if((c[780894]|0)!=1|(c[780895]|0)!=0){Ia=b;return}vg();a:do switch(fg(c[554360]|0,0,0)|0){case 0:{ah();if((c[554360]|0)==(c[554361]|0))c[536391]=0;break}case 1:{c[780894]=1;break}default:if((c[742800]|0)<=0){ah();do if(c[780901]|0){h=c[554351]|0;if((h|0)>2){l=Sg(c[c[26544]>>2]|0,h+-2|0,1)|0;i=$g(h,f)|0;h=c[f>>2]|0;if((h|0)>=(Eh()|0)){Kg(58747,14);break}h=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=h;wt(1719968,58718,d)|0;Kg(1719968,14);if(l|0)Kg(l,7);if((i|0)>0?(l=c[778919]|0,h=i+-1|0,(Is(c[l>>2]|0,c[l+336>>2]|0)|0)!=(h|0)):0){l=Js(c[c[778919]>>2]|0,h)|0;h=c[778919]|0;c[h+336>>2]=l;Gs(h,52);c[485658]=i}}}else Kg(58747,14);while(0);Pg(Jd(c[554360]|0,-1,0)|0);if(a[3195208]|0)Kg(3195208,6);if(c[798467]|0){c[798467]=0;break a}if(c[780901]|0)gh(c[554360]|0)}}while(0);if(!(c[798463]|0)){Ia=b;return}d=Xr()|0;if((d|0)<=((c[798464]|0)+1e3|0)){Ia=b;return}$l()|0;c[798464]=Xr()|0;Ia=b;return}function ih(){var a=0,b=0;Xr()|0;zg(8388608/(c[798454]|0)|0);wg();c[485558]=0;if(Wk()|0)return;a=1;while(1){c[781386]=(c[781386]|0)+1;c[798465]=0;hh();if(!(c[798465]|0)){b=5;break}if(a>>>0<8192)a=a+1|0;else{b=5;break}}if((b|0)==5)return}function jh(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[742778]=(c[742778]|0)+b;yg(b);return}function kh(b){b=b|0;a[3195208]=0;if(!b)return;kv(3195208,b,254)|0;a[3195463]=0;return}function lh(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[536387]|0;c[798424]=c[798425];c[798425]=c[798426];c[798426]=c[798427];c[798427]=c[798428];c[798428]=c[798429];c[798429]=c[798430];c[798430]=c[798431];c[798431]=c[798432];c[798432]=c[798433];c[798433]=c[798434];c[798434]=c[798435];c[798435]=c[798436];c[798436]=c[798437];c[798437]=c[798438];c[798438]=c[798439];c[798439]=c[798440];c[798440]=c[798441];c[798441]=c[798442];c[798442]=c[798443];c[798443]=c[798444];c[798444]=c[798445];c[798445]=c[798446];c[798446]=c[798447];c[798447]=c[798448];c[798448]=c[798449];c[798449]=c[798450];c[798450]=c[798451];c[798451]=c[798452];c[798452]=c[798453];c[798453]=Cr()|0;b=c[798424]|0;d=c[798425]|0;e=c[798426]|0;f=c[798427]|0;g=c[798428]|0;h=c[798429]|0;i=c[798430]|0;j=c[798431]|0;k=c[798432]|0;l=c[798433]|0;m=c[798434]|0;n=c[798435]|0;o=c[798436]|0;p=c[798437]|0;q=c[798438]|0;r=c[798439]|0;s=c[798440]|0;t=c[798441]|0;u=c[798442]|0;v=c[798443]|0;w=c[798444]|0;x=c[798445]|0;y=c[798446]|0;z=c[798447]|0;A=c[798448]|0;B=c[798449]|0;C=c[798450]|0;D=c[798451]|0;E=c[798452]|0;F=c[798453]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[798458]|0;J=c[798456]|0;if((I|0)>(J|0)){K=I-J|0;J=Rv(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[798455]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=Lv(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[798395]|0;c[798394]=L;c[798395]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[798461]|0;K=c[798459]|0;if((I|0)<(K|0))return;L=c[535605]|0;J=I-K+(c[798392]|0)+((L|0)>0?L:0)|0;L=(c[535471]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[798454]|0;b=c[798455]|0;if((c[535607]|0)!=0&(H|0)==(b|0)){c[2143500+(a<<5)+28>>2]=9;c[798454]=(H|0)/2|0;c[535607]=0;return}c[535607]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2143500+(a<<5)+28|0;c[d>>2]=8;c[798454]=30;if(ns()|0?(e=Xr()|0,(e-(c[798393]|0)|0)<2e3):0){c[d>>2]=10;d=(c[798392]|0)+1|0;c[798392]=(d|0)<5?d:5}c[798393]=Xr()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2143500+(a<<5)+28>>2]=11;c[798454]=b;return}if((M|0)>=63488)return;c[2143500+(a<<5)+28>>2]=2;return}function mh(){c[297948]=0;c[554367]=0;return}function nh(a){a=a|0;Rs(1191792+(c[554367]<<6)|0,a)|0;c[554367]=(c[554367]|0)+1;return}function oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,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;d=Ia;Ia=Ia+128|0;e=d;f=c[554369]|0;if((f|4|0)!=-995)c[554370]=f;a[1208176]=0;c[554369]=0;g=b;a:while(1){h=a[g>>0]|0;switch(h<<24>>24){case 0:{i=6;break a;break}case 45:{i=7;break a;break}case 126:{i=18;break a;break}case 13:case 9:case 8:case 32:break;default:{j=h;k=0;break a}}g=g+1|0}if((i|0)==6){c[554369]=-1e3;l=g;Ia=d;return l|0}else if((i|0)==7){b=a[g+1>>0]|0;if(b<<24>>24==45){c[554369]=-995;m=g+2|0;if((a[m>>0]|0)==91){n=0;while(1){o=n+1|0;p=a[m+o>>0]|0;if(n>>>0<60&p<<24>>24==61)n=o;else break}if(p<<24>>24==91?(p=n+2|0,Vv(e|0,m|0,p|0)|0,a[e>>0]=93,a[e+o>>0]=93,a[e+p>>0]=0,p=bv(g+4+n|0,e)|0,p|0):0){l=p+2+n|0;Ia=d;return l|0}}n=g;b:while(1){switch(a[n>>0]|0){case 0:case 10:{l=n;break b;break}default:{}}n=n+1|0}Ia=d;return l|0}else{q=b;r=45;i=19}}else if((i|0)==18){q=a[g+1>>0]|0;r=126;i=19}do if((i|0)==19){if((q+-48&255)>9){if(q<<24>>24!=46){j=r;k=0;break}if(((a[g+2>>0]|0)+-48&255)>9){j=r;k=0;break}}b=c[554370]|0;j=r;k=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-965|((b|0)==61|((b|0)==-966|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==-954|((b|1|0)==-955|((b|1|0)==-957|((b|0)==-953|((b|0)==124|((b|0)==38|((b|0)==92|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))))))))&1}while(0);if(a[1232+(j&255)>>0]|0){c[554369]=0;r=c[8726]|0;q=h<<24>>24;if(!(a[1488+(q&255)>>0]|0)){s=r;t=0;u=g}else{b=h;n=q;q=r;r=0;p=g;while(1){o=(B(n,q)|0)&8191^7266;m=r+1|0;a[1208176+r>>0]=b;v=p+1|0;b=a[v>>0]|0;n=b<<24>>24;if(!(a[1488+(n&255)>>0]|0)){s=o;t=m;u=v;break}else{q=o;r=m;p=v}}}a[1208176+t>>0]=0;switch(f|0){case 46:case 58:break;default:{f=c[1273712+(s*20|0)+16>>2]|0;if(f|0?(au(1273712+(s*20|0)|0,1208176)|0)==0:0){c[554369]=f;l=u;Ia=d;return l|0}}}c[554369]=-998;l=u;Ia=d;return l|0}if((j+-48&255)>9)if(j<<24>>24==46)w=((a[g+1>>0]|0)+-48&255)<10&1;else w=0;else w=1;if(w|k|0){switch(j<<24>>24){case 126:case 45:{a[1208176]=j;k=g+1|0;x=a[k>>0]|0;y=k;break}default:{x=h;y=g}}c[554369]=0;c:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)i=48;else{z=0;A=y}else{k=a[y+1>>0]|0;switch((k|32)<<24>>24){case 120:break;case 98:{a[1208176]=48;a[1208177]=k;w=0;u=y+2|0;while(1){f=a[u>>0]|0;switch(f<<24>>24){case 46:case 48:case 49:break;default:{z=w;A=u;break c}}a[1208176+w>>0]=f;w=w+1|0;u=u+1|0}break}default:{i=48;break c}}a[1208176]=48;a[1208177]=k;u=0;w=y+2|0;while(1){f=a[w>>0]|0;if(!((f+-48&255)<10|(f+-97&255)<6))switch(f<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{z=u;A=w;break c}}a[1208176+u>>0]=f;u=u+1|0;w=w+1|0}}while(0);if((i|0)==48){w=x;x=0;u=y;while(1){y=x+1|0;a[1208176+x>>0]=w;k=u+1|0;w=a[k>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){z=y;A=k;break}else{x=y;u=k}}}a[1208176+z>>0]=0;c[554369]=-997;l=A;Ia=d;return l|0}d:do switch(j<<24>>24){case 91:{A=g+1|0;z=a[A>>0]|0;switch(z<<24>>24){case 61:case 91:break;default:{C=z;D=A;E=0;i=95;break d}}c[554369]=-996;a[1208176]=0;if((a[g>>0]|0)==91){A=0;while(1){F=A+1|0;G=a[g+F>>0]|0;if(A>>>0<60&G<<24>>24==61)A=F;else break}if(G<<24>>24==91?(z=A+2|0,Vv(e|0,g|0,z|0)|0,a[e>>0]=93,a[e+F>>0]=93,a[e+z>>0]=0,z=bv(g+2+A|0,e)|0,z|0):0){l=z+2+A|0;Ia=d;return l|0}}l=g+(bu(g)|0)|0;Ia=d;return l|0}case 34:{a[1208176]=34;z=1;u=g;e:while(1){x=u+1|0;w=a[x>>0]|0;switch(w<<24>>24){case 34:{i=65;break e;break}case 10:case 0:{H=z;I=x;break e;break}case 92:{k=u+2|0;a[1208176+z>>0]=92;J=a[k>>0]|0;K=z+1|0;L=k;break}default:{J=w;K=z;L=x}}a[1208176+K>>0]=J;z=K+1|0;u=L}if((i|0)==65){a[1208176+z>>0]=34;H=z+1|0;I=u+2|0}a[1208176+H>>0]=0;c[554369]=-996;l=I;Ia=d;return l|0}case 39:{a[1208176]=39;A=1;x=g;f:while(1){w=x+1|0;k=a[w>>0]|0;switch(k<<24>>24){case 39:{i=71;break f;break}case 10:case 0:{M=A;N=w;break f;break}case 92:{y=x+2|0;a[1208176+A>>0]=92;O=a[y>>0]|0;P=A+1|0;Q=y;break}default:{O=k;P=A;Q=w}}a[1208176+P>>0]=O;A=P+1|0;x=Q}if((i|0)==71){a[1208176+A>>0]=39;M=A+1|0;N=x+2|0}a[1208176+M>>0]=0;c[554369]=-996;l=N;Ia=d;return l|0}case 10:{c[554371]=(c[554371]|0)+1;c[554369]=-999;l=g+1|0;Ia=d;return l|0}case 58:{u=g+1|0;z=a[u>>0]|0;if(z<<24>>24==58){c[554369]=-960;l=g+2|0;Ia=d;return l|0}else{R=z;S=u;T=0;i=79}break}case 46:{u=g+1|0;z=a[u>>0]|0;if(z<<24>>24==46)if((a[g+2>>0]|0)==46){c[554369]=-961;l=g+3|0;Ia=d;return l|0}else{C=46;D=u;E=1;i=95}else{R=z;S=u;T=1;i=79}break}default:{u=g+1|0;R=a[u>>0]|0;S=u;T=0;i=79}}while(0);g:do if((i|0)==79)if(R<<24>>24==61)do switch(j<<24>>24){case 60:{c[554369]=-970;l=g+2|0;Ia=d;return l|0}case 62:{c[554369]=-969;l=g+2|0;Ia=d;return l|0}case 126:{c[554369]=-967;l=g+2|0;Ia=d;return l|0}case 33:{c[554369]=-967;l=g+2|0;Ia=d;return l|0}case 61:{c[554369]=-966;l=g+2|0;Ia=d;return l|0}case 43:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 45:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 42:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 47:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 92:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 37:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 38:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 124:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 94:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}default:{U=S;break g}}while(0);else{C=R;D=S;E=T;i=95}while(0);h:do if((i|0)==95){T=C<<24>>24==0;i:do if(!(j<<24>>24==0|T)?(a[g+2>>0]|0)==61:0){if(E&C<<24>>24==46){c[554369]=-965;l=g+3|0;Ia=d;return l|0}switch(j<<24>>24){case 60:{if(C<<24>>24!=60){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}case 62:{if(C<<24>>24!=62){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}case 94:{if(C<<24>>24!=94){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}default:break i}}else i=106;while(0);if((i|0)==106){j:do switch(j<<24>>24){case 60:case 62:{if((!T?(S=a[g+2>>0]|0,S<<24>>24):0)?(a[g+3>>0]|0)==61:0){R=j<<24>>24==62&C<<24>>24==62;if(R&S<<24>>24==60){c[554369]=-965;l=g+4|0;Ia=d;return l|0}x=S<<24>>24==62;if(j<<24>>24==60&C<<24>>24==60&x){c[554369]=-965;l=g+4|0;Ia=d;return l|0}if(!(R&x)){U=D;break h}c[554369]=-965;l=g+4|0;Ia=d;return l|0}switch(j<<24>>24){case 62:break;case 60:{if(C<<24>>24!=60)break j;x=g+2|0;if((a[x>>0]|0)==62){c[554369]=-955;l=g+3|0;Ia=d;return l|0}else{c[554369]=-958;l=x;Ia=d;return l|0}break}default:break j}if(C<<24>>24==62){x=g+2|0;switch(a[x>>0]|0){case 62:{if((a[g+3>>0]|0)==61){c[554369]=-965;l=g+4|0;Ia=d;return l|0}else{c[554369]=-956;l=g+3|0;Ia=d;return l|0}break}case 60:{c[554369]=-954;l=g+3|0;Ia=d;return l|0}default:{c[554369]=-957;l=x;Ia=d;return l|0}}}break}case 94:{if(C<<24>>24==94){c[554369]=-953;l=g+2|0;Ia=d;return l|0}break}default:{}}while(0);if(E&C<<24>>24==46){c[554369]=-964;l=g+2|0;Ia=d;return l|0}}if(j<<24>>24==47&C<<24>>24==47){c[554369]=-995;T=h;x=g;k:while(1){switch(T<<24>>24){case 0:case 10:{l=x;break k;break}default:{}}R=x+1|0;T=a[R>>0]|0;x=R}Ia=d;return l|0}else U=D}while(0);if(ut(g,94207,9)|0){c[554369]=j<<24>>24;l=U;Ia=d;return l|0}c[554369]=-962;U=h;h=g;l:while(1){switch(U<<24>>24){case 0:case 10:{l=h;break l;break}default:{}}g=h+1|0;U=a[g>>0]|0;h=g}Ia=d;return l|0}function ph(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((bu(b)|0)>>>0>15){Ia=e;return}h=c[8726]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=i;i=h;h=b;while(1){l=(B(i,k<<24>>24)|0)&8191^7266;h=h+1|0;k=a[h>>0]|0;if(!(k<<24>>24)){j=l;break}else i=l}}i=1273712+(j*20|0)+16|0;k=1273712+(j*20|0)|0;if((c[i>>2]|0)==0?(a[k>>0]|0)==0:0){c[i>>2]=d;Rs(k,b)|0;Ia=e;return}c[g>>2]=k;c[g+4>>2]=b;vv(58761,g)|0;c[f>>2]=k;c[f+4>>2]=b;wt(1715360,58761,f)|0;Cn(1715360);ya(0)}function qh(a){a=a|0;if(c[554368]|0)return;c[554368]=1;c[8726]=a;Wv(1273712,0,163840)|0;ph(63802,-993);ph(63997,-992);ph(64883,-991);ph(64580,-990);ph(64583,-989);ph(64595,-988);ph(64588,-987);ph(64043,-986);ph(65855,-974);ph(65848,-973);ph(65852,-972);ph(64175,-985);ph(92620,-983);ph(63811,-982);ph(64364,-981);ph(64371,-980);ph(58792,-979);ph(58797,-978);ph(65112,-963);ph(65117,-963);ph(65123,-963);ph(64887,-984);ph(85841,-977);ph(85704,-977);ph(87864,-977);ph(85986,-977);ph(58803,-977);if((c[554367]|0)<=0)return;a=0;do{ph(1191792+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[554367]|0));return}function rh(b){b=b|0;var c=0;c=oh(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function sh(b){b=b|0;var d=0,e=0;qh(c[8726]|0);c[554369]=0;c[554370]=0;c[554372]=b;d=oh(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function th(){return c[554369]|0}function uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=0;e=-1;while(1){if((e|0)==-1){qh(c[8726]|0);c[554369]=0;c[554370]=0;c[554372]=b;f=oh(b)|0;if(!f){g=0;h=0}else{g=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f;h=0}}else{if(!(a[d>>0]|0))break;f=oh(d)|0;if(!f){g=0;h=e}else{g=(f|0)==(d|0)&(a[f>>0]|0)!=0?f+1|0:f;h=e}}switch(c[554369]|0){case -960:case -962:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=h;break}default:i=h+1|0}d=g;e=i}return e|0}function vh(){var a=0,b=0,d=0,e=0,f=0;a=gn(c[(c[26544]|0)+4>>2]|0,0)|0;b=c[26544]|0;d=c[b+45868>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}Ps(a,d,e)|0;Gp(c[(c[26544]|0)+4>>2]|0,c[(c[766828]|0)+20>>2]|0,0,0,0,0,128,128);c[484610]=1;return}function wh(a){a=a|0;return}function xh(){return}function yh(){return}function zh(){return}function Ah(a){a=a|0;return}function Bh(){return}function Ch(){return}function Dh(){return}function Eh(){var b=0;b=c[778921]|0;return (((b|0)==15?1:(a[c[c[778918]>>2]>>0]|0)!=0)?16:((b|0)==14?1:(a[c[c[778917]>>2]>>0]|0)!=0)?15:((b|0)==13?1:(a[c[c[778916]>>2]>>0]|0)!=0)?14:((b|0)==12?1:(a[c[c[778915]>>2]>>0]|0)!=0)?13:((b|0)==11?1:(a[c[c[778914]>>2]>>0]|0)!=0)?12:((b|0)==10?1:(a[c[c[778913]>>2]>>0]|0)!=0)?11:((b|0)==9?1:(a[c[c[778912]>>2]>>0]|0)!=0)?10:((b|0)==8?1:(a[c[c[778911]>>2]>>0]|0)!=0)?9:((b|0)==7?1:(a[c[c[778910]>>2]>>0]|0)!=0)?8:((b|0)==6?1:(a[c[c[778909]>>2]>>0]|0)!=0)?7:((b|0)==5?1:(a[c[c[778908]>>2]>>0]|0)!=0)?6:((b|0)==4?1:(a[c[c[778907]>>2]>>0]|0)!=0)?5:((b|0)==3?1:(a[c[c[778906]>>2]>>0]|0)!=0)?4:((b|0)==2?1:(a[c[c[778905]>>2]>>0]|0)!=0)?3:((b|0)==1?1:(a[c[c[778904]>>2]>>0]|0)!=0)?2:((b|0)==0?1:(a[c[c[778903]>>2]>>0]|0)!=0)&1)|0}function Fh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+12|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Gh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+12|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Hh(){var b=0,d=0,e=0,f=0,g=0,h=0;b=a[3152406]|0;d=(b&255)<<8;e=a[3152407]|0;f=e<<24>>24==0?256:e&255;if(b<<24>>24>-1){e=(b&-16)<<24>>24==16?d+8192|0:d;b=(e+-8192|0)>>>0>7936?8192:e;g=b;h=(16384-b|0)/(f|0)|0}else{g=d;h=((65536-d|0)>>>0)/(f>>>0)|0}c[554373]=f;c[554374]=h;c[554375]=g;Mk(0,c[798384]|0)|0;Mk(1,c[798385]|0)|0;Mk(2,c[798386]|0)|0;Mk(3,c[798387]|0)|0;Nk(c[798931]|0);return}function Ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if((b|0)>=0?(f=c[554373]|0,(e|0)>-1&(f|0)>(b|0)&(c[554374]|0)>(e|0)):0){g=c[554375]|0;if(!(g&32768))h=(c[(c[(c[781999]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)|0;else h=3128e3+g|0;i=d[h+((B(f,e)|0)+b)>>0]|0;return i|0}if(!(a[3152374]&16)){i=0;return i|0}i=$k(2971096,c[781999]|0,24410)|0;return i|0}function Jh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((b|0)<0)return;f=c[554373]|0;if(!((d|0)>-1&(f|0)>(b|0)&(c[554374]|0)>(d|0)))return;g=c[554375]|0;if(g&32768|0){a[3128e3+g+((B(f,d)|0)+b)>>0]=e;return}h=(B(f,d)|0)+b|0;a[(c[(c[(c[781999]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)+h>>0]=e;if((h|0)<=4095)return;_k(2971096,c[781999]|0,h,e);return}function Kh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=Ia;Ia=Ia+1808|0;g=f+1800|0;h=f+1792|0;i=f+768|0;j=f;k=f+1804|0;c[k>>2]=0;if(!(c[554377]|0)){c[554377]=1;Wv(1437552,0,3600)|0}if(!(c[554376]|0)){l=9;Ia=f;return l|0}ku(i,hc(58810,e)|0)|0;e=Rl(i,0,k)|0;if(!e){c[h>>2]=c[k>>2];c[h+4>>2]=i;wt(1715360,58814,h)|0;Cn(1715360);l=1;Ia=f;return l|0}c[g>>2]=i;wt(1715360,58848,g)|0;Cn(1715360);g=(b|0)>0?b:c[484698]|0;b=(g|0)<8?g:8;g=(b|0)>1?b:1;b=((g|0)<3?g:3)<<7;g=Sn(b,b,8)|0;if((c[554376]|0)>0){b=18;h=0;while(1){k=1437552+(h<<2)|0;m=c[k>>2]|0;if(!m){n=Sn(128,128,8)|0;c[k>>2]=n;o=n}else o=m;m=c[o+12>>2]|0;p=b;n=0;do{p=(d[m+n>>0]|0)>15?256:p;n=n+1|0}while((n|0)!=16384);h=h+1|0;if((h|0)>=(c[554376]|0))break;else b=p}if((p|0)>0){q=p;r=14}else s=p}else{q=18;r=14}if((r|0)==14){r=c[742761]|0;p=0;do{a[j+(p*3|0)>>0]=a[r+(p*3|0)>>0]|0;a[j+(p*3|0)+1>>0]=a[r+(p*3|0)+1>>0]|0;a[j+(p*3|0)+2>>0]=a[r+(p*3|0)+2>>0]|0;p=p+1|0}while((p|0)!=(q|0));s=q}q=Ql(1<<(Zl(s)|0),j)|0;j=c[g>>2]|0;c[e>>2]=j;p=g+4|0;r=c[p>>2]|0;c[e+4>>2]=r;c[e+8>>2]=s;c[e+12>>2]=0;c[e+20>>2]=q;a:do if((c[554376]|0)>0){b=g+16|0;h=j;o=r;n=0;while(1){m=1437552+(n<<2)|0;_n(c[m>>2]|0,g,0,0,h,o,0);k=_l(e,0)|0;c[k>>2]=0;c[k+4>>2]=0;t=c[g>>2]|0;c[k+8>>2]=t;u=c[p>>2]|0;c[k+12>>2]=u;a[k+16>>0]=0;v=(n|0)!=0;c[k+20>>2]=v?0:q;w=Ol(B(u,t)|0)|0;t=k+24|0;c[t>>2]=w;Wv(w|0,0,B(c[p>>2]|0,c[g>>2]|0)|0)|0;w=c[p>>2]|0;if((w|0)>0){u=c[g>>2]|0;x=w;y=0;while(1){if((u|0)>0){z=u;A=0;do{a[(c[t>>2]|0)+((B(z,y)|0)+A)>>0]=(d[(c[(c[b>>2]|0)+(y<<2)>>2]|0)+A>>0]|0)%(s|0)|0;A=A+1|0;z=c[g>>2]|0}while((A|0)<(z|0));C=c[p>>2]|0;D=z}else{C=x;D=u}y=y+1|0;if((y|0)>=(C|0)){E=C;break}else{u=D;x=C}}}else E=w;if(v&(E|0)>0){x=1437552+(n+-1<<2)|0;u=c[g>>2]|0;y=0;while(1){if((u|0)>0){A=u;F=0;while(1){G=c[484698]|0;H=(y|0)/(G|0)|0;I=(F|0)/(G|0)|0;if((a[(c[(c[(c[x>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)==(a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)){I=(B(A,y)|0)+F|0;a[(c[t>>2]|0)+I>>0]=17;J=c[g>>2]|0}else J=A;F=F+1|0;if((F|0)>=(J|0)){K=J;break}else A=J}}else K=u;y=y+1|0;if((y|0)>=(c[p>>2]|0))break;else u=K}}u=(n|0)==0;y=u?3:1;t=k+28|0;c[t>>2]=y;m=Ol(y*12|0)|0;y=k+32|0;c[y>>2]=m;Wv(m|0,0,(c[t>>2]|0)*12|0)|0;if(u){u=c[y>>2]|0;c[u+8>>2]=255;c[u>>2]=11;t=Ol(12)|0;c[u+4>>2]=t;Rs(t,58867)|0;t=c[y>>2]|0;c[t+20>>2]=0;c[t+12>>2]=3;u=Ol(3)|0;m=t+16|0;c[m>>2]=u;a[u>>0]=1;a[(c[m>>2]|0)+1>>0]=0;a[(c[m>>2]|0)+2>>0]=0;L=2}else L=0;m=c[y>>2]|0;c[m+(L*12|0)+8>>2]=249;c[m+(L*12|0)>>2]=4;y=Ol(4)|0;u=m+(L*12|0)+4|0;c[u>>2]=y;a[y>>0]=1;a[(c[u>>2]|0)+1>>0]=3;a[(c[u>>2]|0)+2>>0]=0;a[(c[u>>2]|0)+3>>0]=17;u=n+1|0;if((u|0)>=(c[554376]|0))break a;h=c[g>>2]|0;o=c[p>>2]|0;n=u}}while(0);p=Yl(e)|0;Tn(g)|0;Nb(i,58810,128,128);Pl();i=(p|0)==0;if(i)Cn(58879);l=i&1;Ia=f;return l|0}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;if(!(c[554377]|0)){c[554377]=1;Wv(1437552,0,3600)|0}if(!(c[484714]|c[484701])){Ia=b;return}cs(b+8|0,b+4|0,d);Xr()|0;d=c[484714]|0;e=c[484701]|0;if((e|0)>0|(d|0)!=0){f=e;e=d;d=0;while(1){g=1437552+(d<<2)|0;if(!(c[g>>2]|0)){c[g>>2]=Sn(128,128,8)|0;h=c[484714]|0;i=c[484701]|0}else{h=e;i=f}d=d+1|0;g=(h|0)==0?i*30|0:900;j=(g|0)<900?g:900;if(d>>>0>=((j|0)>0?j:0)>>>0)break;else{f=i;e=h}}}Gp(a,c[1437552+(c[554376]<<2)>>2]|0,0,0,0,0,128,128);a=Xr()|0;if((a|0)<(c[535872]|0))rb(c[1437552+(c[554376]<<2)>>2]|0);a=c[554376]|0;h=(c[484714]|0)==0?(c[484701]|0)*30|0:900;e=(h|0)<900;if((a|0)<(((h|0)<0?-1:e?h+-1|0:899)|0)){c[554376]=a+1;Ia=b;return}a=c[359388]|0;i=e?h:900;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{f=e;e=e+1|0;c[1437552+(f<<2)>>2]=c[1437552+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1437552+(k<<2)>>2]=a;Ia=b;return}function Mh(){c[554376]=0;c[484703]=0;return}function Nh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=Fu(a,96074)|0;if(!g){h=1;Ia=e;return h|0}a=xq(1048576)|0;i=tv(a,1,1048576,g)|0;Lu(g)|0;g=Fu(b,96789)|0;if(!g){h=2;Ia=e;return h|0}hv(58904,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];_u(g,104626,f)|0;b=b+1|0}while((b|0)!=(i|0))}hv(58911,7,1,g)|0;Lu(g)|0;h=0;Ia=e;return h|0}function Oh(a){a=a|0;Tn(c[(c[26544]|0)+45856>>2]|0)|0;a=Sn(128,128,8)|0;c[(c[26544]|0)+45856>>2]=a;Gp(c[742795]|0,a,0,0,0,0,128,128);return 0}function Ph(){return}function Qh(){return ((c[554376]|0)+15|0)/30|0|0}function Rh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function Sh(b){b=b|0;var d=0;if(b<<24>>24>63){d=61;return d|0}d=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;return d|0}function Th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=e;j=b;k=h;l=2;break}case 1:{m=e;n=b;o=h;l=6;break}case 2:{p=e;q=b;r=h;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((j|0)==(g|0)){t=0;u=i;v=k;break}h=a[j>>0]|0;b=h>>>2&63;if((b&255)<<24>>24>63)w=61;else w=a[((c[537424]|0)==0?58919:58984)+b>>0]|0;a[i>>0]=w;m=i+1|0;n=j+1|0;o=h<<4&48;l=6;continue}else if((l|0)==6){l=0;if((n|0)==(g|0)){t=1;u=m;v=o;break}h=a[n>>0]|0;b=h>>>4&15|o&255;if((b&255)<<24>>24>63)x=61;else x=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;a[m>>0]=x;p=m+1|0;q=n+1|0;r=h<<2&60;l=10;continue}else if((l|0)==10){l=0;if((q|0)==(g|0)){t=2;u=p;v=r;break}h=a[q>>0]|0;b=h>>>6&3|r&255;if((b&255)<<24>>24>63)y=61;else y=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;a[p>>0]=y;b=h&63;h=b&255;if(h<<24>>24>63)z=61;else z=a[((c[537424]|0)==0?58919:58984)+b>>0]|0;a[p+1>>0]=z;b=f+8|0;A=(c[b>>2]|0)+1|0;c[b>>2]=(A|0)==18?0:A;i=p+2|0;j=q+1|0;k=h;l=2;continue}a[d>>0]=v;c[f>>2]=t;s=u-e|0;return s|0}function Uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[((c[537424]|0)==0?58919:58984)+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=3;h=b+2|0;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[((c[537424]|0)==0?58919:58984)+(f<<24>>24)>>0]|0;a[b>>0]=i;g=2;h=b+1|0;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[h>>0]=61;j=b+g|0;k=j;l=b;m=k-l|0;return m|0}function Vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[537424]|0;if((c[8727]|0)!=(d|0)){Wv(1441152,-1,1024)|0;e=(d|0)==0?58919:58984;f=0;do{if((f&255)<<24>>24>63)g=61;else g=a[e+(f<<24>>24)>>0]|0;c[1441152+(g<<24>>24<<2)>>2]=f;f=f+1|0}while((f|0)!=64);c[8727]=d}if(b<<24>>24<0){h=-1;return h|0}h=c[1441152+(b<<24>>24<<2)>>2]|0;return h|0}function Wh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;return}function Xh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=g+4|0;a[f>>0]=a[h>>0]|0;switch(c[g>>2]|0){case 0:{i=b+e|0;j=b;k=f;l=6;break}case 1:{m=b+e|0;n=b;o=f;l=18;break}case 2:{p=b+e|0;q=b;r=f;l=30;break}case 3:{s=b+e|0;t=b;u=f;l=42;break}default:{v=0;return v|0}}a:while(1)if((l|0)==6){l=0;b=j;do{if((b|0)==(i|0)){w=0;x=k;break a}e=b;b=b+1|0;y=a[e>>0]|0;e=c[537424]|0;if((c[8727]|0)!=(e|0)){Wv(1441152,-1,1024)|0;z=(e|0)==0?58919:58984;A=0;do{if((A&255)<<24>>24>63)B=61;else B=a[z+(A<<24>>24)>>0]|0;c[1441152+(B<<24>>24<<2)>>2]=A;A=A+1|0}while((A|0)!=64);c[8727]=e}if(y<<24>>24<0)C=-1;else C=c[1441152+(y<<24>>24<<2)>>2]|0}while((C&128|0)!=0);a[k>>0]=C<<2;m=i;n=b;o=k;l=18;continue}else if((l|0)==18){l=0;A=n;do{if((A|0)==(m|0)){w=1;x=o;break a}z=A;A=A+1|0;D=a[z>>0]|0;z=c[537424]|0;if((c[8727]|0)!=(z|0)){Wv(1441152,-1,1024)|0;E=(z|0)==0?58919:58984;F=0;do{if((F&255)<<24>>24>63)G=61;else G=a[E+(F<<24>>24)>>0]|0;c[1441152+(G<<24>>24<<2)>>2]=F;F=F+1|0}while((F|0)!=64);c[8727]=z}if(D<<24>>24<0)H=-1;else H=c[1441152+(D<<24>>24<<2)>>2]|0}while((H&128|0)!=0);b=o+1|0;a[o>>0]=H>>>4&3|(d[o>>0]|0);a[b>>0]=H<<4;p=m;q=A;r=b;l=30;continue}else if((l|0)==30){l=0;b=q;do{if((b|0)==(p|0)){w=2;x=r;break a}F=b;b=b+1|0;E=a[F>>0]|0;F=c[537424]|0;if((c[8727]|0)!=(F|0)){Wv(1441152,-1,1024)|0;y=(F|0)==0?58919:58984;e=0;do{if((e&255)<<24>>24>63)I=61;else I=a[y+(e<<24>>24)>>0]|0;c[1441152+(I<<24>>24<<2)>>2]=e;e=e+1|0}while((e|0)!=64);c[8727]=F}if(E<<24>>24<0)J=-1;else J=c[1441152+(E<<24>>24<<2)>>2]|0}while((J&128|0)!=0);A=r+1|0;a[r>>0]=J>>>2&15|(d[r>>0]|0);a[A>>0]=J<<6;s=p;t=b;u=A;l=42;continue}else if((l|0)==42){l=0;A=t;do{if((A|0)==(s|0)){w=3;x=u;break a}e=A;A=A+1|0;y=a[e>>0]|0;e=c[537424]|0;if((c[8727]|0)!=(e|0)){Wv(1441152,-1,1024)|0;D=(e|0)==0?58919:58984;z=0;do{if((z&255)<<24>>24>63)K=61;else K=a[D+(z<<24>>24)>>0]|0;c[1441152+(K<<24>>24<<2)>>2]=z;z=z+1|0}while((z|0)!=64);c[8727]=e}if(y<<24>>24<0)L=-1;else L=c[1441152+(y<<24>>24<<2)>>2]|0}while((L&128|0)!=0);a[u>>0]=L&63|(d[u>>0]|0);i=s;j=A;k=u+1|0;l=6;continue}c[g>>2]=w;a[h>>0]=a[x>>0]|0;v=x-f|0;return v|0}function Yh(){return}function Zh(){return}function _h(){return 0}function $h(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ia;Ia=Ia+16|0;e=d;f=d+4|0;g=c[781022]&15;c[f>>2]=0;h=yd(b)|0;if(!h){i=0;Ia=d;return i|0}j=Cd(b,1)|0;do if((j+-3|0)>>>0>=2)if((j|0)==1){k=(Id(b,1)|0)==0;l=k?65117:65112;c[f>>2]=bu(l)|0;m=l;break}else{c[e>>2]=Dd(b,j)|0;wt(1719968,59094,e)|0;c[f>>2]=bu(1719968)|0;m=1719968;break}else m=Jd(b,1,f)|0;while(0);if((h|0)==2){e=c[781022]&255;if((yd(b)|0)>=2){j=Fd(b,2,0)|0;l=j>>>16&255;c[781022]=l;if(j&268435456){k=c[781043]|0;if(k&1|0?(n=j>>>8,o=n&65536|j&65535|n&131072,c[781038]=o,j&67108864|0):0)c[781038]=o|262144;if(k&2){c[781044]=j&134217728;p=0;q=l}else{p=0;q=l}}else{p=0;q=l}}else{p=0;q=e}}else if((h|0)>2){e=(Fd(b,2,0)|0)>>16;l=(Fd(b,3,0)|0)>>16;c[781023]=e;c[781025]=e;c[781024]=l;if((h|0)!=3){l=c[781022]&255;if((yd(b)|0)>=4){e=Fd(b,4,0)|0;j=e>>>16&255;c[781022]=j;if(e&268435456){k=c[781043]|0;if(k&1|0?(o=e>>>8,n=o&65536|e&65535|o&131072,c[781038]=n,e&67108864|0):0)c[781038]=n|262144;if(k&2){c[781044]=e&134217728;p=1;q=j}else{p=1;q=j}}else{p=1;q=j}}else{p=1;q=l}}else{p=1;q=g}}else{p=0;q=g}g=(h|0)<3?32:0;h=g|16;l=(a[3152374]|0)<0?h:p|(c[780901]|0)!=0?g:h;c[554378]=c[781023];c[554379]=c[781024];if(!(Xk(c[742782]|0,m,c[f>>2]|0,l,q)|0)){Od(b,c[554378]<<16);Od(b,c[554379]<<16);i=2;Ia=d;return i|0}Yg();b=c[798454]|0;if((b|0)==30){Yg();r=c[798454]|0}else r=b;if((r|0)==15){Yg();Yg()}wb();ol();c[742797]=0;rn();Ag();c[742778]=0;if(c[485657]|0){c[780900]=2;c[781024]=0;c[781023]=0;c[781025]=0}if(c[484703]|0){ob(0);Lh(c[742795]|0)}Bg();i=0;Ia=d;return i|0}function ai(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+2048|0;h=g+1024|0;i=g;if((b|0)==0|(d|0)==0){j=1;Ia=g;return j|0}k=bu(b)|0;l=bu(3115688)|0;if((e|0)>1023|(k+4+l+(bu(3116712)|0)|0)>>>0>=e>>>0){j=1;Ia=g;return j|0}Ss(h,b,1023)|0;a[h+1023>>0]=0;if(bv(h,96845)|0){j=1;Ia=g;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=b;l=h;b:while(1){if(!((e+-97&255)<26|(e+-48&255)<10))switch(e<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}l=l+1|0;e=a[l>>0]|0;if(!(e<<24>>24))break a}Ia=g;return j|0}while(0);Zo(h,0,0,i);if(59049){b=59049;e=1744;l=0;do{k=(au(i,b)|0)==0;l=k?1:l;e=e+4|0;b=c[e>>2]|0}while((b|0)!=0);if(!l)m=13}else m=13;if((m|0)==13){m=h+(bu(h)|0)|0;a[m>>0]=a[59049]|0;a[m+1>>0]=a[59050]|0;a[m+2>>0]=a[59051]|0;a[m+3>>0]=a[59052]|0;a[m+4>>0]=a[59053]|0}if(!f){sc(h,d);j=0;Ia=g;return j|0}else{fs(h,d);j=0;Ia=g;return j|0}return 0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=(a+-46|0)>>>0<11;d=b?a+-30|0:a;if(b){if((d&-8|0)==16?(b=d&3,a=c[1942244+(b*24|0)+8>>2]|0,(a|0)!=0):0){e=d&-4;if((e|0)==16){f=c[781999]|0;g=0;h=-65536;while(1){i=(a|0)==(f+16+(g*680|0)|0)?g<<16:h;g=g+1|0;if((g|0)==64){j=i;break}else h=i}}else j=-65536;if((e|0)==20)k=c[1942244+(b*24|0)+12>>2]<<16;else k=j}else k=-65536;if((d+-24|0)>>>0>=3){l=k;return l|0}if(!(c[485587]|0)){l=-65536;return l|0}if((d|0)!=26){l=(d|0)==25?c[485590]<<16:(d|0)==24?c[485589]<<16:-65536;return l|0}l=c[485586]<<16;return l|0}k=d&-4;if((k|0)==16){j=cr(d+-16|0)|0;b=c[781999]|0;e=0;h=-65536;do{h=(j|0)==(b+16+(e*680|0)|0)?e<<16:h;e=e+1|0}while((e|0)!=64);if((h|0)==-65536){e=cr(d+-12|0)|0;b=c[781999]|0;j=0;g=-65536;while(1){f=(e|0)==(b+16+(j*680|0)|0)?j<<16:g;j=j+1|0;if((j|0)==64){m=f;break}else g=f}}else m=h}else m=-65536;do if((k|0)==20){h=cr(d+-20|0)|0;if(!h){g=cr(d+-16|0)|0;if(!g){n=m;break}else o=g}else o=h;n=(br(o)|0)<<16}else n=m;while(0);if(!(nr()|0)){l=n;return l|0}if((d|0)!=26){l=(d|0)==25?c[554970]<<16:(d|0)==24?c[554971]<<16:n;return l|0}l=(rr()|0)<<16;return l|0}function ci(a){a=a|0;Ud(a,6,0);Zd(a,59099);Ud(a,7,0);Zd(a,59114);Ud(a,8,0);Zd(a,59124);Ud(a,9,0);Zd(a,59135);Ud(a,10,0);Zd(a,59142);Ud(a,11,0);Zd(a,59150);Ud(a,12,0);Zd(a,59159);Ud(a,13,0);Zd(a,59167);Ud(a,14,0);Zd(a,59174);Ud(a,15,0);Zd(a,59183);Ud(a,15,0);Zd(a,59196);Ud(a,16,0);Zd(a,59205);Ud(a,17,0);Zd(a,59212);Ud(a,18,0);Zd(a,59221);Ud(a,19,0);Zd(a,59232);Ud(a,20,0);Zd(a,59258);Ud(a,21,0);Zd(a,59261);Ud(a,22,0);Zd(a,86293);Ud(a,23,0);Zd(a,91162);Ud(a,24,0);Zd(a,91573);Ud(a,13,0);Zd(a,89329);Ud(a,25,0);Zd(a,89701);Ud(a,26,0);Zd(a,67469);Ud(a,27,0);Zd(a,91250);Ud(a,28,0);Zd(a,86860);Ud(a,29,0);Zd(a,91017);Ud(a,29,0);Zd(a,59267);Ud(a,30,0);Zd(a,90642);Ud(a,31,0);Zd(a,90290);Ud(a,32,0);Zd(a,90056);return}function di(a){a=a|0;var b=0;if(!(c[742779]|0))return 0;b=Fd(a,1,0)|0;if((b|0)<-1114112)return 0;c[554353]=(c[554353]|0)+(b>>16<<1);return 0}function ei(a){a=a|0;if((c[742800]|0)>0)return 0;$l()|0;c[780900]=2;c[781031]=0;c[781030]=0;$h(a)|0;Bg();return 0}function fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=d+2088|0;k=d+2084|0;c[j>>2]=0;if(!(yd(b)|0)){Ia=d;return 0}l=Cd(b,1)|0;do if((l+-3|0)>>>0>=2)if((l|0)==1){m=(Id(b,1)|0)==0;n=m?65117:65112;c[j>>2]=bu(n)|0;o=n;break}else{c[g>>2]=Dd(b,l)|0;wt(1719968,59094,g)|0;c[j>>2]=bu(1719968)|0;o=1719968;break}else o=Jd(b,1,j)|0;while(0);if((yd(b)|0)<=1){g=Hs(o,0,1)|0;qv(g)|0;Nu(c[8745]|0)|0;zq(g);Ia=d;return 0}c[k>>2]=0;g=Jd(b,2,k)|0;a:do if(!((g|0)==0|(c[k>>2]|0)>>>0>127)){if((yd(b)|0)>2)p=Id(b,3)|0;else p=0;if(!(au(g,59915)|0)){l=Hs(o,0,1)|0;os(l)|0;if((ps(l)|0)==0?(qo(-5)|0)==0:0)fb(60970,1500);n=c[485560]|0;if(n|0)zq(n);c[485560]=l;break}if((yd(b)|0)>3)q=Id(b,4)|0;else q=0;if(ai(g,h,1023,q)|0){Cb(61e3)|0;break}l=c[535197]|0;n=(bu(o)|0)+l|0;if(n>>>0>10485759){Cb(61026)|0;break}c[535197]=n;c[f>>2]=h;wt(i,61063,f)|0;do if(!(bv(2075252,i)|0)){n=0;l=0;b:while(1){switch(a[2075252+l>>0]|0){case 0:{break b;break}case 124:{r=n+1|0;break}default:r=n}n=r;l=l+1|0}if((n|0)>63){Cb(61067)|0;break a}else{lu(2075252,i)|0;break}}while(0);l=Fu(h,(p|0)==0?61089:96789)|0;if(!l){fb(61095,1500);break}m=Hs(o,0,1)|0;s=bu(o)|0;if(s>>>0<(c[j>>2]|0)>>>0)gv(m,l)|0;else{c[e>>2]=m;_u(l,61091,e)|0}Lu(l)|0;zq(m)}while(0);Ia=d;return 0}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=Cd(a,1)|0;jh(2);if(!(yd(a)|0)){Qd(a,3196396)|0;Ia=b;return 1}switch(h|0){case 4:{zd(a,1);Ia=b;return 1}case 3:{do if((yd(a)|0)>1){if((Cd(a,2)|0)==1)i=(Id(a,2)|0)!=0&1;else i=(Fd(a,2,0)|0)>>16;if(!(i&1)){if(!(i&2))break;c[e>>2]=Fd(a,1,0)|0;wt(1719968,94793,e)|0;Qd(a,1719968)|0;Ia=b;return 1}j=Fd(a,1,0)|0;if(!(i&2)){c[f>>2]=j>>>16;c[f+4>>2]=j&65535;wt(1719968,60958,f)|0}else{c[g>>2]=j;wt(1719968,60951,g)|0}Qd(a,1719968)|0;Ia=b;return 1}while(0);Qd(a,Jd(a,1,0)|0)|0;Ia=b;return 1}case 1:{g=(Id(a,1)|0)==0;Qd(a,g?65117:65112)|0;Ia=b;return 1}default:{c[d>>2]=Dd(a,h)|0;wt(1719968,59094,d)|0;Qd(a,1719968)|0;Ia=b;return 1}}return 0}function hi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ia;Ia=Ia+6176|0;e=d+6160|0;f=d+6144|0;g=d+5120|0;h=d+4096|0;i=d+3072|0;j=d+2048|0;k=d+1024|0;l=d;m=d+6172|0;c[m>>2]=255;if((c[742800]|0)>0){n=0;Ia=d;return n|0}$l()|0;if((Cd(b,1)|0)!=4){n=0;Ia=d;return n|0}if((yd(b)|0)>1){o=Jd(b,2,0)|0;if(!o)p=0;else{q=(bu(o)|0)>>>0>16;p=q?0:o}}else if(!(c[780901]|0)){Dg();p=0}else p=0;if(((yd(b)|0)>2?(o=Jd(b,3,0)|0,(o|0)!=0):0)?(bu(o)|0)>>>0<=1024:0){o=Jd(b,3,0)|0;if(!o)r=0;else{q=(bu(o)|0)>>>0>1024;r=q?0:o}ku(3126573,r)|0}else a[3126573]=0;if((yd(b)|0)<=0){n=0;Ia=d;return n|0}r=Jd(b,1,m)|0;if((r|0)==0|(c[m>>2]|0)>>>0>512){n=0;Ia=d;return n|0}c[484720]=0;Ss(k,3118768,1023)|0;a[k+1023>>0]=0;Ss(g,r,1023)|0;a[g+1023>>0]=0;a:do switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=45;else s=30;break}case 35:{c[484717]=0;c[484720]=0;if(!(c[780901]|0))Mg(60691,0,0);m=r+1|0;o=a[m>>0]|0;b:do if(o<<24>>24){q=o;t=m;c:while(1){if(!((q+-48&255)<10|((q&-33)+-65&255)<26))switch(q<<24>>24){case 45:case 95:break;default:break c}t=t+1|0;q=a[t>>0]|0;if(!(q<<24>>24))break b}Cb(60706)|0;break a}while(0);o=Qm()|0;c[f>>2]=93381;c[f+4>>2]=o;c[f+8>>2]=m;wt(l,60723,f)|0;Om(l,wm(m)|0,0);c[780903]=30;if(p|0?(bu(p)|0)>>>0>1:0)Cg(k,p,1);Bg();Vd(b,0);n=1;Ia=d;return n|0}default:s=30}while(0);d:do if((s|0)==30){do if(!(au(r,60772)|0)){l=c[536394]|0;if(!l){s=45;break d}Zb(l,60781);c[536394]=0;Ss(3118768,3196396,1023)|0;a[3119791]=0;Mg(60792,bu(c[c[26544]>>2]|0)|0,0)}else{if(((au(r,59915)|0?au(r,59921)|0:0)?au(r,59930)|0:0)?au(r,59940)|0:0){if(bc(g)|0){s=45;break d}Zo(3118768,h,i,j);l=bu(c[c[26544]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=l;wt(1719968,60850,e)|0;if(c[780901]|0)break;Lg(1719968);break}Lg(60820);break d}while(0);if(p|0?(bu(p)|0)>>>0>1:0)Cg(k,p,0);Tg();m=c[778919]|0;l=m+336|0;c[m+324>>2]=0;c[m+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;el(2971096,c[781999]|0,0,0,17152);jh(8388608);if((c[742801]|0)==0&(c[780901]|0)!=0?(c[780900]=1,au(3118768,k)|0):0)c[780903]=30;Vd(b,1);n=1;Ia=d;return n|0}while(0);if((s|0)==45?(c[780901]|0)==0:0){switch(c[779979]|0){case 1:{Lg(60873);break}case 2:{Lg(60904);break}default:Lg(60936)}c[779979]=0}Vd(b,0);n=1;Ia=d;return n|0}function ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=Jd(b,1,0)|0;if(!g)h=0;else{i=(bu(g)|0)>>>0>128;h=i?0:g}g=Jd(b,2,0)|0;if(!g)j=0;else{i=(bu(g)|0)>>>0>128;j=i?0:g}g=(Fd(b,2,0)|0)>>16;i=(Fd(b,3,0)|0)>>16;if(!h){Ia=d;return 0}if(!(au(h,60348)|0)){ob(0);Oh(c[742795]|0)|0;fb(60354,1500);Ia=d;return 0}if(!(au(h,60366)|0)){ob(0);if(gc(c[742795]|0,g,i)|0){fb(60373,1500);Ia=d;return 0}if(!i){fb(60414,1500);Ia=d;return 0}else{fb(60402,1500);Ia=d;return 0}}if(!(au(h,60435)|0)){Mh();Ia=d;return 0}if(!(au(h,60439)|0)){Mh();c[484703]=1;Ia=d;return 0}if(!(au(h,60450)|0)){c[484703]=0;ob(0);b=Kh(g,i)|0;k=c[554376]|0;c[f>>2]=b;c[f+4>>2]=k;vv(60456,f)|0;if((b|0)==9){fb(60501,1500);Ia=d;return 0}if((b|0)>0){fb(60530,1500);Ia=d;return 0}b=Qh()|0;if(!i){Ab(60572,1500,b,0);Ia=d;return 0}else{Ab(60552,1500,b,0);Ia=d;return 0}}if(!(au(h,60596)|0)){pr();Ia=d;return 0}if(!(au(h,60606)|0)){fm(g);Ia=d;return 0}if(!(au(h,60616)|0)){c[485555]=1;vb();if(g|0){Ia=d;return 0}c[485557]=0;Ia=d;return 0}if(!(au(h,60622)|0)){c[485555]=3;vb();c[485557]=0;Ia=d;return 0}if(!(au(h,86860)|0)){if(c[742800]|0){Ia=d;return 0}g=Xr()|0;if((g|0)<=((c[535608]|0)+500|0)){Ia=d;return 0}c[742800]=1;c[535608]=Xr()|0;Ia=d;return 0}if(!((au(h,60631)|0)!=0?(au(h,60642)|0)!=0:0))l=41;if((l|0)==41?Fg()|0:0){Ig();Bg();Ia=d;return 0}if(!(au(h,91017)|0)){c[780900]=2;Bg();Ia=d;return 0}l=(j|0)!=0;if(l&(au(h,60650)|0)==0){zn(j);Ia=d;return 0}if(au(h,60660)|0){c[e>>2]=h;wt(1719968,60673,e)|0;fb(1719968,2e3);Ia=d;return 0}if(l){Ss(3195728,j,63)|0;a[3195791]=0}else a[3195728]=0;j=3195728;a:while(1){switch(a[j>>0]|0){case 0:{break a;break}case 46:{a[j>>0]=0;break}default:{}}j=j+1|0}Ia=d;return 0}function ji(a){a=a|0;return dg(a)|0}function ki(a){a=a|0;var b=0;if((yd(a)|0)==1?(Cd(a,1)|0)==3:0){c[a+116>>2]=(Fd(a,1,0)|0)>>16;b=0;return b|0}Vd(a,c[a+116>>2]|0);b=1;return b|0}function li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+3936|0;e=d+3104|0;f=d+3088|0;g=d+3080|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;l=d+3112|0;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=d;return 0}_o(3115688,k);if(((yd(b)|0)>0?(m=Jd(b,1,0)|0,m|0):0)?(bu(m)|0)>>>0<=512:0){if((a[m>>0]|0)==47){c[g>>2]=k;c[g+4>>2]=m+1;wt(i,60299,g)|0}else{c[f>>2]=k;c[f+4>>2]=3116712;c[f+8>>2]=m;wt(i,60305,f)|0}_o(i,j);if((a[k>>0]|0)!=46?(bv(j,k)|0)==0:0){Jg(60313,7);Ia=d;return 0}i=Dr(j,97321,l,-1)|0;Fr(l)|0;if(i|0){Jg(60324,7);Ia=d;return 0}if((a[k>>0]|0)==46)Ss(3116712,j,1023)|0;else Ss(3116712,j+(bu(k)|0)|0,1023)|0;a[3117735]=0;if(!(au(3116712,97471)|0))a[3116712]=0;c[e>>2]=3116712;wt(1719968,60344,e)|0;Jg(1719968,12);Ia=d;return 0}c[h>>2]=3116712;wt(1719968,60284,h)|0;Jg(1719968,12);Ia=d;return 0}function mi(a){a=a|0;var b=0,d=0,e=0;b=Ia;Ia=Ia+1024|0;d=b;do if(!((c[742801]|0)==0&(c[780901]|0)!=0)){if((yd(a)|0)<1){Lg(60239);break}e=Jd(a,1,0)|0;if(e|0?(bu(e)|0)>>>0<=512:0)if(!(cp(e)|0)){Lg(60252);break}else{ku(d,rc(e)|0)|0;hs(d)|0;break}}while(0);Ia=b;return 0}function ni(b){b=b|0;var d=0,e=0,f=0;if((c[742800]|0)>0)return 0;$l()|0;if(((yd(b)|0)>0?(d=Jd(b,1,0)|0,(d|0)!=0):0)?(bu(d)|0)>>>0<=1024:0){d=Jd(b,1,0)|0;if(!d)e=0;else{b=(bu(d)|0)>>>0>1024;e=b?0:d}ku(3126573,e)|0}else f=8;if((f|0)==8?(c[780901]|0)==0:0){a[3126573]=0;a[3125548]=0}c[742800]=3;Bg();return 0}function oi(d){d=d|0;var e=0,f=0;c[798798]=17;a[2140800]=0;if(c[780901]|0)return 0;if((yd(d)|0)>0?(Cd(d,1)|0)==4:0){e=Jd(d,1,0)|0;if(!e)f=0;else{d=(bu(e)|0)>>>0>512;f=d?0:e}if(a[f>>0]|0?(a[f+((bu(f)|0)+-1)>>0]|0)==42:0)b[1070400]=42;ub(f);return 0}ub(3196396);return 0}function pi(a){a=a|0;Lg(60221);Nd(a);return 1}function qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+4112|0;e=d+4096|0;f=d+4104|0;g=d+3072|0;h=d+2048|0;i=d+1024|0;j=d;c[f>>2]=255;k=(c[742801]|0)==0;if(k&(c[780901]|0)!=0){Lg(59865);Ia=d;return 0}if(!k){k=0;do{l=c[26544]|0;_k(0,l,k,$k(2971096,c[781999]|0,k)|0);k=k+1|0}while((k|0)!=17152)}if((yd(b)|0)>0?(Cd(b,1)|0)==4:0){k=Jd(b,1,f)|0;if((k|0)==0|(c[f>>2]|0)>>>0>512){Lg(59892);Ia=d;return 0}f=a[k>>0]|0;if(f<<24>>24){if(!(au(k,59910)|0)){bh();tc(c[26544]|0);Ia=d;return 0}if(((au(k,59915)|0?au(k,59921)|0:0)?au(k,59930)|0:0)?au(k,59940)|0:0){b=f;l=k;m=f<<24>>24!=45&1;do{m=b<<24>>24>122|(b<<24>>24==96|((b+-91&255)<4|((b+-58&255)<6|b<<24>>24<45&b<<24>>24!=32)))?0:m;l=l+1|0;b=a[l>>0]|0}while(b<<24>>24!=0);if(m|0?cp(k)|0:0){Vb(rc(k)|0,g);do if((c[742801]|0)==0?Gr(g)|0:0){if(c[798800]|0){c[798800]=0;break}Lg(60158);Jg(60178,14);c[798800]=1;Ia=d;return 0}while(0);if(!(Yb(g)|0)){Ss(3118768,g,1023)|0;a[3119791]=0;Zo(g,h,i,j);c[e>>2]=i;c[e+4>>2]=j;wt(1719968,60195,e)|0;Lg(1719968);Mb(g);Ia=d;return 0}else{Lg(60206);Ia=d;return 0}}Jg(60124,9);Jg(60140,14);Lg(k);Ia=d;return 0}bh();if(!(c[(c[26544]|0)+45856>>2]|0)){Jg(59953,9);Jg(59977,10)}ds(60008,h);if(((Qb(c[26544]|0,h)|0)==0?(ds(60021,g),(Nh(h,g)|0)==0):0)?(ss(g)|0)==0:0){qs();h=Vo(g)|0;if(h|0){Jo(0,h);ps(c[h+12>>2]|0)|0;Cq(h)}Lg(60038);Lg(60067);Ia=d;return 0}Lg(60096);Ia=d;return 0}}ec(1);Mb(3118768);Ia=d;return 0}function ri(a){a=a|0;var b=0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if((yd(a)|0)<=0){Lg(3196396);Jg(59494,12);Lg(3196396);Lg(59503);Lg(59536);Lg(59560);Lg(59584);Lg(59604);Lg(59637);Lg(59669);Jg(59698,14);Lg(3196396);Lg(59731);Jg(67647,12);Lg(3196396);Lg(59744);Lg(59776);Lg(59807);Lg(59836);Lg(3196396);return 0}b=Jd(a,1,0)|0;if((b|0?(bu(b)|0)>>>0<=32:0)?(Cd(a,1)|0)==4:0){il(b);return 0}Jg(59462,13);Jg(62163,6);return 0}function si(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if(nc(59434)|0)return 0;if(lc()|0)Xb(3118768,0)|0;c[780900]=3;c[484608]=0;Bg();return 0}function ti(a){a=a|0;var b=0,e=0,f=0;a=c[781023]|0;b=c[781025]|0;e=c[781024]|0;f=0;do{_k(2971096,c[781999]|0,f+24320|0,d[1792+f>>0]|0);f=f+1|0}while((f|0)!=128);f=Fa(0)|0;zl((Xr()|0)+f|0);c[781023]=a;c[781025]=b;c[781024]=e;jh(16);return 0}function ui(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if(nc(59380)|0)return 0;if(lc()|0)Xb(3118768,0)|0;c[554811]=1;qv(59410)|0;c[484610]=0;Bg();return 0}function vi(b){b=b|0;var d=0,e=0,f=0;b=Ia;Ia=Ia+3088|0;d=b+3072|0;e=b+1024|0;f=b;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=b;return 0}Zo(3118768,b+2048|0,e,f);if(a[3118768]|0){if(!(a[f>>0]|0)){Ss(f,93459,1023)|0;a[f+1023>>0]=0}c[d>>2]=e;c[d+4>>2]=f;wt(1719968,59272,d)|0;Jg(1719968,14)}bh();d=xq(131072)|0;if(hn(c[c[26544]>>2]|0,d)|0){zq(d);Ia=b;return 0}f=xq(131072)|0;e=Ml(d,f,bu(d)|0)|0;zq(f);f=uh(d)|0;Ng(59283,f,8192,(f|0)<8193?6:9);f=bu(d)|0;Ng(59305,f,65535,f>>>0<65536?6:9);Ng(59326,e,15616,(e|0)<15617?6:9);if(lc()|0)Mg(59347,0,0);if(mc()|0)Mg(59363,0,0);zq(d);Ia=b;return 0}function wi(a){a=a|0;return 0}function xi(a){a=a|0;return 0}function yi(a){a=a|0;mh();Ud(a,33,0);Zd(a,85511);nh(85511);Ud(a,34,0);Zd(a,85042);nh(85042);Ud(a,35,0);Zd(a,85302);nh(85302);Ud(a,36,0);Zd(a,61124);nh(61124);Ud(a,37,0);Zd(a,75588);nh(75588);Ud(a,37,0);Zd(a,61130);Ud(a,38,0);Zd(a,61137);Ud(a,28,0);Zd(a,86860);nh(86860);Ud(a,39,0);Zd(a,75819);nh(75819);Ud(a,40,0);Zd(a,75917);nh(75917);Ud(a,41,0);Zd(a,76068);nh(76068);Ud(a,42,0);Zd(a,90758);Ud(a,23,0);Zd(a,91162);nh(91162);Ud(a,23,0);Zd(a,91165);Ud(a,20,0);Zd(a,59258);Ud(a,21,0);Zd(a,59261);Ud(a,43,0);Zd(a,61150);Ud(a,44,0);Zd(a,61157);Ud(a,45,0);Zd(a,61171);Ud(a,46,0);Zd(a,61185);Ud(a,47,0);Zd(a,91350);Ud(a,48,-3333);Zd(a,8e4);nh(8e4);Ud(a,49,-3333);Zd(a,79995);nh(79995);Ud(a,50,0);Zd(a,76159);nh(76159);Ud(a,10,0);Zd(a,80056);nh(80056);Ud(a,11,0);Zd(a,80416);nh(80416);Ud(a,12,0);Zd(a,84459);nh(84459);Ud(a,12,0);Zd(a,59159);Ud(a,10,0);Zd(a,59142);Ud(a,11,0);Zd(a,59150);Ud(a,51,0);Zd(a,80747);nh(80747);Ud(a,52,0);Zd(a,84696);nh(84696);Ud(a,53,0);Zd(a,79382);nh(79382);Ud(a,54,0);Zd(a,79657);nh(79657);Ud(a,55,-3333);Zd(a,77519);nh(77519);Ud(a,56,-3333);Zd(a,77524);nh(77524);Ud(a,57,0);Zd(a,77690);nh(77690);Ud(a,58,0);Zd(a,77696);nh(77696);Ud(a,59,0);Zd(a,77953);nh(77953);Ud(a,60,0);Zd(a,77958);nh(77958);Ud(a,61,0);Zd(a,77828);nh(77828);Ud(a,62,0);Zd(a,77833);nh(77833);Ud(a,63,0);Zd(a,77378);nh(77378);Ud(a,64,0);Zd(a,78930);nh(78930);Ud(a,65,0);Zd(a,76508);nh(76508);Ud(a,66,0);Zd(a,76657);nh(76657);Ud(a,67,0);Zd(a,77028);nh(77028);Ud(a,68,0);Zd(a,61195);nh(61195);Ud(a,68,0);Zd(a,78116);nh(78116);Ud(a,69,0);Zd(a,78430);nh(78430);Ud(a,70,0);Zd(a,78435);nh(78435);Ud(a,71,0);Zd(a,78564);nh(78564);Ud(a,72,0);Zd(a,78569);nh(78569);Ud(a,73,0);Zd(a,79897);nh(79897);Ud(a,74,0);Zd(a,79902);nh(79902);Ud(a,75,0);Zd(a,94593);nh(94593);Ud(a,76,0);Zd(a,62384);nh(62384);Ud(a,77,0);Zd(a,88683);nh(88683);Ud(a,78,0);Zd(a,81568);nh(81568);Ud(a,79,0);Zd(a,81408);nh(81408);Ud(a,80,0);Zd(a,81788);nh(81788);Ud(a,81,0);Zd(a,82100);nh(82100);Ud(a,82,0);Zd(a,68343);nh(68343);Ud(a,83,-3333);Zd(a,68517);nh(68517);Ud(a,84,-3333);Zd(a,68875);nh(68875);Ud(a,85,-3333);Zd(a,69126);nh(69126);Ud(a,86,-3333);Zd(a,69208);nh(69208);Ud(a,87,-3333);Zd(a,93421);nh(93421);Ud(a,88,-3333);Zd(a,67869);nh(67869);Ud(a,89,-3333);Zd(a,67873);nh(67873);Ud(a,90,-3333);Zd(a,68300);nh(68300);Ud(a,91,-3333);Zd(a,68111);nh(68111);Ud(a,92,-3333);Zd(a,69413);nh(69413);Ud(a,93,-3333);Zd(a,68871);nh(68871);Ud(a,94,-3333);Zd(a,69669);nh(69669);Ud(a,95,-3333);Zd(a,69936);nh(69936);Ud(a,96,-3333);Zd(a,70137);nh(70137);Ud(a,97,-3333);Zd(a,70452);nh(70452);Ud(a,98,-3333);Zd(a,70576);nh(70576);Ud(a,99,-3333);Zd(a,70780);nh(70780);Ud(a,100,-3333);Zd(a,70931);nh(70931);Ud(a,101,-3333);Zd(a,71039);nh(71039);Ud(a,102,-3333);Zd(a,68676);nh(68676);Ud(a,103,-3333);Zd(a,68672);nh(68672);Ud(a,104,0);Zd(a,80854);nh(80854);Ud(a,105,0);Zd(a,80859);nh(80859);Ud(a,106,0);Zd(a,80865);nh(80865);Ud(a,107,-3333);Zd(a,81190);nh(81190);Ud(a,108,-3333);Zd(a,81195);nh(81195);Ud(a,109,-3333);Zd(a,81201);nh(81201);Ud(a,13,0);Zd(a,59167);Ud(a,13,0);Zd(a,89329);nh(89329);Ud(a,25,0);Zd(a,89701);Ud(a,22,0);Zd(a,86293);nh(86293);Ud(a,9,0);Zd(a,86465);nh(86465);Ud(a,27,0);Zd(a,91250);Ud(a,29,0);Zd(a,91017);Ud(a,29,0);Zd(a,59267);Ud(a,30,0);Zd(a,90642);Ud(a,31,0);Zd(a,90290);Ud(a,32,0);Zd(a,90056);Ud(a,26,0);Zd(a,67469);Ud(a,110,0);Zd(a,87727);nh(87727);Ud(a,110,0);Zd(a,87732);Ud(a,111,0);Zd(a,82249);nh(82249);Ud(a,14,0);Zd(a,88915);nh(88915);Ud(a,14,0);Zd(a,59174);Ud(a,112,0);Zd(a,61203);nh(61203);Ud(a,113,0);Zd(a,66739);nh(66739);Ud(a,114,0);Zd(a,67175);nh(67175);Ud(a,115,0);Zd(a,61218);Ud(a,116,0);Zd(a,82643);nh(82643);Ud(a,117,0);Zd(a,83028);nh(83028);Ud(a,118,0);Zd(a,83033);nh(83033);Ud(a,119,0);Zd(a,88284);nh(88284);Ud(a,120,0);Zd(a,83323);nh(83323);Ud(a,121,0);Zd(a,83694);nh(83694);Ud(a,122,0);Zd(a,83827);nh(83827);Ud(a,123,0);Zd(a,84123);nh(84123);Ud(a,7,0);Zd(a,59114);Ud(a,8,0);Zd(a,59124);Ud(a,124,0);Zd(a,94273);nh(94273);Ud(a,4,0);Zd(a,61228);nh(61228);Ud(a,5,0);Zd(a,61233);nh(61233);Ud(a,125,0);Zd(a,61239);nh(61239);Ud(a,126,0);Zd(a,61252);nh(61252);Ud(a,127,0);Zd(a,61265);nh(61265);Ud(a,128,0);Zd(a,61274);nh(61274);Ud(a,129,0);Zd(a,61281);nh(61281);Ud(a,130,0);Zd(a,61288);nh(61288);Ud(a,131,0);Zd(a,61295);nh(61295);Ud(a,132,0);Zd(a,87273);nh(87273);Ud(a,18,0);Zd(a,87264);nh(87264);Ud(a,133,0);Zd(a,87153);nh(87153);Ud(a,134,0);Zd(a,87626);nh(87626);Ud(a,135,0);Zd(a,74182);nh(74182);Ud(a,136,0);Zd(a,74189);nh(74189);Ud(a,17,0);Zd(a,74175);nh(74175);Ud(a,137,0);Zd(a,61302);Ud(a,137,0);Zd(a,61310);Ud(a,138,0);Zd(a,61316);Ud(a,138,0);Zd(a,61326);Ud(a,139,0);Zd(a,61338);Ud(a,140,0);Zd(a,61362);Ud(a,141,0);Zd(a,61378);Ud(a,142,0);Zd(a,61396);Ud(a,143,0);Zd(a,61417);Ud(a,144,0);Zd(a,61426);Ud(a,145,0);Zd(a,61436);Ud(a,6,0);Zd(a,59099);return}function zi(a){a=a|0;var b=0;Yg();a=c[798454]|0;if((a|0)==30){Yg();b=c[798454]|0}else b=a;if((b|0)==15){Yg();Yg()}wb();ol();c[742797]=0;rn();Ag();c[742778]=0;if(c[485657]|0){c[780900]=2;c[781024]=0;c[781023]=0;c[781025]=0}if(!(c[484703]|0)){Bg();return 0}ob(0);Lh(c[742795]|0);Bg();return 0}function Ai(a){a=a|0;Bg();return 0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0;b=$k(2971096,c[781999]|0,24360)|0;d=(($k(2971096,c[781999]|0,24361)|0)<<8)+b|0;b=$k(2971096,c[781999]|0,24362)|0;e=(($k(2971096,c[781999]|0,24363)|0)<<8)+b|0;b=Fd(a,1,0)|0;f=Fd(a,2,0)|0;_k(2971096,c[781999]|0,24360,b>>>16&255);_k(2971096,c[781999]|0,24361,b>>24);_k(2971096,c[781999]|0,24362,f>>>16&255);_k(2971096,c[781999]|0,24363,f>>24);Od(a,d<<16);Od(a,e<<16);return 2}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[781018]|0;d=c[781019]|0;e=c[781020]|0;f=e-b|0;g=c[781021]|0;h=g-d|0;if((yd(a)|0)>3){i=(Fd(a,1,0)|0)>>16;j=(Fd(a,2,0)|0)>>16;k=(Fd(a,3,0)|0)>>16;l=(Fd(a,4,0)|0)>>16;m=k;n=i;o=j}else{l=128;m=128;n=0;o=0}if((yd(a)|0)>4){j=(Id(a,5)|0)==0;c[781018]=n;c[781019]=o;i=n+m|0;c[781020]=i;k=o+l|0;c[781021]=k;if(j){p=k;q=n;r=o;s=i}else{j=(n|0)<(e|0)?n:e;t=(b|0)>(j|0)?b:j;c[781018]=t;j=(o|0)<(g|0)?o:g;u=(d|0)>(j|0)?d:j;c[781019]=u;j=(i|0)<(e|0)?i:e;e=(b|0)>(j|0)?b:j;c[781020]=e;j=(k|0)<(g|0)?k:g;v=e;w=u;x=t;y=(d|0)>(j|0)?d:j;z=7}}else{c[781018]=n;c[781019]=o;j=n+m|0;c[781020]=j;v=j;w=o;x=n;y=o+l|0;z=7}if((z|0)==7){c[781021]=y;p=y;q=x;r=w;s=v}v=(q|0)<128?q:128;c[781018]=(v|0)>0?v:0;v=(r|0)<128?r:128;c[781019]=(v|0)>0?v:0;v=(s|0)<128?s:128;c[781020]=(v|0)>0?v:0;v=(p|0)<128?p:128;c[781021]=(v|0)>0?v:0;Lk();Od(a,b<<16);Od(a,d<<16);Od(a,f<<16);Od(a,h<<16);return 4}function Di(a){a=a|0;var b=0;if((yd(a)|0)>0)b=(Fd(a,1,0)|0)>>16;else b=0;c[781024]=0;c[781025]=0;c[781023]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();Pn(c[742782]|0,0,0,127,127,b);jh(1024);return 0}function Ei(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ia;Ia=Ia+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=d;return 0}c[g>>2]=0;h=Jd(b,1,g)|0;b=c[g>>2]|0;g=b>>>0>512?0:h;do if(b>>>0<=127){if(g){a[f>>0]=0;if(!(au(g,61990)|0))ds(61150,f);if(!(au(g,61998)|0))ds(3196396,f);if(!(au(g,92888)|0))ds(92888,f);if(!(au(g,94635)|0))fs(3196396,f);if(a[f>>0]|0){h=f+((bu(f)|0)+-1)|0;if((a[h>>0]|0)==47){a[h>>0]=0;i=16}else i=16}}else{c[e>>2]=3115688;c[e+4>>2]=3116712;wt(f,104363,e)|0;i=16}if((i|0)==16?a[f>>0]|0:0)break;Jg(62005,14);Jg(62031,6);Jg(62042,6)}while(0);Ia=d;return 0}function Fi(a){a=a|0;var b=0,d=0,e=0;a=Ia;Ia=Ia+2064|0;b=a+2048|0;d=a+1024|0;e=a;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=a;return 0}Xb(3118768,0)|0;Zo(3118768,0,d,e);c[b>>2]=d;c[b+4>>2]=e;wt(1719968,61975,b)|0;Lg(1719968);Ia=a;return 0}function Gi(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;en();return 0}function Hi(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;Jg(61947,14);om();fn();pm();return 0}function Ii(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;gm();c[798799]=1;nl();return 0}function Ji(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;Lg(61906);Lg(61930);return 0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2)return 0;e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)!=3){g=Gd(h)|0;f=c[b>>2]|0;if((f|0)>1){i=f;j=g;k=5}else{l=0;m=g}}else{i=d;j=c[h>>2]|0;k=5}do if((k|0)==5){h=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[h+4>>2]|0)==3){l=c[h>>2]|0;m=j;break}else{l=Gd(h)|0;m=j;break}}while(0);j=qk(a,3)|0;wk(c[742782]|0,m-(c[781030]<<16)>>16,l-(c[781031]<<16)>>16,j,c[781038]|0);return 0}function Li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;if((e|0)<2){f=0;return f|0}g=b+8|0;b=c[g>>2]|0;h=0-e|0;i=b+(h<<3)|0;if((c[b+(h<<3)+4>>2]|0)!=3){h=Gd(i)|0;b=c[d>>2]|0;if((b|0)>1){j=b;k=h;l=5}else{m=0;n=h}}else{j=e;k=c[i>>2]|0;l=5}do if((l|0)==5){i=(c[g>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){m=c[i>>2]|0;n=k;break}else{m=Gd(i)|0;n=k;break}}while(0);k=n-(c[781030]<<16)|0;n=k>>16;j=m-(c[781031]<<16)|0;m=j>>16;if(a[3152374]&16?(j|0)>8388607|((k|0)>8388607|(j|k|0)<0):0){f=($k(2971096,c[781999]|0,24411)|0)<<16;return f|0}f=(ao(c[742782]|0,n,m)|0)<<16&983040;return f|0}function Mi(a){a=a|0;var b=0;b=c[781022]|0;if(!(yd(a)|0))c[781022]=6;pk(a,1,1)|0;Od(a,b<<16);return 1}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[781023]|0;d=c[781024]|0;e=c[781022]|0;f=(Fd(a,1,0)|0)>>16;g=(Fd(a,2,0)|0)>>16;c[781023]=f;c[781025]=f;c[781024]=g;pk(a,3,1)|0;Od(a,b<<16);Od(a,d<<16);Od(a,e<<16);return 3}function Oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=d+8|0;g=d+4|0;c[f>>2]=0;h=Cd(b,1)|0;c[g>>2]=0;if((yd(b)|0)>1)i=(Fd(b,2,0)|0)>>16;else i=0;switch(h|0){case 3:{h=Fd(b,1,0)|0;c[f>>2]=h;Od(b,h);j=1;Ia=d;return j|0}case 1:{h=(Id(b,1)|0)==0;Od(b,h?0:(i&2|0)==0?65536:1);j=1;Ia=d;return j|0}case 4:{jh(2);c[g>>2]=1;a:do if(!(i&3))k=18;else{h=Jd(b,1,0)|0;l=a[h>>0]|0;if(!(l<<24>>24))m=0;else{n=l;l=h;h=0;while(1){o=h<<4;p=n<<24>>24;do if((n+-48&255)>=10)if((n+-97&255)<6){q=p+-87|0;break}else{q=(n+-65&255)<6?p+-55|0:0;break}else q=p+-48|0;while(0);p=q|o;l=l+1|0;n=a[l>>0]|0;if(!(n<<24>>24)){m=p;break}else h=p}}switch(i&3){case 3:{c[f>>2]=m;k=23;break a;break}case 1:{c[f>>2]=m<<16;k=23;break a;break}default:{k=18;break a}}}while(0);do if((k|0)==18){if(!(i&2)){c[g>>2]=0;c[f>>2]=Fd(b,1,g)|0;m=c[g>>2]|0;if((i&4|0)==0|(m|0)!=0)r=m;else{c[f>>2]=0;c[g>>2]=1;s=0;break}}else{m=Jd(b,1,0)|0;c[e>>2]=f;Su(m,94793,e)|0;r=c[g>>2]|0}if(!r){j=0;Ia=d;return j|0}else k=23}while(0);if((k|0)==23)s=c[f>>2]|0;Od(b,s);j=1;Ia=d;return j|0}default:{j=0;Ia=d;return j|0}}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=yd(a)|0;l=(Fd(a,1,0)|0)>>16;m=Fd(a,2,0)|0;n=Fd(a,3,0)|0;if(l>>>0>255){Ia=b;return 0}if((k|0)>3){o=Fd(a,4,0)|0;p=Fd(a,5,0)|0;if((k|0)>5){k=Id(a,6)|0;q=k;r=Id(a,7)|0;s=p;t=o}else{q=0;r=0;s=p;t=o}}else{q=0;r=0;s=65536;t=65536}o=t>>13;p=s>>13;if((t|0)<8192|(s|0)<8192){Ia=b;return 0}s=(o|0)<128?o:128;o=(p|0)<128?p:128;p=m-(c[781030]<<16)>>16;m=n-(c[781031]<<16)>>16;n=c[554383]|0;do if(!n)u=10;else{if((c[n>>2]|0)==(s|0)?(c[n+4>>2]|0)==(o|0):0){v=o;w=s;x=n;break}Tn(n)|0;u=10}while(0);if((u|0)==10){u=Sn(s,o,8)|0;c[554383]=u;v=c[u+4>>2]|0;w=c[u>>2]|0;x=u}wq(c[x+12>>2]|0,16,B(v,w)|0);rk(c[(c[781999]|0)+8>>2]|0,c[554383]|0,l<<3&120,l>>>4<<3,0,0,s,o,q,r,3123880);tk(c[554383]|0,c[742782]|0,0,0,p,m,s,o);c[d>>2]=s;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=m;m=0-s|0;if((s|0)<0){c[g>>2]=s;c[d>>2]=m;y=m}else y=s;s=0-o|0;if((o|0)<0){c[h>>2]=o;c[e>>2]=s;z=s}else z=o;c[f>>2]=y;c[f+4>>2]=z;Vn(f,c[742782]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;jh((d|j|0)<0?0:e);Ia=b;return 0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=yd(a)|0;l=(Fd(a,1,0)|0)>>16;m=(Fd(a,2,0)|0)>>16;n=Fd(a,3,0)|0;o=n>>16;p=Fd(a,4,0)|0;q=p>>16;r=Fd(a,5,0)|0;s=Fd(a,6,0)|0;if((k|0)>6){t=(Fd(a,7,0)|0)>>16;u=(Fd(a,8,0)|0)>>16;if((k|0)>8){v=Id(a,9)|0;if((k|0)==9){w=v;x=0;y=u;z=t}else{w=v;x=Id(a,10)|0;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Ia=b;return 0}if((z|0)==0|(y|0)==0){Ia=b;return 0}n=(z|0)<0;p=(r-(c[781030]<<16)>>16)+(n?z:0)|0;r=n?0-z|0:z;z=n?(w|0)==0&1:w;w=(y|0)<0;n=(s-(c[781031]<<16)>>16)+(w?y:0)|0;s=w?0-y|0:y;y=w?(x|0)==0&1:x;x=c[554382]|0;do if(!x)A=11;else{if((c[x>>2]|0)==(o|0)?(c[x+4>>2]|0)==(q|0):0){C=q;D=o;E=x;break}Tn(x)|0;A=11}while(0);if((A|0)==11){A=Sn(o,q,8)|0;c[554382]=A;C=c[A+4>>2]|0;D=c[A>>2]|0;E=A}wq(c[E+12>>2]|0,16,B(C,D)|0);rk(c[(c[781999]|0)+8>>2]|0,c[554382]|0,l,m,0,0,o,q,z,y,3123880);sk(c[554382]|0,c[742782]|0,p,n,r,s);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;F=n}else F=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;G=r}else G=s;c[f>>2]=F;c[f+4>>2]=G;Vn(f,c[742782]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;jh((d|j|0)<0?0:e);Ia=b;return 0}function Ri(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;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=i;l=c[g>>2]|0}else{h=Gd(g)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0}else{g=Gd(h)|0;m=c[b>>2]|0;n=g}if((m|0)>3){g=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[g+4>>2]|0)==3){o=l;p=n;q=c[g>>2]|0;r=j;break}else{o=l;p=n;q=Gd(g)|0;r=j;break}}else{o=l;p=n;q=0;r=j}}else{o=l;p=0;q=0;r=j}}else{o=0;p=0;q=0;r=j}}else{o=0;p=0;q=0;r=0}while(0);j=qk(a,5)|0;a=c[781030]<<16;l=r-a>>16;r=c[781031]<<16;n=o-r>>16;o=p-a>>16;a=q-r>>16;r=xk(c[742782]|0,l,o,n,j)|0;if((a|0)==(n|0))s=r;else s=(xk(c[742782]|0,l,o,a,j)|0)+r|0;r=(a|0)<(n|0);q=r?a:n;p=r?n:a;if((p|0)<=(q|0)){t=s;u=(t|0)/16|0;jh(u);return 0}a=q+1|0;q=p+-1|0;p=(Kk(c[742782]|0,l,a,q,j)|0)+s|0;t=p+(Kk(c[742782]|0,o,a,q,j)|0)|0;u=(t|0)/16|0;jh(u);return 0} 138 + function Vl(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=Ia;Ia=Ia+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Ia=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ia=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;do if(m){if(c[p>>2]|0)c[p>>2]=0;r=Ql(c[i>>2]|0,c[i+12>>2]|0)|0;c[p>>2]=r;if(r|0){s=c[n>>2]|0;break}c[b+64>>2]=7;q=0;Ia=j;return q|0}else{c[p>>2]=0;s=o}while(0);a[l>>0]=44;r=c[s+64>>2]|0;if(!r)nv(44,c[s+56>>2]|0)|0;else Oa[r&7](b,l,1)|0;a[k>>0]=d;r=k+1|0;a[r>>0]=d>>>8;d=c[n>>2]|0;s=c[d+64>>2]|0;if(!s)hv(k,1,2,c[d+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=e;a[r>>0]=e>>>8;e=c[n>>2]|0;s=c[e+64>>2]|0;if(!s)hv(k,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=f;a[r>>0]=f>>>8;s=c[n>>2]|0;e=c[s+64>>2]|0;if(!e)hv(k,1,2,c[s+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;a[k>>0]=g;a[r>>0]=g>>>8;r=c[n>>2]|0;e=c[r+64>>2]|0;if(!e)hv(k,1,2,c[r+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);a:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)nv(h<<24>>24,c[r+56>>2]|0)|0;else Oa[s&7](b,l,1)|0;if((c[i>>2]|0)>0){s=i+12|0;r=l+1|0;h=l+2|0;d=0;while(1){t=c[s>>2]|0;a[l>>0]=a[t+(d*3|0)>>0]|0;a[r>>0]=a[t+(d*3|0)+1>>0]|0;a[h>>0]=a[t+(d*3|0)+2>>0]|0;t=c[n>>2]|0;u=c[t+64>>2]|0;if(!u)v=hv(l,1,3,c[t+56>>2]|0)|0;else v=Oa[u&7](b,l,3)|0;d=d+1|0;if((v|0)!=3)break;if((d|0)>=(c[i>>2]|0))break a}c[b+64>>2]=2;q=0;Ia=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){nv(e<<24>>24,c[d+56>>2]|0)|0;break}else{Oa[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Ia=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)nv(e<<24>>24,c[f+56>>2]|0)|0;else Oa[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<<e;n=f+12|0;c[n>>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<<e;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Wv(c[f+24900>>2]|0,-1,32768)|0;if(!(Wl(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ia=j;return q|0}function Wl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=c[k>>2]|0;n=1;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=hv(j,1,256,c[p+56>>2]|0)|0;else r=Oa[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=m;u=n}m=(c[k>>2]|0)>>>8;c[k>>2]=m;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else n=u}}else v=1;c[h>>2]=0;n=a[j>>0]|0;if(n<<24>>24){m=(n&255)+1|0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)w=hv(j,1,m,c[n+56>>2]|0)|0;else w=Oa[k&7](b,j,m)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)y=hv(j,1,1,c[m+56>>2]|0)|0;else y=Oa[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;m=c[k>>2]|e<<i;c[k>>2]=m;n=(c[g+24>>2]|0)+i|0;c[h>>2]=n;if((n|0)>7){n=g+68|0;l=b+64|0;o=m;m=1;while(1){q=a[n>>0]|0;do if(q<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=hv(n,1,256,c[p+56>>2]|0)|0;else A=Oa[z&7](b,n,256)|0;if((A|0)==((d[n>>0]|0)+1|0)){a[n>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=q;t=32}while(0);if((t|0)==32){t=0;q=B+1<<24>>24;a[n>>0]=q;a[(q&255)+(g+68)>>0]=o;C=m}o=(c[k>>2]|0)>>>8;c[k>>2]=o;q=c[h>>2]|0;c[h>>2]=q+-8;if((q|0)<=15){x=C;break}else m=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<<g;return x|0}function Xl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[a+72>>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=d[b>>0]|0;k=1}else{j=i;k=0}a:do if((k|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=j;r=k;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=w;A=v;B=x;while(1){if((B|0)==(t|0))break;A=A+1&8191;C=c[g+(A<<2)>>2]|0;B=C>>>12;if((B|0)==1048575){y=10;break c}else z=C}D=z&4095}while(0);do if((y|0)==10){y=0;if(!(Wl(a,q)|0)){y=11;break b}x=c[i>>2]|0;if((x|0)>4094){if(!(Wl(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;v=(c[n>>2]|0)+1|0;c[o>>2]=v;c[p>>2]=1<<v;Wv(g|0,-1,32768)|0;D=s;break}c[i>>2]=x+1;v=u;while(1){w=v&8191;E=g+(w<<2)|0;if((c[E>>2]|0)>>>0<4294963200)v=w+1|0;else break}c[E>>2]=x&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=j;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(Wl(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(Wl(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(Wl(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;d=Ia;Ia=Ia+16|0;e=d;f=b+20|0;if(!(Ul(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[f>>2]|0)|0)){g=0;Ia=d;return g|0}h=b+24|0;a:do if((c[h>>2]|0)>0){i=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[i>>2]|0;o=c[n+(m*36|0)+12>>2]|0;p=c[n+(m*36|0)+8>>2]|0;q=n+(m*36|0)+24|0;c:do if(c[q>>2]|0){r=c[n+(m*36|0)+32>>2]|0;s=c[n+(m*36|0)+28>>2]|0;if((r|0)!=0&(s|0)>0){t=s+-1|0;u=0;do{v=r+(u*12|0)|0;w=c[r+(u*12|0)+8>>2]|0;if(w|0){x=c[j>>2]|0;if(!(c[x>>2]&1)){y=13;break b}a[e>>0]=33;a[k>>0]=w;w=c[x+64>>2]|0;if(!w)hv(e,1,2,c[x+56>>2]|0)|0;else Oa[w&7](b,e,2)|0}w=c[v>>2]|0;x=c[r+(u*12|0)+4>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=21;break b}a[e>>0]=w;A=c[z+64>>2]|0;if(!A)nv(w<<24>>24,c[z+56>>2]|0)|0;else Oa[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)hv(x,1,w,c[A+56>>2]|0)|0;else Oa[z&7](b,x,w)|0;if(!((u|0)!=(t|0)?!(c[v+12+8>>2]|0):0)){v=c[j>>2]|0;if(!(c[v>>2]&1)){y=29;break b}a[e>>0]=0;w=c[v+64>>2]|0;if(!w)nv(0,c[v+56>>2]|0)|0;else Oa[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!(Vl(b,c[n+(m*36|0)>>2]|0,c[n+(m*36|0)+4>>2]|0,p,o,(a[s>>0]|0)!=0,c[n+(m*36|0)+20>>2]|0)|0)){g=0;y=118;break b}if(!(a[s>>0]|0)){if((o|0)<=0)break;if(!p){s=0;while(1){u=c[q>>2]|0;t=c[j>>2]|0;if(!(c[t>>2]&1)){y=70;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0<r>>>0){y=72;break b}c[w>>2]=v-r;v=a[92006+(c[t+8>>2]|0)>>0]|0;if((r|0)>0){t=0;do{w=u+t|0;a[w>>0]=a[w>>0]&v;t=t+1|0}while((t|0)!=(r|0))}s=s+1|0;if(!(Xl(b,u,r)|0)){g=0;y=118;break b}if((s|0)>=(o|0))break c}}else{s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(B(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=70;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=72;break b}c[x>>2]=z-p;z=a[92006+(c[w+8>>2]|0)>>0]|0;if(s){w=0;do{x=v+w|0;a[x>>0]=a[x>>0]&z;w=w+1|0}while((w|0)!=(p|0))}t=t+1|0;if(!(Xl(b,v,p)|0)){g=0;y=118;break b}if((t|0)>=(o|0))break c}}}t=(o|0)>0;if(!p){if(!t)break;s=0;do{w=c[q>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}r=c[l>>2]|0;u=z+52|0;x=c[u>>2]|0;if(x>>>0<r>>>0){y=50;break b}c[u>>2]=x-r;x=a[92006+(c[z+8>>2]|0)>>0]|0;if((r|0)>0){z=0;do{u=w+z|0;a[u>>0]=a[u>>0]&x;z=z+1|0}while((z|0)!=(r|0))}if(!(Xl(b,w,r)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0));if((o|0)>4){s=4;do{z=c[q>>2]|0;x=c[j>>2]|0;if(!(c[x>>2]&1)){y=48;break b}v=c[l>>2]|0;u=x+52|0;A=c[u>>2]|0;if(A>>>0<v>>>0){y=50;break b}c[u>>2]=A-v;A=a[92006+(c[x+8>>2]|0)>>0]|0;if((v|0)>0){x=0;do{u=z+x|0;a[u>>0]=a[u>>0]&A;x=x+1|0}while((x|0)!=(v|0))}if(!(Xl(b,z,v)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=2;do{x=c[q>>2]|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=48;break b}r=c[l>>2]|0;w=A+52|0;u=c[w>>2]|0;if(u>>>0<r>>>0){y=50;break b}c[w>>2]=u-r;u=a[92006+(c[A+8>>2]|0)>>0]|0;if((r|0)>0){A=0;do{w=x+A|0;a[w>>0]=a[w>>0]&u;A=A+1|0}while((A|0)!=(r|0))}if(!(Xl(b,x,r)|0)){g=0;y=118;break b}s=s+4|0}while((s|0)<(o|0))}if((o|0)<=1)break;s=1;do{A=c[q>>2]|0;u=c[j>>2]|0;if(!(c[u>>2]&1)){y=48;break b}v=c[l>>2]|0;z=u+52|0;w=c[z>>2]|0;if(w>>>0<v>>>0){y=50;break b}c[z>>2]=w-v;w=a[92006+(c[u+8>>2]|0)>>0]|0;if((v|0)>0){u=0;do{z=A+u|0;a[z>>0]=a[z>>0]&w;u=u+1|0}while((u|0)!=(v|0))}if(!(Xl(b,A,v)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}else{if(!t)break;s=(p|0)>0;u=0;do{w=(c[q>>2]|0)+(B(u,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}x=r+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[x>>2]=z-p;z=a[92006+(c[r+8>>2]|0)>>0]|0;if(s){r=0;do{x=w+r|0;a[x>>0]=a[x>>0]&z;r=r+1|0}while((r|0)!=(p|0))}if(!(Xl(b,w,p)|0)){g=0;y=118;break b}u=u+8|0}while((u|0)<(o|0));if((o|0)>4){u=(p|0)>0;s=4;do{t=(c[q>>2]|0)+(B(s,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}z=r+52|0;v=c[z>>2]|0;if(v>>>0<p>>>0){y=50;break b}c[z>>2]=v-p;v=a[92006+(c[r+8>>2]|0)>>0]|0;if(u){r=0;do{z=t+r|0;a[z>>0]=a[z>>0]&v;r=r+1|0}while((r|0)!=(p|0))}if(!(Xl(b,t,p)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=(p|0)>0;u=2;do{r=(c[q>>2]|0)+(B(u,p)|0)|0;v=c[j>>2]|0;if(!(c[v>>2]&1)){y=48;break b}w=v+52|0;z=c[w>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[w>>2]=z-p;z=a[92006+(c[v+8>>2]|0)>>0]|0;if(s){v=0;do{w=r+v|0;a[w>>0]=a[w>>0]&z;v=v+1|0}while((v|0)!=(p|0))}if(!(Xl(b,r,p)|0)){g=0;y=118;break b}u=u+4|0}while((u|0)<(o|0))}if((o|0)<=1)break;u=(p|0)>0;s=1;do{v=(c[q>>2]|0)+(B(s,p)|0)|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}t=z+52|0;w=c[t>>2]|0;if(w>>>0<p>>>0){y=50;break b}c[t>>2]=w-p;w=a[92006+(c[z+8>>2]|0)>>0]|0;if(u){z=0;do{t=v+z|0;a[t>>0]=a[t>>0]&w;z=z+1|0}while((z|0)!=(p|0))}if(!(Xl(b,v,p)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}}while(0);m=m+1|0;if((m|0)>=(c[h>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==21){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==29){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==48){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==50){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==70){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==72){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==118){Ia=d;return g|0}}while(0);h=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((h|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;i=0;while(1){o=h+(i*12|0)|0;p=c[h+(i*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=87;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)hv(e,1,2,c[q+56>>2]|0)|0;else Oa[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[h+(i*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=95;break}a[e>>0]=p;s=c[n+64>>2]|0;if(!s)nv(p<<24>>24,c[n+56>>2]|0)|0;else Oa[s&7](b,e,1)|0;s=c[l>>2]|0;n=c[s+64>>2]|0;if(!n)hv(q,1,p,c[s+56>>2]|0)|0;else Oa[n&7](b,q,p)|0;if(!((i|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=103;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)nv(0,c[o+56>>2]|0)|0;else Oa[p&7](b,e,1)|0}i=i+1|0;if((i|0)>=(m|0)){C=l;break d}}if((y|0)==87){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==95){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==103){c[b+64>>2]=10;g=0;Ia=d;return g|0}}else C=b+72|0;while(0);y=c[C>>2]|0;do if(y|0?c[y>>2]&1|0:0){C=c[y+56>>2]|0;a[e>>0]=59;m=c[y+64>>2]|0;if(!m)nv(59,C)|0;else Oa[m&7](b,e,1)|0;m=b+48|0;if(c[m>>2]|0)c[m>>2]=0;if(c[f>>2]|0)c[f>>2]=0;if(C|0?Lu(C)|0:0)break;g=1;Ia=d;return g|0}while(0);g=0;Ia=d;return g|0}function Zl(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<<b|0)<(a|0))b=b+1|0;else break;return b|0}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+52|0;f=c[e>>2]|0;a:do if(!f){c[554434]=(c[554434]|0)+36;g=_s(36,1)|0;h=c[554433]|0;c[1462656+(h<<2)>>2]=g;c[554433]=h+((h|0)<16384&1);i=g}else{g=((c[b+24>>2]|0)*36|0)+36|0;h=c[554433]|0;b:do if((h|0)>0){j=0;while(1){k=1462656+(j<<2)|0;if((c[k>>2]|0)==(f|0))break;j=j+1|0;if((j|0)>=(h|0))break b}j=$s(f,g)|0;c[k>>2]=j;i=j;break a}while(0);i=$s(f,g)|0}while(0);c[e>>2]=i;if(!i){l=0;return l|0}f=b+24|0;b=c[f>>2]|0;c[f>>2]=b+1;k=i+(b*36|0)|0;h=k;j=h+36|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));if(!d){l=k;return l|0}h=k;m=d;j=h+36|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(j|0));m=i+(b*36|0)+20|0;if(c[m>>2]|0?(h=c[d+20>>2]|0,j=Ql(c[h>>2]|0,c[h+12>>2]|0)|0,c[m>>2]=j,(j|0)==0):0){j=c[e>>2]|0;if(!j){l=0;return l|0}m=(c[f>>2]|0)+-1|0;c[f>>2]=m;h=j+(m*36|0)+20|0;if(c[h>>2]|0)c[h>>2]=0;h=j+(m*36|0)+32|0;if(!(c[h>>2]|0)){l=0;return l|0}c[h>>2]=0;c[j+(m*36|0)+28>>2]=0;l=0;return l|0}m=d+12|0;j=d+8|0;h=B(c[j>>2]|0,c[m>>2]|0)|0;n=(c[554434]|0)+h|0;c[554434]=n;o=_s(h,1)|0;h=c[554433]|0;c[1462656+(h<<2)>>2]=o;p=h+((h|0)<16384&1)|0;c[554433]=p;c[i+(b*36|0)+24>>2]=o;if(!o){h=c[e>>2]|0;if(!h){l=0;return l|0}q=(c[f>>2]|0)+-1|0;c[f>>2]=q;r=h+(q*36|0)+20|0;if(c[r>>2]|0)c[r>>2]=0;r=h+(q*36|0)+32|0;if(!(c[r>>2]|0)){l=0;return l|0}c[r>>2]=0;c[h+(q*36|0)+28>>2]=0;l=0;return l|0}Vv(o|0,c[d+24>>2]|0,B(c[j>>2]|0,c[m>>2]|0)|0)|0;m=i+(b*36|0)+32|0;if(!(c[m>>2]|0)){l=k;return l|0}b=d+28|0;i=(c[b>>2]|0)*12|0;c[554434]=i+n;n=_s(i,1)|0;c[1462656+(p<<2)>>2]=n;c[554433]=p+((p|0)<16384&1);c[m>>2]=n;if(n|0){Vv(n|0,c[d+32>>2]|0,(c[b>>2]|0)*12|0)|0;l=k;return l|0}k=c[e>>2]|0;if(!k){l=0;return l|0}e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=k+(e*36|0)+20|0;if(c[f>>2]|0)c[f>>2]=0;f=k+(e*36|0)+32|0;if(!(c[f>>2]|0)){l=0;return l|0}c[f>>2]=0;c[k+(e*36|0)+28>>2]=0;l=0;return l|0}function $l(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[798463]=0;Wv(n|0,0,521)|0;if((c[780894]|0)!=1|(c[780901]|0)==0|(a[3120180]|0)==0){o=0;Ia=b;return o|0}if((bu(3120180)|0)>>>0>64){o=0;Ia=b;return o|0}c[l>>2]=3117736;c[l+4>>2]=3120180;wt(m,92015,l)|0;l=Po(m,104706)|0;if(!l){o=1;Ia=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[3120248+(q<<2)>>2];wt(n+p|0,92028,k)|0;a[r>>0]=10;c[j>>2]=c[3120248+((q|1)<<2)>>2];wt(n+(p+8)|0,92028,j)|0;a[r>>0]=10;c[i>>2]=c[3120248+((q|2)<<2)>>2];wt(n+(p+16)|0,92028,i)|0;a[r>>0]=10;c[h>>2]=c[3120248+((q|3)<<2)>>2];wt(n+(p+24)|0,92028,h)|0;a[r>>0]=10;c[g>>2]=c[3120248+((q|4)<<2)>>2];wt(n+(p+32)|0,92028,g)|0;a[r>>0]=10;c[f>>2]=c[3120248+((q|5)<<2)>>2];wt(n+(p+40)|0,92028,f)|0;a[r>>0]=10;c[e>>2]=c[3120248+((q|6)<<2)>>2];wt(n+(p+48)|0,92028,e)|0;a[r>>0]=10;c[d>>2]=c[3120248+((q|7)<<2)>>2];wt(n+(p+56)|0,92028,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);Ho(n,1,520,l)|0;Ro(l);o=0;Ia=b;return o|0}function am(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ia=d;return j|0}if(!((c[780894]|0)==1&(c[780901]|0)!=0)){j=1;Ia=d;return j|0}do if(au(3119920,b)|0){if(a[3119920]|0){if(!(au(3119985,b)|0))break;if(a[3119985]|0){if(!(au(3120050,b)|0))break;if(a[3120050]|0){if(!(au(3120115,b)|0))break;if(!(a[3120115]|0))k=3120115;else{Cb(92033)|0;j=2;Ia=d;return j|0}}else k=3120050}else k=3119985}else k=3119920;ku(k,b)|0}while(0);k=a[b>>0]|0;if(k<<24>>24?(l=bu(b)|0,l>>>0<=64):0){a:do if(l|0){m=k;n=0;b:while(1){o=m<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=n+1|0;if(o>>>0>=l>>>0)break a;m=a[b+o>>0]|0;n=o}Cb(92076)|0;j=2;Ia=d;return j|0}while(0);if(au(3120180,b)|0){$l()|0;Rs(3120180,b)|0}Wv(3120248,0,256)|0;c[f>>2]=3117736;c[f+4>>2]=3120180;wt(g,92015,f)|0;f=Po(g,96074)|0;if(!f){j=1;Ia=d;return j|0}wq(h,0,1024);Fo(h,1,1024,f)|0;Ro(f);wq(i,0,513);f=0;g=0;while(1){b=a[h+f>>0]|0;if((b+-48&255)<10)p=29;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=29;break}default:q=g}if((p|0)==29){p=0;a[i+g>>0]=b;q=g+1|0}f=f+1|0;if(!(f>>>0<1024&(q|0)<512))break;else g=q}q=0;do{c[e>>2]=3120248+(q<<2);Su(i+(q<<3)|0,92028,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ia=d;return j|0}Cb(92059)|0;j=2;Ia=d;return j|0}function bm(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+1024|0;d=b;sc(a,d);if((Ts(a,92099)|0)==0?(Ts(a,92104)|0)==0:0){Lg(92109);Ia=b;return}if((c[780896]|0)==5){cm(d,c[798588]|0);Ia=b;return}else{cm(d,-1);Ia=b;return}}function cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ia;Ia=Ia+1040|0;f=e+1032|0;g=e+1024|0;h=e;i=c[798504]|0;if((d|0)==-1){j=bu(b)|0;a:do if((j|0)>0){k=j+-1|0;l=0;m=0;while(1){if((a[b+m>>0]|0)==37){if((m|0)==(k|0)){n=11;break a}o=m+1|0;if((a[b+o>>0]|0)!=100){n=11;break a}p=l+1|0;q=o}else{p=l;q=m+1|0}if((q|0)<(j|0)){l=p;m=q}else break}if((p|0)==1){r=0;s=63}else n=11}else n=11;while(0);if((n|0)==11){r=i;s=i}if((r|0)>(s|0)){Mb(h);t=32;u=0}else{v=s;w=r;n=14}}else{v=i;w=i;n=14}do if((n|0)==14){i=w;r=0;while(1){x=r+1|0;c[g>>2]=i;wt(h,b,g)|0;if(!(Ts(h,92104)|0))y=0;else{s=Po(h,104706)|0;if(!s)break;dm(s,i,d);y=s}if(Ts(h,92099)|0)em(h,i,d);if(y|0)Ro(y);if((i|0)<(v|0)){i=i+1|0;r=x}else{n=24;break}}if((n|0)==24){Mb(h);t=(r|0)==0?32:115;u=x;break}Lg(92131);Ia=e;return}while(0);c[f>>2]=u;c[f+4>>2]=t;wt(1719968,92151,f)|0;Lg(1719968);Ia=e;return}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[26544]|0;f=e+16+(b*680|0)|0;g=c[e+16+(b*680|0)+8>>2]|0;e=(g|0)<1?32:g<<5;g=xq(366)|0;Wv(g|0,0,366)|0;h=(d|0)==-1;if(h)Mg(92192,b,e);else Mg(92211,d,0);or();lr(0,0);Rq();b=c[26544]|0;if(!h){fr(b,d,0);c[554964]=1;d=0;do{Jq(0,g,366);Ho(g,1,366,a)|0;d=d+1|0}while((nr()|0)!=0&d>>>0<32768);c[554964]=0;or();zq(g);Sq();return}_q(f,b);c[554964]=1;if((e|0)<=0){c[554964]=0;or();zq(g);Sq();return}b=0;do{Jq(0,g,366);Ho(g,1,366,a)|0;nr()|0;b=b+1|0}while((b|0)!=(e|0));c[554964]=0;or();zq(g);Sq();return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=(d|0)==-2;if(f){g=qr()|0;if(!g){Lg(92167);return}else h=g}else{g=Aq(1048576)|0;dm(g,d,e);h=g}g=c[h+16>>2]|0;e=Po(b,104706)|0;if(!e){Lg(92131);return}d=g+36|0;a[3460]=d;a[3461]=d>>>8;a[3462]=d>>>16;a[3463]=d>>>24;a[3496]=g;a[3497]=g>>>8;a[3498]=g>>>16;a[3499]=g>>>24;Ho(3456,1,44,e)|0;Ho(c[h+12>>2]|0,1,g,e)|0;Ro(e);Mb(b);if(f)return;Cq(h);return}function fm(a){a=a|0;em(hc(92222,a)|0,-2,-2);return}function gm(){var a=0,b=0,d=0;c[554435]=0;c[554436]=0;a=1938644;b=1938516;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function hm(){var a=0,b=0,d=0;if((c[554435]|0)>=13)return;a=1938516;b=1938644;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function im(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[554435]|0)<13){a=1938516;d=1938644;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));jm(c[742782]|0)}if(b)c[798799]=0;if((c[554435]|0)<=12)return;c[798799]=0;c[781024]=120;return}function jm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;Pn(b,0,0,127,127,1);Pn(b,4,41,123,124,6);Pn(b,0,0,127,6,7);Bo(b,92226,c[742805]|0,6,1,1,12)|0;g=c[c[742804]>>2]|0;h=c[554435]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;Rn(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[742805]|0;if((c[554435]|0)>12){Bo(b,92244,i,60,12,1,11)|0;Bo(b,92258,c[742805]|0,60,22,1,12)|0;Bo(b,92271,c[742805]|0,60,29,1,12)|0}else{Bo(b,92283,i,60,12,1,6)|0;Bo(b,c[3504+(c[554435]<<2)>>2]|0,c[742805]|0,60,19,1,7)|0;Bo(b,92298,c[742805]|0,60,26,1,13)|0;Bo(b,92314,c[742805]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1938516+(i<<2)>>2]|0;j=c[3504+(i<<2)>>2]|0;if(!g){k=c[3568+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;wt(1719968,92328,f)|0}else{k=(g|0)<255?g:255;g=Or((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;wt(1719968,92328,e)|0}g=a[1719968]|0;if(g<<24>>24){j=g;g=1719968;do{if((j+-65&255)<26)a[g>>0]=(j&255)+32;g=g+1|0;j=a[g>>0]|0}while(j<<24>>24!=0)}if((i|0)==(c[554435]|0)){Pn(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Bo(b,1719968,c[742805]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ia=d;return}function km(){var a=0,b=0,d=0;if(!(c[554436]|0)){c[554436]=1;a=0;do{if(qo(a)|0)c[554436]=0;a=a+1|0}while((a|0)!=512);if((c[554435]|0)<=12)return;c[554436]=0;return}a=0;do{if(qo(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[554435]|0;c[1938516+(d<<2)>>2]=b;c[554436]=0;c[554435]=d+1;if((d|0)>11?no()|0:0)do oo()|0;while((no()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function lm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+16|0;j=i;if(e>>>0>6){Ia=i;return}if(!(ml(e,f)|0))k=(kl(e,f)|0)>128&1;else k=1;Rn(c[(c[c[742804]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[92551+e>>0]|0)+31;a[j+1>>0]=0;Bo(b,j,c[742805]|0,g,k+h|0,1,7)|0;Ia=i;return}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=Ia;Ia=Ia+1056|0;e=d+1024|0;f=d+1040|0;g=d+1036|0;h=d+1032|0;i=d;cs(g,h,d+1028|0);j=c[(c[c[742804]>>2]|0)+984>>2]|0;k=j+4|0;l=(c[j>>2]|0)/2|0;m=64-l|0;n=(c[k>>2]|0)/2|0;o=64-n|0;Hk(b,63-l|0,63-n|0,l+64|0,n+64|0,1);Wn(b,m,o,l+63|0,n+63|0,7);Rn(j,b,0,0,m,o,c[j>>2]|0,c[k>>2]|0);Wv(i|0,0,1024)|0;Rs(i,92558)|0;k=i+256|0;Rs(k,92566)|0;j=i+512|0;Rs(j,92574)|0;n=i+768|0;Rs(n,92582)|0;if(!((c[484629]|c[484630]|c[484631]|c[484632]|0)==0|(c[484629]|0)==80&(c[484630]|0)==79&(c[484631]|0)==82&(c[484632]|0)==81)){Rs(i,92590)|0;l=c[484629]|0;if(l|0){p=(l|0)<255?l:255;l=Or((p|0)>0?p:0)|0;if((l|0)!=0?(bu(l)|0)==1:0){p=a[l>>0]|0;l=p<<24>>24;q=(p+-65&255)<26?l+32|0:l}else q=16;a[i>>0]=q}q=c[484630]|0;if(q|0){l=(q|0)<255?q:255;q=Or((l|0)>0?l:0)|0;if((q|0)!=0?(bu(q)|0)==1:0){l=a[q>>0]|0;q=l<<24>>24;r=(l+-65&255)<26?q+32|0:q}else r=16;a[i+2>>0]=r}r=c[484631]|0;if(r|0){q=(r|0)<255?r:255;r=Or((q|0)>0?q:0)|0;if((r|0)!=0?(bu(r)|0)==1:0){q=a[r>>0]|0;r=q<<24>>24;s=(q+-65&255)<26?r+32|0:r}else s=16;a[i+4>>0]=s}s=c[484632]|0;if(s|0){r=(s|0)<255?s:255;s=Or((r|0)>0?r:0)|0;if((s|0)!=0?(bu(s)|0)==1:0){r=a[s>>0]|0;s=r<<24>>24;t=(r+-65&255)<26?s+32|0:s}else t=16;a[i+6>>0]=t}}if(c[484633]|c[484634]|0){Rs(k,92590)|0;t=c[484633]|0;if(t|0){s=(t|0)<255?t:255;t=Or((s|0)>0?s:0)|0;if((t|0)!=0?(bu(t)|0)==1:0){s=a[t>>0]|0;t=s<<24>>24;u=(s+-65&255)<26?t+32|0:t}else u=16;a[i+256>>0]=u}u=c[484634]|0;if(u|0){t=(u|0)<255?u:255;u=Or((t|0)>0?t:0)|0;if((u|0)!=0?(bu(u)|0)==1:0){t=a[u>>0]|0;u=t<<24>>24;v=(t+-65&255)<26?u+32|0:u}else v=16;a[i+258>>0]=v}}if(c[484635]|c[484636]|c[484637]|c[484638]|0){Rs(j,92590)|0;v=c[484635]|0;if(v|0){u=(v|0)<255?v:255;v=Or((u|0)>0?u:0)|0;if((v|0)!=0?(bu(v)|0)==1:0){u=a[v>>0]|0;v=u<<24>>24;w=(u+-65&255)<26?v+32|0:v}else w=16;a[i+512>>0]=w}w=c[484636]|0;if(w|0){v=(w|0)<255?w:255;w=Or((v|0)>0?v:0)|0;if((w|0)!=0?(bu(w)|0)==1:0){v=a[w>>0]|0;w=v<<24>>24;x=(v+-65&255)<26?w+32|0:w}else x=16;a[i+514>>0]=x}x=c[484637]|0;if(x|0){w=(x|0)<255?x:255;x=Or((w|0)>0?w:0)|0;if((x|0)!=0?(bu(x)|0)==1:0){w=a[x>>0]|0;x=w<<24>>24;y=((w+-65&255)<26?x+32|0:x)&255}else y=16;a[i+516>>0]=y}y=c[484638]|0;if(y|0){x=(y|0)<255?y:255;y=Or((x|0)>0?x:0)|0;if((y|0)!=0?(bu(y)|0)==1:0){x=a[y>>0]|0;y=x<<24>>24;z=((x+-65&255)<26?y+32|0:y)&255}else z=16;a[i+518>>0]=z}}if(c[484639]|c[484640]|0){Rs(n,92590)|0;z=c[484639]|0;if(z|0){y=(z|0)<255?z:255;z=Or((y|0)>0?y:0)|0;if((z|0)!=0?(bu(z)|0)==1:0){y=a[z>>0]|0;z=y<<24>>24;A=((y+-65&255)<26?z+32|0:z)&255}else A=16;a[i+768>>0]=A}A=c[484640]|0;if(A|0){z=(A|0)<255?A:255;A=Or((z|0)>0?z:0)|0;if((A|0)!=0?(bu(A)|0)==1:0){z=a[A>>0]|0;A=z<<24>>24;B=((z+-65&255)<26?A+32|0:A)&255}else B=16;a[i+770>>0]=B}}B=c[742805]|0;Bo(b,i,B,90-((bu(i)|0)<<1)|0,34,1,13)|0;i=c[742805]|0;Bo(b,k,i,90-((bu(k)|0)<<1)|0,44,1,13)|0;k=c[742805]|0;Bo(b,j,k,90-((bu(j)|0)<<1)|0,61,1,13)|0;j=c[742805]|0;Bo(b,n,j,90-((bu(n)|0)<<1)|0,72,1,13)|0;n=m+18|0;j=o+14|0;lm(b,0,0,n,j);k=m+26|0;lm(b,1,0,k,j);i=m+34|0;lm(b,2,0,i,j);B=m+42|0;lm(b,3,0,B,j);j=o+25|0;if(!(ml(4,0)|0))C=(kl(4,0)|0)>128&1;else C=1;Rn(c[(c[c[742804]>>2]|0)+(C+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;A=f+1|0;a[A>>0]=0;Bo(b,f,c[742805]|0,n,C+j|0,1,7)|0;C=m+26|0;if(!(ml(5,0)|0))D=(kl(5,0)|0)>128&1;else D=1;Rn(c[(c[c[742804]>>2]|0)+(D+247<<2)>>2]|0,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;Bo(b,f,c[742805]|0,C,D+j|0,1,7)|0;j=o+41|0;lm(b,0,1,n,j);lm(b,1,1,k,j);lm(b,2,1,i,j);lm(b,3,1,B,j);j=o+52|0;if(!(ml(4,1)|0))E=(kl(4,1)|0)>128&1;else E=1;Rn(c[(c[c[742804]>>2]|0)+(E+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;a[A>>0]=0;Bo(b,f,c[742805]|0,n,E+j|0,1,7)|0;if(ml(5,1)|0){F=1;G=c[742804]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;Rn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[742805]|0;M=F+j|0;Bo(b,f,L,C,M,1,7)|0;N=c[535611]|0;c[e>>2]=N;wt(1719968,92598,e)|0;O=c[742805]|0;P=m+5|0;Q=o+80|0;Bo(b,1719968,O,P,Q,1,13)|0;R=c[742804]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;Rn(U,b,0,0,Y,ba,W,$);Ia=d;return}F=(kl(5,1)|0)>128&1;G=c[742804]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;Rn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[742805]|0;M=F+j|0;Bo(b,f,L,C,M,1,7)|0;N=c[535611]|0;c[e>>2]=N;wt(1719968,92598,e)|0;O=c[742805]|0;P=m+5|0;Q=o+80|0;Bo(b,1719968,O,P,Q,1,13)|0;R=c[742804]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;Rn(U,b,0,0,Y,ba,W,$);Ia=d;return}function nm(b){b=b|0;var c=0,d=0,e=0,f=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((bu(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=d;d=b;do{if((c+-65&255)<26)a[d>>0]=(c&255)+32;d=d+1|0;c=a[d>>0]|0}while(c<<24>>24!=0);c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;c=b;do{if(tb(d<<24>>24)|0){if((a[c>>0]|0)==124){f=95;e=13}}else{f=32;e=13}if((e|0)==13){e=0;a[c>>0]=f}c=c+1|0;d=a[c>>0]|0}while(d<<24>>24!=0);return}function om(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+1056|0;b=a+1024|0;d=a;ds(94185,d);e=Fu(d,96789)|0;if(!e){Ia=a;return}d=c[382608]|0;if((d|0)>0){f=d;d=0;while(1){g=c[382341]|0;if((c[g+(d*696|0)+688>>2]|0)==1){h=c[g+(d*696|0)+644>>2]|0;c[b>>2]=g+(d*696|0)+388;c[b+4>>2]=g+(d*696|0)+516;c[b+8>>2]=h;c[b+12>>2]=g+(d*696|0)+132;c[b+16>>2]=g+(d*696|0)+260;c[b+20>>2]=g+(d*696|0)+4;_u(e,92813,b)|0;i=c[382608]|0}else i=f;d=d+1|0;if((d|0)>=(i|0))break;else f=i}}Lu(e)|0;Ia=a;return}function pm(){var a=0,b=0;a=Ia;Ia=Ia+1024|0;b=a;ds(94185,b);qm(1529360,b);Ia=a;return}function qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+528|0;f=e+520|0;g=e+512|0;h=e;i=Po(d,104528)|0;if(!i){c[g>>2]=d;wt(1715360,92852,g)|0;Cn(1715360);Ia=e;return}a:do if(!(No(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;So(h,511,i)|0;do if((a[h>>0]|0)==124){Bq(c[b>>2]|0,((c[g>>2]|0)*696|0)+696|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*696|0)|0;Wv(n|0,0,696)|0;m=n+688|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;Rs(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;Rs(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;Su(r,94793,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;Rs(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;Rs(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;Rs(n+4|0,q)|0;rm(n);r=sm(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(Ts(p,92808)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(No(i)|0))}while(0);Ro(i);Ia=e;return}function rm(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(bu(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(bu(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(bu(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(bu(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=g;i=e;do{if((h+-65&255)<26)a[i>>0]=(h&255)+32;i=i+1|0;h=a[i>>0]|0}while(h<<24>>24!=0);h=a[e>>0]|0;if(h<<24>>24){i=h;h=e;do{if(!((i+-97&255)<26|(i+-48&255)<10))a[h>>0]=95;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0)}}while(0);if((bu(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){i=f;while(1){h=(bu(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else i=h}h=i;g=e;do{if((h+-65&255)<26)a[g>>0]=(h&255)+32;g=g+1|0;h=a[g>>0]|0}while(h<<24>>24!=0);h=a[e>>0]|0;if(h<<24>>24){g=h;h=e;do{if(tb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(au(c,97411)|0))a[c>>0]=0;if(au(d,97411)|0)return;a[d>>0]=0;return}function sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*696|0)+388>>0]|0)==0:0)?(a[h+(j*696|0)+516>>0]|0)==0:0)?(au(e,h+(j*696|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*696|0)+388|0;if(!(au(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*696|0)+516>>0]|0)==0:0)?(au(e,h+(j*696|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ia;Ia=Ia+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;ds(92888,i);hs(i)|0;c[g>>2]=(a|0)/1e4|0;wt(h,92892,g)|0;ds(h,i);hs(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;wt(1563808,92914,e)|0;Ia=d;return 1563808}else{c[f>>2]=i;c[f+4>>2]=a;wt(1563808,92900,f)|0;Ia=d;return 1563808}return 0}function um(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1563808]=0;Ia=e;return 1563808}c[j>>2]=0;l=bu(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=1;n=m;while(1){o=((a[b+k>>0]|0)+-48&255)>9?0:n;p=k+1|0;if(p>>>0<l>>>0){k=p;n=o}else{q=p;r=o;break}}}else{q=1;r=m}c[j>>2]=q;if(r|0){c[j>>2]=0;c[h>>2]=j;Su(b,94793,h)|0;tm(c[j>>2]|0,d)|0;Ia=e;return 1563808}ds(92888,i);hs(i)|0;ds(92926,i);hs(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;wt(1563808,92951,f)|0;Ia=e;return 1563808}else{c[g>>2]=i;c[g+4>>2]=b;wt(1563808,92936,g)|0;Ia=e;return 1563808}return 0}function vm(a){a=a|0;um(a,0)|0;return 1563808}function wm(a){a=a|0;um(a,1)|0;return 1563808}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;if((bu(d)|0)>>>0<2){a[1564832]=0;Ia=e;return 1564832}else{g=c[484713]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;wt(1564832,92964,f)|0;Ia=e;return 1564832}return 0}function ym(a,b){a=a|0;b=b|0;return (sm(1529360,a,b)|0)!=-1|0}function zm(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(Ts(b,92808)|0)){e=ys(b)|0;if(!e){d=0;return d|0}f=e+45856|0;if(!(c[f>>2]|0)){d=0;return d|0}e=Sn(128,128,8)|0;Gp(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=ap(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=Sn(128,128,32)|0;f=Sn(128,128,8)|0;Gp(e,b,16,24,0,0,128,128);Qk(b,f,c[742761]|0);Tn(e)|0;Tn(b)|0;d=f;return d|0}function Am(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+16|0;e=d;c[554438]=b;c[554439]=0;c[554440]=0;if((b|0)==1){Rs(1546884,93030)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=1;g=f+1|0;c[554439]=g;Rs(1546880+(g*68|0)+4|0,93039)|0;g=c[554439]|0;c[1546880+(g*68|0)>>2]=5;f=g+1|0;c[554439]=f;g=1546880+(f*68|0)+4|0;if(1==1)Rs(g,93047)|0;else Rs(g,93070)|0;g=c[554439]|0;c[1546880+(g*68|0)>>2]=3;f=g+1|0;c[554439]=f;g=1529360;h=c[382609]|0;do if((h|0)>=0?(c[382608]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+688>>2]|0)==1){if((c[382608]|0)<=(h|0)){Wv(2218468,0,696)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+388>>0]|0){if((c[382608]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0;else{Wv(2218468,0,696)|0;j=2218468}c[e>>2]=j+132;wt(1719968,93080,e)|0;Rs(1546880+((c[554439]|0)*68|0)+4|0,1719968)|0;k=c[554439]|0;c[1546880+(k*68|0)>>2]=19;l=k+1|0;c[554439]=l;Rs(1546880+(l*68|0)+4|0,93093)|0;l=c[554439]|0;c[1546880+(l*68|0)>>2]=20;k=l+1|0;c[554439]=k;Rs(1546880+(k*68|0)+4|0,93107)|0;k=c[554439]|0;c[1546880+(k*68|0)>>2]=21;l=k+1|0;c[554439]=l;Rs(1546880+(l*68|0)+4|0,93125)|0;l=c[554439]|0;c[1546880+(l*68|0)>>2]=18;k=l+1|0;c[554439]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Wv(2218468,0,696)|0;i=f}Rs(1546880+(i*68|0)+4|0,93148)|0;i=c[554439]|0;c[1546880+(i*68|0)>>2]=6;f=i+1|0;c[554439]=f;n=c[554438]|0;o=f}else{n=b;o=0}if((n|0)==4){Rs(1546880+(o*68|0)+4|0,93155)|0;b=c[554439]|0;c[1546880+(b*68|0)>>2]=16;f=b+1|0;c[554439]=f;Rs(1546880+(f*68|0)+4|0,93165)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=17;b=f+1|0;c[554439]=b;Rs(1546880+(b*68|0)+4|0,93177)|0;b=c[554439]|0;c[1546880+(b*68|0)>>2]=18;f=b+1|0;c[554439]=f;Rs(1546880+(f*68|0)+4|0,93193)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=6;b=f+1|0;c[554439]=b;p=c[554438]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ia=d;return}Rs(1546880+(q*68|0)+4|0,93198)|0;q=c[554439]|0;c[1546880+(q*68|0)>>2]=32;p=q+1|0;c[554439]=p;Rs(1546880+(p*68|0)+4|0,93205)|0;p=c[554439]|0;c[1546880+(p*68|0)>>2]=33;q=p+1|0;c[554439]=q;Rs(1546880+(q*68|0)+4|0,93216)|0;q=c[554439]|0;c[1546880+(q*68|0)>>2]=34;p=q+1|0;c[554439]=p;Rs(1546880+(p*68|0)+4|0,93193)|0;p=c[554439]|0;c[1546880+(p*68|0)>>2]=6;c[554439]=p+1;Ia=d;return}function Bm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1529360;h=c[382609]|0;do if((h|0)<0)Wv(2218468,0,696)|0;else{if((c[382608]|0)<=(h|0)){Wv(2218468,0,696)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0)){Ia=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+688>>2]|0)!=1){Ia=b;return}if((c[382608]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+388|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0}else{Wv(2218468,0,696)|0;i=2218856;j=2218468}k=Fm(i,j+260|0)|0;if(k|0){l=c[382609]|0;if((l|0)>=0?(c[382608]|0)>(l|0):0)m=(c[(c[382340]|0)+12>>2]|0)+(l*696|0)|0;else{Wv(2218468,0,696)|0;m=2218468}Vv(k|0,m|0,696)|0;l=k+652|0;c[l>>2]=Sn(128,128,8)|0;n=1529360;o=c[382609]|0;if((o|0)>=0?(c[382608]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*696|0)+652>>2]|0){if((c[382608]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*696|0)+652>>2]|0;else{Wv(2218468,0,696)|0;p=0}Gp(p,c[l>>2]|0,0,0,0,0,128,128)}}else Wv(2218468,0,696)|0;o=k+388|0;if(a[o>>0]|0?(ds(93009,e),c[d>>2]=e,c[d+4>>2]=o,wt(f,93021,d)|0,(Gr(f)|0)==0):0)bp(f,c[l>>2]|0)|0;Gm(k)}k=1530436;l=c[k>>2]|0;o=1530432;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1529364;r=0;do{k=c[n>>2]|0;q=k+(r*696|0)+692|0;c[q>>2]=0;c[q>>2]=(sm(1529360,k+(r*696|0)+388|0,k+(r*696|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}om();Ia=b;return}while(0);Wv(2218468,0,696)|0;Ia=b;return}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;wt(l,93277,i)|0;ds(l,k);c[h>>2]=b;wt(l,93297,h)|0;ds(l,1941192)}else{c[j>>2]=b;wt(l,93255,j)|0;ds(l,k);a[1941192]=0}l=c[484711]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=93381;c[g+12>>2]=101;c[g+16>>2]=l;wt(m,93312,g)|0;if(c[484717]|0){Ia=f;return}Rs(1939144,m)|0;Rs(1940168,k)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=0;ms(1939144,1940168,2,3)|0;Ia=f;return}function Dm(a){a=a|0;var b=0;if(!(c[484717]|0))return;if(Gr(1940168)|0)if(Ts(1940168,92808)|0){a=ap(1940168)|0;if(!a)b=3;else{Tn(a)|0;b=2}}else b=2;else b=3;c[484717]=b;return}function Em(a){a=a|0;if(!(c[484717]|0))return;c[484717]=3;return}function Fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=sm(1529360,b,d)|0;if((e|0)!=-1){Tn(c[(c[382341]|0)+(e*696|0)+652>>2]|0)|0;f=(c[382608]|0)+-1|0;g=c[382341]|0;if((e|0)<(f|0)){h=g;i=e;while(1){e=i;i=i+1|0;Vv(h+(e*696|0)|0,h+(i*696|0)|0,696)|0;e=(c[382608]|0)+-1|0;j=c[382341]|0;if((i|0)>=(e|0)){k=j;l=e;break}else h=j}}else{k=g;l=f}Wv(k+(l*696|0)|0,0,696)|0;c[382608]=(c[382608]|0)+-1;m=0;return m|0}Bq(c[382340]|0,((c[382608]|0)*696|0)+696|0)|0;l=c[(c[382340]|0)+12>>2]|0;c[382341]=l;k=c[382608]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*696|0)+688>>2]|0)==1){n=l;break a}h=l+1|0;if((h|0)<(k|0))l=h;else{n=h;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Vv(f+(k*696|0)|0,f+(l*696|0)|0,696)|0;if((l|0)>(n|0)){f=l;do{l=c[382341]|0;h=f;f=f+-1|0;Vv(l+(h*696|0)|0,l+(f*696|0)|0,696)|0}while((f|0)>(n|0))}o=c[(c[382340]|0)+12>>2]|0;p=c[382608]|0}else{o=g;p=k}c[382608]=p+1;p=o+(n*696|0)|0;Wv(p|0,0,696)|0;c[p+688>>2]=1;Rs(p+388|0,b)|0;if(!d){m=p;return m|0}Rs(p+260|0,d)|0;if(!(a[d>>0]|0)){m=p;return m|0}b=p+4|0;if(a[b>>0]|0){m=p;return m|0}Zo(d,0,b,0);d=bu(b)|0;if(d>>>0<=3){m=p;return m|0}b=d+-3+(p+4)|0;if((a[b>>0]|0)!=46){m=p;return m|0}a[b>>0]=0;m=p;return m|0}function Gm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ia;Ia=Ia+1024|0;f=e;Wv(f|0,0,1024)|0;g=c[b+652>>2]|0;if(!g){Ia=e;return}h=b+656|0;if(a[h>>0]|0){Ia=e;return}i=b+657|0;if(a[i>>0]|0){Ia=e;return}j=16384;k=c[g+12>>2]|0;while(1){g=f+(d[k>>0]<<2)|0;c[g>>2]=(c[g>>2]|0)+1;j=j+-1|0;if(!j)break;else k=k+1|0}a[h>>0]=0;a[i>>0]=1;a[b+658>>0]=2;a[b+659>>0]=3;a[b+660>>0]=4;a[b+661>>0]=5;a[b+662>>0]=6;a[b+663>>0]=7;a[b+664>>0]=8;a[b+665>>0]=9;a[b+666>>0]=10;a[b+667>>0]=11;a[b+668>>0]=12;a[b+669>>0]=13;a[b+670>>0]=14;a[b+671>>0]=15;c[f>>2]=16384;i=f+4|0;c[i>>2]=16384;h=f+24|0;c[h>>2]=16384;k=f+28|0;c[k>>2]=16384;j=f+8|0;g=f+12|0;l=f+16|0;m=f+20|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[j>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[g>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+672+v>>0]=x;a[b+656+x>>0]=w}v=v+1|0}while((v|0)!=16);Ia=e;return}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ia;Ia=Ia+1872|0;f=e+1048|0;g=e+1040|0;h=e+1032|0;i=e+1024|0;j=e+1056|0;k=e;l=(au(3116712,93432)|0)==0;m=b+1080|0;c[m>>2]=0;if(l|(bu(3116712)|0)!=0){n=b+1072|0;Bq(c[b>>2]|0,((c[n>>2]|0)*696|0)+696|0)|0;o=c[(c[b>>2]|0)+12>>2]|0;p=b+4|0;c[p>>2]=o;q=c[n>>2]|0;c[n>>2]=q+1;r=o+(q*696|0)|0;Wv(r+4|0,0,692)|0;c[r>>2]=185;a[r+388>>0]=0;Rs(r+4|0,96845)|0;c[r+652>>2]=0;c[r+688>>2]=2;Bq(c[b>>2]|0,((c[n>>2]|0)*696|0)+696|0)|0;r=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=r;p=c[n>>2]|0;c[n>>2]=p+1;n=r+(p*696|0)|0;Wv(n+4|0,0,692)|0;c[n>>2]=178;a[n+388>>0]=0;Rs(n+4|0,93441)|0;s=7;t=n}else{c[m>>2]=1;m=b+1072|0;Bq(c[b>>2]|0,((c[m>>2]|0)*696|0)+696|0)|0;n=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=n;p=c[m>>2]|0;c[m>>2]=p+1;m=n+(p*696|0)|0;Wv(m+4|0,0,692)|0;c[m>>2]=178;a[m+388>>0]=0;Rs(m+4|0,93451)|0;s=2;t=m}c[t+652>>2]=0;c[t+688>>2]=s;c[i>>2]=3115688;c[i+4>>2]=d;wt(k,104363,i)|0;if(l){c[h>>2]=3115688;c[h+4>>2]=d;wt(k,104363,h)|0;ds(92926,k)}if(!(Dr(k,97321,j,-1)|0)){h=j+256|0;d=j+512|0;i=j+516|0;s=b+1072|0;t=b+4|0;m=j+520|0;if(l){do do if((a[h>>0]|0)!=46){if(!(Ts(h,93459)|0)){if(!((c[d>>2]&16384|0)!=0&(c[i>>2]|0)>64))break}else if((c[i>>2]|0)<=64)break;Bq(c[b>>2]|0,((c[s>>2]|0)*696|0)+696|0)|0;p=c[(c[b>>2]|0)+12>>2]|0;c[t>>2]=p;n=c[s>>2]|0;c[s>>2]=n+1;r=p+(n*696|0)|0;Wv(r|0,0,696)|0;c[g>>2]=3116712;c[g+4>>2]=h;wt(k,104363,g)|0;n=r+260|0;kv(n,k,128)|0;c[r+652>>2]=0;p=r+688|0;c[p>>2]=1;q=r+388|0;a[q>>0]=0;c[r+648>>2]=c[m>>2];kv(q,h,(bu(h)|0)+-7|0)|0;if(!(c[d>>2]&16384))u=r+4|0;else{c[r>>2]=181;q=r+4|0;Rs(q,h)|0;c[p>>2]=2;u=q}if(((a[u>>0]|0)==0?(Zo(n,0,u,0),n=bu(u)|0,n>>>0>3):0)?(q=n+-3+(r+4)|0,(a[q>>0]|0)==46):0)a[q>>0]=0}while(0);while(!(Er(j)|0));v=t;w=s}else{do do if((a[h>>0]|0)!=46){if(!(Ts(h,93459)|0)){if(!((c[d>>2]&16384|0)!=0&(c[i>>2]|0)>64))break}else if((c[i>>2]|0)<=64)break;Bq(c[b>>2]|0,((c[s>>2]|0)*696|0)+696|0)|0;u=c[(c[b>>2]|0)+12>>2]|0;c[t>>2]=u;g=c[s>>2]|0;c[s>>2]=g+1;q=u+(g*696|0)|0;Wv(q|0,0,696)|0;c[f>>2]=3116712;c[f+4>>2]=h;wt(k,104363,f)|0;g=q+260|0;kv(g,k,128)|0;c[q+652>>2]=0;u=q+688|0;c[u>>2]=1;a[q+388>>0]=0;c[q+648>>2]=c[m>>2];if(!(c[d>>2]&16384))x=q+4|0;else{c[q>>2]=181;r=q+4|0;Rs(r,h)|0;c[u>>2]=2;x=r}if(((a[x>>0]|0)==0?(Zo(g,0,x,0),g=bu(x)|0,g>>>0>3):0)?(r=g+-3+(q+4)|0,(a[r>>0]|0)==46):0)a[r>>0]=0}while(0);while(!(Er(j)|0));v=t;w=s}}else{v=b+4|0;w=b+1072|0}s=c[v>>2]|0;t=c[w>>2]|0;if(l)cu(s,t,696,2);else cu(s,t,696,3);if((b|0)==1529360){Ia=e;return}if((c[w>>2]|0)<=0){Ia=e;return}b=0;do{t=c[v>>2]|0;s=t+(b*696|0)+692|0;c[s>>2]=0;c[s>>2]=(sm(1529360,t+(b*696|0)+388|0,t+(b*696|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[w>>2]|0));Ia=e;return}function Im(a){a=a|0;var b=0,d=0;b=Mp(a)|0;if(!b)return 0;if((bu(Lp(b,93404,0)|0)|0)>>>0<2){Kp(b);return 0}a=c[382609]|0;if((a|0)>=0?(c[382608]|0)>(a|0):0)d=(c[(c[382340]|0)+12>>2]|0)+(a*696|0)|0;else{Wv(2218468,0,696)|0;d=2218468}Km(d,b);om();Kp(b);return 0}function Jm(b){b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;if(b|0?(bu(b)|0)>>>0>=2:0){if((bu(b)|0)>>>0<2)a[1564832]=0;else{f=c[484713]|0;c[e>>2]=3196396;c[e+4>>2]=f;c[e+8>>2]=b;wt(1564832,92964,e)|0}um(b,0)|0;if(c[484717]|0){Ia=d;return}Rs(1939144,1564832)|0;Rs(1940168,1563808)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=0;ms(1939144,1940168,2,3)|0;Ia=d;return}c[484717]=0;fb(93388,1500);c[780903]=0;Ia=d;return}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Ia=d;return}if((bu(Lp(b,93404,0)|0)|0)>>>0<2){Ia=d;return}Wv(a|0,0,696)|0;Rs(a+4|0,Lp(b,93408,0)|0)|0;Rs(a+132|0,Lp(b,93414,0)|0)|0;Rs(a+388|0,Lp(b,93404,0)|0)|0;Rs(a+516|0,Lp(b,93421,0)|0)|0;f=a+644|0;c[f>>2]=0;g=Lp(b,93425,0)|0;c[e>>2]=f;Su(g,94793,e)|0;c[a+688>>2]=1;rm(a);Ia=d;return}function Lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+4|0;f=(a[e>>0]|0)==91;do if(f)if((a[d+4>>0]|0)==91){g=a[b+5>>0]|0;break}else{h=-1;return h|0}else{i=a[b+5>>0]|0;if(f|i<<24>>24!=91)g=i;else{h=1;return h|0}}while(0);i=(c[b+688>>2]|0)==2;j=(c[d+688>>2]|0)==2;if(i)if(j)k=1;else{h=-1;return h|0}else if(i|j^1)k=j;else{h=1;return h|0}j=(c[d+648>>2]|0)-(c[b+648>>2]|0)|0;if(j|0){h=j;return h|0}j=d+4|0;l=au(e,j)|0;if(f){if((a[j>>0]|0)!=91){h=-1;return h|0}}else if(g<<24>>24==91){h=1;return h|0}if(i){if(!k){h=-1;return h|0}}else if(k){h=1;return h|0}h=(l|0)==0?(b>>>0<d>>>0?1:-1):l;return h|0}function Mm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;f=d+4|0;g=au(e,f)|0;h=(a[e>>0]|0)==91;if(h){if((a[f>>0]|0)!=91){i=-1;return i|0}}else if(!(h|(a[b+5>>0]|0)!=91)){i=1;return i|0}h=(c[b+688>>2]|0)==2;f=c[d+688>>2]|0;if(h){if((f|0)!=2){i=-1;return i|0}}else if(!(h|(f|0)!=2)){i=1;return i|0}return ((g|0)==0?(b>>>0<d>>>0?1:-1):g)|0}function Nm(){return}function Om(a,b,d){a=a|0;b=b|0;d=d|0;if(c[484717]|0)return;Rs(1939144,a)|0;Rs(1940168,b)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=d;ms(1939144,1940168,2,3)|0;return}function Pm(a){a=a|0;c[484717]=0;if(a|0)fb(a,1500);c[780903]=0;return}function Qm(){return 101}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ia;Ia=Ia+48|0;g=f+24|0;h=f+16|0;i=f;j=f+36|0;k=f+32|0;l=f+28|0;m=ap(d)|0;d=b+8|0;n=(au(c[d>>2]|0,92689)|0)==0;o=n^1;p=b+1080|0;c[p>>2]=0;q=(e|0)!=0;do if(q)r=15;else{if(!m){e=b+1072|0;if((c[e>>2]|0)==0&o){s=e;r=6}else{t=1;Ia=f;return t|0}}else{if(n)break;e=b+1072|0;u=c[e>>2]|0;if((u|0)>0){v=b+4|0;w=u;u=0;while(1){x=c[(c[v>>2]|0)+(u*696|0)+652>>2]|0;if(!x)y=w;else{Tn(x)|0;y=c[e>>2]|0}u=u+1|0;if((u|0)>=(y|0)){z=v;A=e;break}else w=y}}else{s=e;r=6}}if((r|0)==6){z=b+4|0;A=s}c[A>>2]=0;Bq(c[b>>2]|0,696)|0;w=c[(c[b>>2]|0)+12>>2]|0;c[z>>2]=w;v=c[A>>2]|0;c[A>>2]=v+1;u=w+(v*696|0)|0;Wv(u+4|0,0,692)|0;c[u>>2]=178;a[u+388>>0]=0;v=u+4|0;if(!(au(c[d>>2]|0,92682)|0)){Rs(v,93463)|0;B=6}else{Rs(v,93472)|0;B=3}c[p>>2]=1;c[u+688>>2]=B;c[u+652>>2]=0;r=15}while(0);if((r|0)==15){if(!m){t=1;Ia=f;return t|0}if((q?(q=b+1072|0,B=c[q>>2]|0,(B|0)>0):0)?(p=c[b+4>>2]|0,d=B+-1|0,(c[p+(d*696|0)+688>>2]|0)==5):0){Wv(p+(d*696|0)|0,0,696)|0;c[q>>2]=(c[q>>2]|0)+-1}}if((c[m>>2]|0)==1024?(c[m+4>>2]|0)==544:0){q=m+16|0;d=b+1072|0;p=b+4|0;B=0;A=0;while(1){z=(B>>>3)*136|0;s=B<<7&896;y=(c[(c[q>>2]|0)+(z+128<<2)>>2]|0)+(s<<2)+1|0;c[l>>2]=0;c[k>>2]=0;c[j>>2]=0;Wv(1565856,0,1024)|0;n=0;do{a[1565856+n>>0]=a[y+(n<<2)>>0]|0;n=n+1|0}while((n|0)!=128);c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=l;Su(1565856,93481,i)|0;if(!(c[j>>2]|0))C=1;else{Bq(c[b>>2]|0,((c[d>>2]|0)*696|0)+696|0)|0;n=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=n;e=c[d>>2]|0;c[d>>2]=e+1;o=n+(e*696|0)|0;Wv(o|0,0,696)|0;c[o+644>>2]=c[l>>2];e=y+(c[m>>2]<<2)|0;Wv(1565856,0,1024)|0;n=0;do{a[1565856+n>>0]=a[e+(n<<2)>>0]|0;n=n+1|0}while((n|0)!=128);n=o+4|0;kv(n,1565856,128)|0;e=y+(c[m>>2]<<3)|0;Wv(1565856,0,1024)|0;u=0;do{a[1565856+u>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=128);u=o+132|0;kv(u,1565856,128)|0;e=y+((c[m>>2]|0)*12|0)|0;Wv(1565856,0,1024)|0;v=0;do{a[1565856+v>>0]=a[e+(v<<2)>>0]|0;v=v+1|0}while((v|0)!=128);v=o+388|0;kv(v,1565856,128)|0;e=y+(c[m>>2]<<4)|0;Wv(1565856,0,1024)|0;w=0;do{a[1565856+w>>0]=a[e+(w<<2)>>0]|0;w=w+1|0}while((w|0)!=128);w=o+516|0;kv(w,1565856,128)|0;if(!(a[v>>0]|0)){c[h>>2]=c[j>>2];wt(v,94793,h)|0}if(!(a[w>>0]|0)){c[g>>2]=c[k>>2];wt(w,94793,g)|0}w=a[n>>0]|0;a:do if(w<<24>>24){e=w;while(1){y=n+((bu(n)|0)+-1)|0;if((a[y>>0]|0)!=32)break;a[y>>0]=0;y=a[n>>0]|0;if(!(y<<24>>24))break a;else e=y}y=e;x=n;do{if((y+-65&255)<26)a[x>>0]=(y&255)+32;x=x+1|0;y=a[x>>0]|0}while(y<<24>>24!=0);y=a[n>>0]|0;if(y<<24>>24){x=y;y=n;do{if(tb(x<<24>>24)|0){if((a[y>>0]|0)==124){D=95;r=51}}else{D=32;r=51}if((r|0)==51){r=0;a[y>>0]=D}y=y+1|0;x=a[y>>0]|0}while(x<<24>>24!=0)}}while(0);n=a[u>>0]|0;b:do if(n<<24>>24){w=n;while(1){x=u+((bu(u)|0)+-1)|0;if((a[x>>0]|0)!=32)break;a[x>>0]=0;x=a[u>>0]|0;if(!(x<<24>>24))break b;else w=x}x=w;y=u;do{if((x+-65&255)<26)a[y>>0]=(x&255)+32;y=y+1|0;x=a[y>>0]|0}while(x<<24>>24!=0);x=a[u>>0]|0;if(x<<24>>24){y=x;x=u;do{if(!((y+-97&255)<26|(y+-48&255)<10))a[x>>0]=95;x=x+1|0;y=a[x>>0]|0}while(y<<24>>24!=0)}}while(0);if((bu(u)|0)>>>0>16)a[u+16>>0]=0;c[o+688>>2]=1;if(!(c[554441]|0))Wv(1547424,0,16384)|0;c[554441]=1;if((bu(v)|0)>>>0>=2?(um(v,0)|0,(Gr(1563808)|0)==0):0){ku(1547424+(c[554442]<<6)|0,v)|0;c[554442]=((c[554442]|0)+1|0)%256|0}n=Sn(128,128,32)|0;y=o+652|0;c[y>>2]=Sn(128,128,8)|0;Gp(m,n,s,z,0,0,128,128);Qk(n,c[y>>2]|0,c[742761]|0);Tn(n)|0;Gm(o);C=A}B=B+1|0;if((B|0)==32)break;else A=C}A=c[d>>2]|0;if((C|0)==0&(A|0)>1){Bq(c[b>>2]|0,(A*696|0)+696|0)|0;A=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=A;C=c[d>>2]|0;c[d>>2]=C+1;B=A+(C*696|0)|0;Wv(B+4|0,0,692)|0;c[B>>2]=178;a[B+388>>0]=0;Rs(B+4|0,93490)|0;C=B+652|0;c[C>>2]=0;c[C>>2]=Sn(128,128,8)|0;c[B+688>>2]=5}Tn(m)|0;c[b+1084>>2]=0;if((b|0)==1529360){t=0;Ia=f;return t|0}if((c[d>>2]|0)<=0){t=0;Ia=f;return t|0}b=0;do{B=c[p>>2]|0;C=B+(b*696|0)+692|0;c[C>>2]=0;c[C>>2]=(sm(1529360,B+(b*696|0)+388|0,B+(b*696|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[d>>2]|0));t=0;Ia=f;return t|0}Tn(m)|0;t=2;Ia=f;return t|0}function Sm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Mp(b)|0;if(!d){e=0;return e|0}um(Lp(d,93404,0)|0,0)|0;f=(bu(Lp(d,93404,0)|0)|0)>>>0<2;Kp(d);if(f|(c[798799]|0)==0){e=0;return e|0}if(Eg()|0){e=0;return e|0}f=c[382609]|0;if((f|0)>=0?(c[382608]|0)>(f|0):0){if(!(a[(c[(c[382340]|0)+12>>2]|0)+(f*696|0)+132>>0]|0))g=8}else{Wv(2218468,0,696)|0;g=8}if((g|0)==8)Im(b)|0;if(!(au(1563808,3118768)|0)){e=0;return e|0}b=bu(1563808)|0;g=1563808+b|0;a:do if((b|0)>0){f=g;while(1){if((a[f>>0]|0)==45){h=f;break a}d=f+-1|0;if(d>>>0>1563808>>>0)f=d;else{h=d;break}}}else h=g;while(0);if(tt(1563808,3118768,h-1563808|0)|0){e=0;return e|0}c[485559]=1;e=1;return e|0}function Tm(){return c[382614]|0}function Um(b){b=b|0;var d=0,e=0,f=0;d=1530460+(c[382631]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?58:97;a[d>>0]=f;return}else{f=a[93502+((40-b+(e<<24>>24==58?39:e<<24>>24==45?38:e<<24>>24==95?37:e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%40|0)>>0]|0;a[d>>0]=f;return}}function Vm(){Xr()|0;return}function Wm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=c[382614]|0;if(g|0){h=bu(1530460)|0;do if((g|0)==1){if((qo(82)|0)!=3?(qo(81)|0)!=3:0){if((c[382614]|0)!=1)break;if(!((b|0)==13|(tb(b)|0)!=0))break;c[382614]=2;break}c[382614]=3}while(0);g=(b|0)==-1;if(g){if((qo(80)|0)==3){i=bu(1530460)|0;j=1530524;k=(c[j>>2]|0)+-1|0;l=(k|0)<(i|0)?k:i;c[j>>2]=(l|0)>0?l:0}if((qo(79)|0)==3){l=bu(1530460)|0;j=1530524;i=c[j>>2]|0;if((i|0)==(l|0)&(i|0)<21){a[1530460+l>>0]=32;k=(c[j>>2]|0)+1|0;c[j>>2]=k;a[1530460+k>>0]=0;m=c[j>>2]|0;n=l+1|0}else{m=i;n=l}l=m+1|0;m=(l|0)<(n|0)?l:n;c[j>>2]=(m|0)>0?m:0}}else if((b|0)==27)c[382614]=0;a:do if((c[382614]|0)==2){if((h|0)<22&(tb(b)|0)!=0){m=1530524;j=c[m>>2]|0;if((j|0)<22){n=22;do{l=n;n=n+-1|0;a[1530460+l>>0]=a[1530460+n>>0]|0;l=c[m>>2]|0}while((n|0)>(l|0));o=l}else o=j;a[1530482]=0;a[1530460+o>>0]=b;c[m>>2]=(c[m>>2]|0)+1;c[382614]=2;break}switch(b|0){case 8:case 127:{p=26;break}default:if((qo(76)|0)==3)p=26}if((p|0)==26?(c[382631]|0)>0:0){n=(qo(76)|0)==3;l=1530524;i=c[l>>2]|0;if(n)q=i;else{n=i+-1|0;c[l>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){l=n;n=n+1|0;a[1530460+l>>0]=a[1530460+n>>0]|0;if((l|0)>=21)break a}}if((b|0)==13){c[f>>2]=1530460;wt(1529372,93232,f)|0;Cm(c[382342]|0,1529372,0);Rs(1530400,1530460)|0;c[382614]=0;nl();break}if(g){if((qo(80)|0)==3){n=bu(1530460)|0;m=1530524;j=(c[m>>2]|0)+-1|0;l=(j|0)<(n|0)?j:n;c[m>>2]=(l|0)>0?l:0}if((qo(79)|0)==3){l=bu(1530460)|0;m=1530524;n=c[m>>2]|0;if((n|0)==(l|0)&(n|0)<21){a[1530460+l>>0]=32;j=(c[m>>2]|0)+1|0;c[m>>2]=j;a[1530460+j>>0]=0;r=c[m>>2]|0;s=l+1|0}else{r=n;s=l}l=r+1|0;n=(l|0)<(s|0)?l:s;c[m>>2]=(n|0)>0?n:0}}}while(0);if((c[382614]|0)!=3){Ia=d;return}if(ml(2,0)|0)Um(-1);if(ml(3,0)|0)Um(1);if(!((ml(4,0)|0)==0?!(ml(5,0)|0):0)){c[e>>2]=1530460;wt(1529372,93232,e)|0;Cm(c[382342]|0,1529372,0);Rs(1530400,1530460)|0;c[382614]=0;nl()}if(!(ml(6,0)|0)){Ia=d;return}c[382614]=0;c[781181]=1;fb(93543,1e3);Ia=d;return}do if((b|0)==27){if((c[484717]|0)>0){c[484717]=0;fb(93553,1500);c[780903]=0;p=63;break}e=c[554438]|0;s=(e|0)==0;if((c[484608]|0)!=0&s){r=(c[554791]|0)==0&1;c[554791]=r;t=r;break}if(s){c[798799]=0;Tg();p=63;break}if((e|0)==1){c[554438]=0;p=63;break}if((e|1|0)==5){c[554438]=1;u=1}else u=e;Am(u);p=63}else p=63;while(0);if((p|0)==63)t=c[554791]|0;if(t|0){Ia=d;return}if(!((b|0)!=102|1==1))if(!(ll(9)|0)){Bm();Xr()|0;p=69}else p=69;else switch(b|0){case 8:case 127:{v=1;p=71;break}default:p=69}if((p|0)==69)if((qo(76)|0)==3?(ll(76)|0)==0:0){v=1;p=71}else p=73;if((p|0)==71){b=c[554438]|0;if((v|0)==1&(b|0)==0){Bm();Xr()|0;p=73}else w=b}if((p|0)==73)w=c[554438]|0;p=(qo(75)|0)!=0;if(!w){if(p?(ll(75)|0)==0:0){w=1530436;b=(c[w>>2]|0)+-6|0;v=c[382608]|0;t=(v|0)<1?0:v+-1|0;v=(b|0)<(t|0)?b:t;c[w>>2]=(v|0)>0?v:0}if(qo(78)|0?(ll(78)|0)==0:0){v=1530436;w=(c[v>>2]|0)+6|0;t=c[382608]|0;b=(t|0)<1?0:t+-1|0;t=(w|0)<(b|0)?w:b;c[v>>2]=(t|0)>0?t:0}if(qo(74)|0?(ll(74)|0)==0:0)c[382609]=0;if(!(qo(77)|0)){Ia=d;return}if(ll(77)|0){Ia=d;return}t=c[382608]|0;v=t+-1|0;b=(t|0)<1?0:v;t=(v|0)<(b|0)?v:b;c[382609]=(t|0)>0?t:0;Ia=d;return}else{if(p?(ll(75)|0)==0:0){p=(c[554440]|0)+-4|0;t=(c[554439]|0)+-1|0;b=(p|0)<(t|0)?p:t;c[554440]=(b|0)>0?b:0}if(qo(78)|0?(ll(78)|0)==0:0){b=(c[554440]|0)+4|0;t=(c[554439]|0)+-1|0;p=(b|0)<(t|0)?b:t;c[554440]=(p|0)>0?p:0}if(qo(74)|0?(ll(74)|0)==0:0)c[554440]=0;if(!(qo(77)|0)){Ia=d;return}if(ll(77)|0){Ia=d;return}c[554440]=(c[554439]|0)+-1;Ia=d;return}}function Xm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+2064|0;d=b+2048|0;e=b+1024|0;f=b;if(c[554792]|0){Ia=b;return}c[554792]=1;Wv(2217772,0,696)|0;Cn(93572);if(c[554437]|0){Ia=b;return}c[554437]=8;Wv(1528192,0,18688)|0;g=0;do{h=Aq(696)|0;i=1528192+(g*1168|0)|0;c[i>>2]=h;j=c[h+12>>2]|0;c[1528192+(g*1168|0)+4>>2]=j;Wv(j|0,0,696)|0;c[1528192+(g*1168|0)+1080>>2]=0;c[1528192+(g*1168|0)+1084>>2]=0;Rs(1528192+(g*1168|0)+1040|0,c[3632+(g<<2)>>2]|0)|0;j=1528192+(g*1168|0)+1036|0;c[j>>2]=g+187;h=c[3664+(g<<2)>>2]|0;c[1528192+(g*1168|0)+8>>2]=h;if(c[484609]|0)c[j>>2]=178;switch(g&2147483647|0){case 0:{j=1528192+(g*1168|0)+12|0;a[j>>0]=0;Rs(j,c[3696+(g<<2)>>2]|0)|0;break}case 1:{ds(94185,f);qm(i,f);j=1528192+(g*1168|0)+12|0;a[j>>0]=0;Rs(j,c[3696+(g<<2)>>2]|0)|0;Rs(j,93585)|0;break}default:{c[d>>2]=h;wt(e,93297,d)|0;ds(e,f);Rm(i,f,0)|0;i=1528192+(g*1168|0)+12|0;a[i>>0]=0;Rs(i,c[3696+(g<<2)>>2]|0)|0;if((g|0)==7)Rs(i,3196396)|0}}g=g+1|0}while((g|0)<(c[554437]|0));Ia=b;return}function Ym(){var a=0,b=0,d=0,e=0,f=0,g=0;Xm();c[485554]=0;a=c[382316]|0;if((a|0)>0){b=a;a=0;while(1){d=c[(c[382049]|0)+(a*696|0)+652>>2]|0;if(!d)e=b;else{Tn(d)|0;e=c[382316]|0}a=a+1|0;if((a|0)>=(e|0))break;else b=e}}c[382316]=0;Hm(1528192,3116712);e=1530436;b=c[e>>2]|0;a=1530432;d=c[a>>2]|0;f=(d|0)<1?0:d+-1|0;g=(b|0)<(f|0)?b:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(d|0)>0)){Xr()|0;c[554791]=0;return}d=1529364;g=0;do{e=c[d>>2]|0;f=e+(g*696|0)+692|0;c[f>>2]=0;c[f>>2]=(sm(1529360,e+(g*696|0)+388|0,e+(g*696|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[a>>2]|0));Xr()|0;c[554791]=0;return}function Zm(){return}function _m(a){a=a|0;Km(2217772,a);return}function $m(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1024|0;d=b;a[1566880]=0;Zo(3118768,0,d,0);Rs(1566880,d)|0;if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0)Rs(1566880,2217776)|0;Rs(1566880,_a()|0)|0;d=a[1566880]|0;if(!(d<<24>>24)){Rs(1566880,93616)|0;e=a[1566880]|0;if(!(e<<24>>24)){Ia=b;return 1566880}else f=e}else f=d;d=f;f=1566880;do{a:do if(!((d+-48&255)<10|((d&-33)+-65&255)<26)){switch(d<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[f>>0]=32}while(0);f=f+1|0;d=a[f>>0]|0}while(d<<24>>24!=0);Ia=b;return 1566880}function an(){return}function bn(){return}function cn(a,b){a=a|0;b=b|0;ma(23,a|0,b|0)|0;return}function dn(a){a=a|0;var b=0;b=la(24,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function en(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+528|0;b=a+512|0;d=a;e=c[(c[c[742802]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Lo(3196396,e)|0;Jg(94121,14);a:do if(93768){e=3728;g=0;while(1){h=c[(c[f>>2]|0)+(g<<2)>>2]|0;c[b>>2]=3115688;c[b+4>>2]=94154;wt(d,104363,b)|0;hs(d)|0;lu(d,c[e>>2]|0)|0;i=Po(d,96789)|0;if(!i)break;Ho(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Ro(i);Lg(c[e>>2]|0);g=g+1|0;e=3728+(g<<2)|0;if(!(c[e>>2]|0))break a}Jg(94161,8);Ia=a;return}while(0);jo(f);Ia=a;return}function fn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Ia;Ia=Ia+1040|0;b=a+1024|0;d=a;ds(94185,d);e=c[(c[c[742802]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=Lo(3196396,e)|0;a:do if(93881){e=93881;g=1;while(1){h=c[(c[f>>2]|0)+(g<<2)>>2]|0;Rs(d,vm(e)|0)|0;i=Po(d,104706)|0;if(!i)break;j=h+12|0;k=h+16|0;Ho(c[j>>2]|0,1,c[k>>2]|0,i)|0;Ro(i);Lg(c[3872+(g<<2)>>2]|0);c[b>>2]=3115688;c[b+4>>2]=94200;wt(d,104363,b)|0;hs(d)|0;lu(d,c[3840+(g<<2)>>2]|0)|0;i=Po(d,104706)|0;Ho(c[j>>2]|0,1,c[k>>2]|0,i)|0;Ro(i);g=g+1|0;e=c[3792+(g<<2)>>2]|0;if(!e)break a}Jg(94161,8);Ia=a;return}while(0);jo(f);Ia=a;return}function gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;e=Aq((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;Ho(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[26544]|0;if((c[d+12>>2]|0)==(a|0)){Go(1,e);f=c[c[766827]>>2]|0;if(!f)Go(0,e);else{Go(c[f>>2]|0,e);g=f+4|0;Go(c[g>>2]|0,e);Ho(c[f+12>>2]|0,1,B(c[g>>2]|0,c[f>>2]|0)|0,e)|0}f=c[(c[766827]|0)+4>>2]|0;if(!f)Go(0,e);else{Go(c[f>>2]|0,e);g=f+4|0;Go(c[g>>2]|0,e);Ho(c[f+12>>2]|0,1,B(c[g>>2]|0,c[f>>2]|0)|0,e)|0}Go(c[(c[766827]|0)+8>>2]|0,e);Go(c[(c[766827]|0)+12>>2]|0,e);Go(c[798499]|0,e);Go(c[798500]|0,e);Go(c[798489]|0,e);Go(c[798490]|0,e);Go(c[798487]|0,e);Go(c[798496]|0,e);h=c[26544]|0}else h=d;if((c[h+4>>2]|0)!=(a|0)){i=c[798499]|0;Go(i,e);j=c[798500]|0;Go(j,e);Go(b,e);return e|0}Go(0,e);Ho((c[26544]|0)+44832|0,1,256,e)|0;a=c[c[766828]>>2]|0;Ho(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;Go(c[798472]|0,e);Go(c[798491]|0,e);Go(c[798492]|0,e);Go(c[798473]|0,e);Go(c[798474]|0,e);Go(c[798486]|0,e);Go(c[798471]|0,e);Go(c[798497]|0,e);i=c[798499]|0;Go(i,e);j=c[798500]|0;Go(j,e);Go(b,e);return e|0}function hn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=vq(262144)|0;a:do if(a[b>>0]|0){e=1;f=b;g=1;while(1){a[d>>0]=0;if(a[f>>0]|0){if(!e)h=rh(f)|0;else h=sh(f)|0;i=th()|0;j=h-f|0;Vv(d|0,f|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=h;k=j;while(1){j=rh(i)|0;l=th()|0;m=j-i|0;Vv(d+k|0,i|0,m|0)|0;k=m+k|0;a[d+k>>0]=0;if(!((l|1|0)!=-999&(a[j>>0]|0)!=0)){n=0;o=j;break}else i=j}}else{n=0;o=h}}else{n=e;o=f}i=d;b:while(1){switch(a[i>>0]|0){case 32:case 9:break;default:break b}i=i+1|0}if(!(ut(i,94207,9)|0))break;lu(c,d)|0;k=(a[o>>0]|0)!=0;if(g>>>0<65536&k){e=n;f=o;g=g+(k&1)|0}else break a}Jg(94217,6);zq(d);p=1;return p|0}while(0);zq(d);p=0;return p|0}function jn(){return 0}function kn(a){a=a|0;return 0}function ln(a){a=a|0;return 0}function mn(a){a=a|0;return 0}function nn(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;g=c[555247]|0;h=(g|0)<256?g:256;g=(h|0)>0?h:0;h=c[554800]|0;i=c[554801]|0;if(!((h|0)!=0&(i|0)!=0&(c[554964]|0)==0))return;j=(f|0)>0;if(!j)return;k=c[554802]|0;if(!(a[3152374]&32)){l=h;m=k;n=0;o=c[554803]|0;while(1){do if(!m)if((l|0)>0){p=c[554799]|0;q=d[i+p>>0]|0;c[8731]=q;c[554799]=p+1&2047;p=l+-1|0;c[554800]=p;r=q;s=p;break}else{c[8731]=128;r=128;s=l;break}else{r=c[8731]|0;s=l}while(0);m=m+1&3;p=o;o=B(r+-128|0,g)|0;b[1567904+(n<<1)>>1]=(p+o|0)/2|0;n=n+1|0;if((n|0)==(f|0))break;else l=s}c[554803]=o;t=m}else{m=h;h=k;k=0;while(1){do if(!h)if((m|0)>0){o=c[554799]|0;s=d[i+o>>0]|0;c[8731]=s;c[554799]=o+1&2047;o=m+-1|0;c[554800]=o;u=s;v=o;break}else{c[8731]=128;u=128;v=m;break}else{u=c[8731]|0;v=m}while(0);o=h+1&3;b[1567904+(k<<1)>>1]=B(u+-128|0,g)|0;k=k+1|0;if((k|0)==(f|0)){t=o;break}else{m=v;h=o}}}c[554802]=t;if(!j)return;j=0;do{t=e+(j<<1)|0;h=(b[1567904+(j<<1)>>1]|0)+(b[t>>1]|0)|0;v=(h|0)<32767?h:32767;b[t>>1]=(v|0)>-32767?v:-32767;j=j+1|0}while((j|0)!=(f|0));return}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[554804]|0)){c[554804]=1;c[554805]=vq(524288)|0;wq(1698976,0,16384)}h=1698976+(b<<2)|0;i=c[h>>2]|0;if(!i){j=vq(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[554806]|0;j=c[554807]|0;if((((f+7+j|0)/8|0)+i|0)>524282){fb(94234,1e3);c[554807]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[8732]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[554806]=l;m=c[554805]|0;n=c[554808]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[554805]|0;p=i}c[8732]=b;c[554807]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[554808]=p+2;l=p+4|0;c[554806]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[554805]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[554807]=r+16;s=f;break}h=r;j=q;i=0;l=0;while(1){m=i&7;if(!m){n=$k(2971096,c[781999]|0,(i>>>3)+e|0)|0;t=c[554807]|0;u=c[554806]|0;v=n}else{t=h;u=j;v=l}n=(c[554805]|0)+(((t|0)/8|0)+u)|0;a[n>>0]=(v>>>m&1)<<(t&7)|(d[n>>0]|0);h=t+1|0;c[554807]=h;i=i+1|0;if((i|0)==(f|0)){w=f;x=20;break}else{j=u;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[554809]|0))c[554809]=vq(32768)|0;v=(f+7|0)/8|0;u=(f|0)>0;if(u){t=0;do{q=($k(2971096,c[781999]|0,t+e|0)|0)&255;y=c[554809]|0;a[y+t>>0]=q;t=t+1|0}while((t|0)<(v|0));if(u?(_k(2971096,c[781999]|0,e,d[y>>0]|0),(f|0)>8):0){t=1;do{_k(2971096,c[781999]|0,t+e|0,d[(c[554809]|0)+t>>0]|0);t=t+1|0}while((t|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){t=c[554794]|0;u=0;while(1){if((t|0)>=(c[554795]|0))break;_k(2971096,c[781999]|0,u+e|0,d[(c[554793]|0)+t>>0]|0);t=(c[554794]|0)+1|0;c[554794]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}jh(u<<5);g=u<<3;return g|0}while(0);jh(f<<2);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=c[554797]|0;q=0;while(1){if((t|0)>=(c[554798]|0))break;_k(2971096,c[781999]|0,q+e|0,d[(c[554796]|0)+t>>0]|0);t=(c[554797]|0)+1|0;c[554797]=t;r=q+1|0;if((r|0)>=(v|0))break c;else q=r}jh(q<<5);g=q<<3;return g|0}while(0);jh(f<<2);g=f;return g|0}case 2056:{if(!(c[554801]|0))c[554801]=vq(2048)|0;v=(f|0)/8|0;if((f|0)<=7){s=f;break a}t=0;do{u=($k(2971096,c[781999]|0,t+e|0)|0)&255;a[(c[554801]|0)+((c[554800]|0)+(c[554799]|0)&2047)>>0]=u;c[554800]=(c[554800]|0)+1;t=t+1|0}while((t|0)!=(v|0));s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[554804]|0)){c[554804]=1;c[554805]=vq(524288)|0;wq(1698976,0,16384)}k=1698976+(b<<2)|0;l=c[k>>2]|0;if(!l){m=vq(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Ia=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;Su(d,94793,h)|0;c[n+16>>2]=c[j>>2];Ia=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=b;p=m;break}}}else{o=l;p=d}d=n+16|0;l=n+12|0;h=n+20|0;m=n+24|0;b=n+32|0;k=n+36|0;if(!(o<<24>>24)){Ia=e;return}o=p;while(1){a[i>>0]=0;c[g>>2]=i;p=Su(o,94257,g)|0;if(!(nu(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(nu(i,58)|0)+1|0;c[f>>2]=j;Su(n,94793,f)|0;a[(nu(i,58)|0)>>0]=0;q=p}p=(a[o>>0]|0)==0?o:o+1|0;while(1){r=a[p>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else p=p+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=p;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=p;if(!(au(i,94264)|0))c[d>>2]=c[j>>2];if(!(au(i,94269)|0))c[l>>2]=c[j>>2];if(!(au(i,94273)|0))c[h>>2]=c[j>>2];if(!(au(i,94278)|0))c[m>>2]=c[j>>2];if(!(au(i,94289)|0))c[b>>2]=c[j>>2];if(!(au(i,94296)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else o=u}if((v|0)==36){Ia=e;return}}function qn(){var a=0,b=0,d=0;c[554799]=0;c[554800]=0;c[554802]=0;c[8731]=128;if(!(c[554804]|0))return;a=0;do{b=c[1698976+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[554807]=0;wq(c[554805]|0,0,524288);if(!(c[554804]|0))return;c[554807]=0;wq(c[554805]|0,0,524288);c[8732]=-1;c[554808]=0;c[554806]=0;a=c[554809]|0;if(!a)return;wq(a,0,32768);return}function rn(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[554804]|0))return;b=c[554807]|0;if((b|0)>0){e=(c[554806]|0)+((b+7|0)/8|0)|0;c[554806]=e;f=c[554805]|0;g=c[554808]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[554806]|0;if((h|0)>0){e=h;h=0;while(1){b=c[554805]|0;g=a[b+(h+1)>>0]|0;f=(g&255)<<8|(d[b+h>>0]|0);i=(d[b+(h+3)>>0]|0)<<8|(d[b+(h+2)>>0]|0);j=h+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e;l=h+6|0;break}m=(i+7|0)>>>3;if(m){cn(f,d[b+j>>0]|0);if((m|0)!=1){n=1;o=j;do{o=o+1|0;cn(f,d[(c[554805]|0)+o>>0]|0);n=n+1|0}while((n|0)!=(m|0))}k=c[554806]|0;l=j+m|0}else{k=e;l=j}}else{k=e;l=j}while(0);if((l|0)<(k|0)){e=k;h=l}else break}if(!(c[554804]|0))return}c[554807]=0;wq(c[554805]|0,0,524288);c[8732]=-1;c[554808]=0;c[554806]=0;l=c[554809]|0;if(!l)return;wq(l,0,32768);return}function sn(a){a=a|0;var b=0,d=0,e=0;zq(c[554793]|0);b=a+16|0;d=c[b>>2]|0;c[554795]=d;e=vq(d)|0;c[554793]=e;Vv(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[554794]=0;return}function tn(b){b=b|0;var d=0,e=0,f=0;zq(c[554796]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[554798]=e;f=vq(e)|0;c[554796]=f;a[f>>0]=c[b>>2];a[(c[554796]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[554796]|0)+2>>0]=c[d>>2];a[(c[554796]|0)+3>>0]=(c[d>>2]|0)/256|0;Vv((c[554796]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[554797]=0;return}function un(){return (c[554795]|0)-(c[554794]|0)|0}function vn(){return (c[554798]|0)-(c[554797]|0)|0}function wn(){c[554794]=0;c[554795]=0;c[554797]=0;c[554798]=0;return}function xn(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[742774]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=29;break}case 3:{e=0;do{g=2;do{f=(tp(4)|0)+10&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}}do if((h|0)==25){Nn(c[742782]|0);i=0}else if((h|0)==26){Uo();Nn(c[742782]|0);b=c[742803]|0;_q(b+16|0,b);Lg(3196396);Lg(3196396);Gp(c[(c[c[742804]>>2]|0)+8>>2]|0,c[742782]|0,0,0,1,1,40,10);c[781022]=6;i=0}else if((h|0)==27){Lg(94301);Gp(c[(c[c[742804]>>2]|0)+8>>2]|0,c[742782]|0,0,0,1,1,40,10);i=0}else if((h|0)==28){Lg(94314);i=0}else if((h|0)==29){if(!((d|0)==37&(c[555247]|0)==0)){if((d|0)==40){Lg(3196396);c[781022]=6;Lg(94347);Lg(3196396);i=0;break}b=(d|0)==60;if(!(b&(c[484608]|0)!=0)){i=b;break}c[780894]=0;c[781022]=6;Ym();c[798799]=2;i=1;break}b=c[798948]|0;if(!b){Lg(3196396);j=c[798948]|0}else j=b;if((j+3|0)>>>0>14){b=c[781024]|0;if((j|0)<20){k=b;l=(j|0)<-3?0:3}else{c[781024]=b+8;i=0;break}}else{k=c[781024]|0;l=(j|0)/4|0}b=(l|0)==1?k+2|0:k;Rn(c[(c[c[742804]>>2]|0)+1068>>2]|0,c[742782]|0,0,0,l<<3|2,(l|0)==3?b+-2|0:b,7,5);c[798948]=(c[798948]|0)+1;c[742774]=(c[742774]|0)+-1;i=0}while(0);l=(c[484543]|0)!=0;k=(c[484542]|0)!=0;if(!(l&((d|0)==90&k))){j=(d|0)==80;if(j&(c[537423]|0)!=0){m=1;h=43}else n=j}else{m=0;h=43}if((h|0)==43){c[780900]=1;n=m}if(!(l|i&k^1))c[780894]=0;if(n)hb();if((d|0)==900)Lg(94667);if((c[780894]|0)==2)return;Xm();return}function yn(a){a=a|0;Rs(2219256,a)|0;Rs(3904,a)|0;return}function zn(a){a=a|0;var b=0;if(!a)b=0;else{Rs(2219512,a)|0;b=2219512}c[554942]=b;return}function An(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Ia;Ia=Ia+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[557096]|0){Ia=a;return 0}c[554810]=0;wq(2219256,0,1704);Rs(2219256,3904)|0;Rs(2219512,3904)|0;c[554942]=2219512;To();o=c[8733]|0;p=c[557097]|0;if((o|0)>0&(p|0)!=0)Bn(o,p);c[n>>2]=94377;vv(94367,n)|0;n=c[8745]|0;Nu(n)|0;c[m>>2]=94403;wt(1715360,94389,m)|0;c[l>>2]=1715360;vv(94367,l)|0;Nu(n)|0;l=c[8733]|0;m=c[557097]|0;if((l|0)>0&(m|0)!=0)Bn(l,m);if(!0){c[k>>2]=94414;vv(94367,k)|0;Nu(n)|0;Kr()|0;c[j>>2]=94432;vv(94367,j)|0;Nu(n)|0;Xr()|0;c[i>>2]=94450;vv(94367,i)|0;Nu(n)|0;to();c[h>>2]=94465;vv(94367,h)|0;Nu(n)|0;ro();c[g>>2]=94481;vv(94367,g)|0;Nu(n)|0;zo();c[f>>2]=94497;vv(94367,f)|0;Nu(n)|0;vr()|0;c[e>>2]=94514;vv(94367,e)|0;Nu(n)|0;mo();c[d>>2]=94531;vv(94367,d)|0;Nu(n)|0}sp(0);c[555282]=(c[555282]|0)+1;c[b>>2]=94551;vv(94367,b)|0;Nu(n)|0;c[557096]=1;Ia=a;return 0}function Bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ia=e;return}i=1;j=0;a:while(1){k=d+(i<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=41;break a;break}case 45:{n=l+1|0;o=(ut(n,94556,5)|0)==0;p=(ut(n,94562,6)|0)==0;q=(ut(n,96589,8)|0)==0;r=(ut(n,96475,8)|0)==0;s=(ut(n,94569,8)|0)==0;t=(ut(n,94578,8)|0)==0;u=(ut(n,96611,9)|0)==0;v=(ut(n,96696,17)|0)==0;w=(ut(n,96488,19)|0)==0;x=(ut(n,96528,12)|0)==0;y=(ut(n,96541,12)|0)==0;z=(ut(n,94587,5)|0)==0;A=(ut(n,94593,5)|0)==0;B=(ut(n,96554,15)|0)==0;C=(ut(n,94599,13)|0)==0|(ut(n,94613,16)|0)==0;D=(ut(n,94630,4)|0)==0;E=(ut(n,94635,7)|0)==0;F=(ut(n,94643,13)|0)==0;G=(ut(n,94657,9)|0)==0;H=(ut(n,94667,7)|0)==0;if(!(ut(n,94675,8)|0)){c[555284]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:j;o=(ut(n,94684,11)|0)==0;if(!(ut(n,94696,11)|0)){c[555285]=1;J=0}else J=o?29:I;if((a[n>>0]|0)==120){c[555284]=1;K=0}else K=J;o=(ut(n,96508,19)|0)==0;p=(ut(n,94708,17)|0)==0;q=(ut(n,94726,16)|0)==0;r=(ut(n,94743,11)|0)==0;s=(ut(n,94755,13)|0)==0;t=(ut(n,94769,7)|0)==0;u=(ut(n,94777,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;Su(l,94793,g)|0;do switch(j|0){case 1:{c[555244]=c[h>>2];L=0;break b;break}case 2:{c[555245]=c[h>>2];L=0;break b;break}case 3:{c[555263]=c[h>>2];L=0;break b;break}case 4:{c[555246]=c[h>>2];L=0;break b;break}case 5:{c[555255]=c[h>>2];L=0;break b;break}case 6:{c[555256]=c[h>>2];L=0;break b;break}case 7:{c[555254]=c[h>>2];L=0;break b;break}case 8:{c[555270]=c[h>>2];L=0;break b;break}case 9:{c[555249]=c[h>>2];L=0;break b;break}case 10:{c[555247]=c[h>>2];L=0;break b;break}case 11:{c[555248]=c[h>>2];L=0;break b;break}case 12:{c[555260]=c[h>>2];L=0;break b;break}case 14:{c[555272]=c[h>>2];L=0;break b;break}case 15:{c[555270]=c[h>>2];L=0;break b;break}case 16:{Rs(2221148,c[k>>2]|0)|0;L=0;break b;break}case 17:{Rs(2222172,c[k>>2]|0)|0;L=0;break b;break}case 18:{c[555275]=c[h>>2];L=0;break b;break}case 19:{c[555278]=0;c[555279]=0;c[555280]=4096;c[555281]=4096;o=c[k>>2]|0;c[f>>2]=2221112;c[f+4>>2]=2221116;c[f+8>>2]=2221120;c[f+12>>2]=2221124;Su(o,94796,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[555283]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[555284]=1;L=0;break b;break}case 22:{c[555250]=c[h>>2];L=0;break b;break}case 23:{c[555252]=c[h>>2];L=0;break b;break}case 24:{c[555799]=c[h>>2];L=0;break b;break}case 25:{c[555800]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[555273]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[555257]=c[h>>2];L=0;break b;break}case 28:{c[555802]=c[h>>2];L=0;break b;break}case 29:{c[555286]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);i=i+1|0;if((i|0)>=(b|0)){m=41;break}else j=L}if((m|0)==41){Ia=e;return}}function Cn(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=a;vv(94367,d)|0;Nu(c[8745]|0)|0;Ia=b;return}function Dn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ia;Ia=Ia+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!((c[557096]|0)!=0&(c[555239]|0)==0)){Ia=a;return 0}c[557096]=0;c[m>>2]=94808;vv(94367,m)|0;m=c[8745]|0;Nu(m)|0;c[l>>2]=94820;vv(94367,l)|0;Nu(m)|0;lr(0,0);c[k>>2]=94833;vv(94367,k)|0;Nu(m)|0;Ib();c[j>>2]=94849;vv(94367,j)|0;Nu(m)|0;Xo();c[i>>2]=94867;vv(94367,i)|0;Nu(m)|0;Uq()|0;c[h>>2]=94884;vv(94367,h)|0;Nu(m)|0;wr()|0;c[g>>2]=94901;vv(94367,g)|0;Nu(m)|0;c[f>>2]=94921;vv(94367,f)|0;Nu(m)|0;if(!0){Ao();uo()}c[e>>2]=c[554810];wt(1715360,94939,e)|0;c[d>>2]=1715360;vv(94367,d)|0;Nu(m)|0;c[b>>2]=94551;vv(94367,b)|0;Nu(m)|0;m=c[554943]|0;if(m|0)Lu(m)|0;m=c[554944]|0;if(m|0)Lu(m)|0;c[554943]=0;c[554944]=0;c[557096]=0;Ia=a;return 0}function En(a){a=a|0;return}function Fn(){var a=0;a=as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();return a|0}function Gn(){var a=0;zr();as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();c[557099]=0;Hb();if(!(c[557099]|0)){sb();Br();Ar()}c[554963]=0;a=c[554979]|0;if(!a)return;if((a|0)<=(Xr()|0))return;c[554979]=0;ka(25)|0;return}function Hn(){c[557099]=1;return}function In(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b+8|0;f=b;g=b+24|0;An()|0;tr(800,480,32,4)|0;c[555239]=1;Wv(2224284,0,4096)|0;b=0;h=0;while(1){if((Or(b)|0)!=0?(a[(Or(b)|0)>>0]|0)!=0:0){c[f>>2]=Or(b)|0;c[f+4>>2]=b;vv(95003,f)|0;i=h+1|0;if(!(i&3)){mv(10)|0;j=i}else j=i}else j=h;b=b+1|0;if((b|0)==256)break;else h=j}qv(104526)|0;qv(95016)|0;qv(95097)|0;qv(95178)|0;qv(95259)|0;qv(95340)|0;qv(95421)|0;qv(95097)|0;qv(95502)|0;qv(95097)|0;qv(95583)|0;qv(95097)|0;qv(95664)|0;mv(10)|0;if(c[554811]|0)ya(0);do{Pn(c[742765]|0,0,0,799,479,1118498);Co(c[742765]|0,95745,c[557113]|0,20,20);j=0;do{h=j*24|0;b=h+48|0;f=j<<5;i=h+68|0;k=h+56|0;h=0;do{l=h*24|0;m=h+f|0;c[e>>2]=m;wt(g,95794,e)|0;n=1724192+m|0;Pn(c[742765]|0,l+20|0,b,l+40|0,i,(a[n>>0]|0)==0?5591122:16777215);Bo(c[742765]|0,g,c[557113]|0,l+22|0,k,1,(a[n>>0]|0)==0?11184810:0)|0;h=h+1|0}while((h|0)!=32);j=j+1|0}while((j|0)!=16);j=0;do{if(a[1724192+j>>0]|0?(a[1725216+j>>0]|0)==0:0){h=Or(j)|0;c[d>>2]=j;c[d+4>>2]=h;vv(95799,d)|0}j=j+1|0}while((j|0)!=512);as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();Br()}while(!(c[554811]|0));ya(0)}function Jn(a,b){a=a|0;b=b|0;Rs(1719456,c[b>>2]|0)|0;c[8733]=a;c[557097]=b;if((a|0)>1?(au(c[b+4>>2]|0,95834)|0)==0:0)In();lb(a,b);wa(1,0,0);return 0}function Kn(){var a=0;a=xq(768)|0;Wv(a|0,0,768)|0;c[554810]=(c[554810]|0)+1;return a|0}function Ln(a){a=a|0;if(!a)return;zq(a);c[554810]=(c[554810]|0)+-1;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=xq((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=xq(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=xq(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}l=(b|0)==1;m=0;do{n=xq(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(2970992!=(n|0)?(wq(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{wq(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0;if(2970992==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{wq(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function On(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)zq(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{zq(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}zq(a);c[554810]=(c[554810]|0)+-1;return 0}function Pn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((2970992!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{wq((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function Qn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function Rn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(2970992==(b|0)){Wr(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{Hp(a,b,h,i,q,f,e,r);return}case 32:{Ip(a,b,h,i,q,f,e,r);return}default:return}}function Sn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=xq((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=xq(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(2970992!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{wq(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[554810]=(c[554810]|0)+1;e=f;return e|0}function Tn(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)zq(b);zq(a);c[554810]=(c[554810]|0)+-1;return 0}function Un(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function Vn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=c[d>>2]|0;do if((((j|0)<(c[a>>2]|0)?(k=c[e>>2]|0,l=a+4|0,(k|0)<(c[l>>2]|0)):0)?(m=b+32|0,(c[f>>2]|0)<(c[m>>2]|0)):0)?(n=b+40|0,(c[g>>2]|0)<(c[n>>2]|0)):0){if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;o=c[e>>2]|0;p=0}else{o=k;p=j}if((o|0)<0){c[i>>2]=(c[i>>2]|0)+o;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;q=c[d>>2]|0;r=0}else{q=p;r=o}k=c[a>>2]|0;if(((c[h>>2]|0)+q|0)>(k|0)){c[h>>2]=k-q;s=c[e>>2]|0}else s=r;k=c[l>>2]|0;if(((c[i>>2]|0)+s|0)>(k|0))c[i>>2]=k-s;k=c[f>>2]|0;l=b+28|0;t=c[l>>2]|0;if((k|0)<(t|0)){u=k-t|0;c[f>>2]=u;c[h>>2]=(c[h>>2]|0)+u;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);u=c[l>>2]|0;c[f>>2]=u;v=u}else v=k;k=c[g>>2]|0;u=b+36|0;l=c[u>>2]|0;if((k|0)<(l|0)){t=k-l|0;c[g>>2]=t;c[i>>2]=(c[i>>2]|0)+t;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);t=c[u>>2]|0;c[g>>2]=t;w=c[f>>2]|0;x=t}else{w=v;x=k}k=c[m>>2]|0;if(((c[h>>2]|0)+w|0)>(k|0)){c[h>>2]=k-w;y=c[g>>2]|0}else y=x;k=c[n>>2]|0;if(((c[i>>2]|0)+y|0)>(k|0)){z=k-y|0;break}else return}else z=0;while(0);c[i>>2]=z;return}function Wn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|2970992==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|2970992==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|2970992==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|2970992==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function Xn(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function Yn(a){a=a|0;c[484272]=c[a+28>>2];c[484276]=c[a+32>>2];c[484284]=c[a+36>>2];c[484280]=c[a+40>>2];return}function Zn(a){a=a|0;c[a+28>>2]=c[484272];c[a+32>>2]=c[484276];c[a+36>>2]=c[484284];c[a+40>>2]=c[484280];return}function _n(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){Gp(b,d,0,0,e,f,g,h);return}else{Rn(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=o;j=q;while(1){t=c[e+(g>>16<<2)>>2]|0;if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=h;w=0;while(1){c[u>>2]=c[t+(v>>16<<2)>>2];w=w+1|0;if((w|0)>=(r|0))break;else{u=u+4|0;v=v+l|0}}}j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}g=o;j=q;while(1){v=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;w=h;t=0;while(1){x=c[v+(w>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;t=t+1|0;if((t|0)>=(r|0))break a;else{u=u+4|0;w=w+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=o;k=q;while(1){j=c[(c[f>>2]|0)+(i>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(k<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}k=k+1|0;if((k|0)>=(g|0))break;else i=i+n|0}return}if(!d)return;d=o;o=q;while(1){q=c[(c[f>>2]|0)+(d>>16<<2)>>2]|0;i=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+m|0;k=h;s=0;while(1){A=a[q+(k>>16)>>0]|0;if(A<<24>>24)a[i>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{i=i+1|0;k=k+l|0}}o=o+1|0;if((o|0)>=(g|0))break;else d=d+n|0}return}default:return}}function $n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function ao(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;a:do if(((((a|0)!=0?(c[a+28>>2]|0)<=(b|0):0)?(c[a+36>>2]|0)<=(e|0):0)?(c[a+32>>2]|0)>(b|0):0)?(c[a+40>>2]|0)>(e|0):0)switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;break a;break}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;break a;break}default:{f=0;break a}}else f=0;while(0);return f|0}function bo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=f;o=e;p=g;while(1){if((p|0)==(o|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(o|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(o|0)?v:v|8;v=(r|0)>(n|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(n|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-n|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,n)|0)>>16;C=(B(x,o)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=o}else{C=(r-m<<16|0)/(n-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,n)|0)>>16;s=(B(z,o)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,n)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,n)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(n|0)){H=n;I=p;J=G;break a}else{w=p;t=n;n=F;p=G;o=w;m=t}}if((q|0)==14){if((b|0)==0|2970992==(b|0))return;t=(n|0)<(m|0);w=t?m:n;u=t?n:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=n-m|0;u=p-o|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=r;z=t;t=m<<16|32768;v=o<<16|32768;while(1){x=t>>16;K=v>>16;b:do if((((s|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((z|0)<=0)break;s=c[i>>2]|0;z=z+-1|0;t=t+C|0;v=v+w|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|2970992==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function co(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((b|0)==0|(d|0)==0|2970992==(d|0))return;m=c[b>>2]|0;if((((m|0)>(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;j=c[d+28>>2]|0;v=(q|0)<(j|0);x=v?q-j|0:0;y=v?j:q;q=x+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;j=(s|0)<(t|0);v=j?s-t|0:0;z=j?t:s;s=v+((w+u|0)>(n|0)?n-u|0:w)|0;A=y;B=z;C=(s+z|0)>(p|0)?p-z|0:s;D=r-x|0;E=u-v|0;F=(q+y|0)>(o|0)?o-y|0:q}else{A=g;B=h;C=0;D=e;E=f;F=i}i=(l&1|0)!=0;if(i){l=m-D|0;f=l-F|0;if((((f|0)<(m|0)?(e=c[b+4>>2]|0,(E|0)<(e|0)):0)?(h=c[d+32>>2]|0,(A|0)<(h|0)):0)?(g=c[d+40>>2]|0,(B|0)<(g|0)):0){q=(f|0)<0;y=q?0:f;o=A-(q?f:0)|0;v=(E|0)<0;u=v?0:E;x=v?E:0;v=B-x|0;r=C+x|0;x=c[d+28>>2]|0;s=(o|0)<(x|0);z=s?o-x|0:0;p=s?x:o;o=z+((D|0)<0?m-y|0:q?l:F)|0;l=c[d+36>>2]|0;q=(v|0)<(l|0);m=q?v-l|0:0;x=q?l:v;v=m+((r+u|0)>(e|0)?e-u|0:r)|0;G=p;H=x;I=(v+x|0)>(g|0)?g-x|0:v;J=y-z|0;K=u-m|0;L=(o+p|0)>(h|0)?h-p|0:o}else{G=A;H=B;I=0;J=f;K=E;L=F}}else{G=A;H=B;I=C;J=D;K=E;L=F}if((L|0)<0)return;F=(I|0)>0;if((c[d+8>>2]|0)==8){if(!F)return;E=b+16|0;D=d+16|0;C=L+-1|0;B=(L|0)==0;A=k&255;if(i){f=0;do{if(!B){o=(c[(c[D>>2]|0)+(f+H<<2)>>2]|0)+G+C|0;p=(c[(c[E>>2]|0)+(f+K<<2)>>2]|0)+J|0;h=L;while(1){if(a[p>>0]|0)a[o>>0]=A;h=h+-1|0;if(!h)break;else{o=o+-1|0;p=p+1|0}}}f=f+1|0}while((f|0)!=(I|0));return}if(B)return;B=0;do{f=(c[(c[D>>2]|0)+(B+H<<2)>>2]|0)+G|0;C=(c[(c[E>>2]|0)+(B+K<<2)>>2]|0)+J|0;p=L;while(1){if(a[C>>0]|0)a[f>>0]=A;p=p+-1|0;if(!p)break;else{f=f+1|0;C=C+1|0}}B=B+1|0}while((B|0)!=(I|0));return}else{if(!F)return;F=b+16|0;b=d+16|0;d=(L<<2)+-4|0;B=(L|0)==0;if(i){i=0;do{if(!B){A=(c[(c[b>>2]|0)+(i+H<<2)>>2]|0)+(G<<2)+(d<<2)|0;E=(c[(c[F>>2]|0)+(i+K<<2)>>2]|0)+J|0;D=L;while(1){if(a[E>>0]|0)c[A>>2]=k;D=D+-1|0;if(!D)break;else{A=A+-4|0;E=E+1|0}}}i=i+1|0}while((i|0)!=(I|0));return}if(B)return;B=c[F>>2]|0;F=c[b>>2]|0;b=0;do{i=(c[F+(b+H<<2)>>2]|0)+(G<<2)|0;d=(c[B+(b+K<<2)>>2]|0)+J|0;E=L;while(1){if(a[d>>0]|0)c[i>>2]=k;E=E+-1|0;if(!E)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(I|0));return}}function eo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Gp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=i;p=g;q=0;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(q<<2)>>2]|0;s=c[(c[n>>2]|0)+(q<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=o;y=p}q=q+1|0;if((q|0)>=(x|0))break;else{o=x;p=y}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;A=b+28|0;z=b+36|0;g=b+32|0;i=e+28|0;k=b+40|0;y=e+36|0;x=e+32|0;p=b+16|0;o=e+40|0;q=e+16|0;e=C;C=0;while(1){if((e|0)>0){w=0;while(1){a:do if((((c[A>>2]|0)<=(w|0)?(c[z>>2]|0)<=(C|0):0)?(c[g>>2]|0)>(w|0):0)?(c[k>>2]|0)>(C|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[p>>2]|0)+(C<<2)>>2]|0)+w>>0]|0;break a;break}case 32:{D=c[(c[(c[p>>2]|0)+(C<<2)>>2]|0)+(w<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=65536;r=-1;v=0;while(1){u=n-(d[f+(v*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(v*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(v*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(r|0)==-1|(u|0)<(s|0);r=E|F?v:r;v=E?257:v+1|0;if((v|0)>=256)break;else s=E?s:F?u:s}b:do if((((c[i>>2]|0)<=(w|0)?(c[y>>2]|0)<=(C|0):0)?(c[x>>2]|0)>(w|0):0)?(c[o>>2]|0)>(C|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[q>>2]|0)+(C<<2)>>2]|0)+w>>0]=r;break b;break}case 32:{c[(c[(c[q>>2]|0)+(C<<2)>>2]|0)+(w<<2)>>2]=r;break b;break}default:break b}while(0);w=w+1|0;r=c[b>>2]|0;if((w|0)>=(r|0)){G=r;break}}}else G=e;C=C+1|0;if((C|0)>=(c[h>>2]|0))break;else e=G}return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=yq(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=yq(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=yq(c[g>>2]|0,e)|0;h=a+12|0;i=yq(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function go(b){b=b|0;var d=0;d=vq(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;fo(d,b);a[d+32>>0]=0;c[554810]=(c[554810]|0)+1;return d|0}function ho(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=vq(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;fo(e,b);a[e+32>>0]=0;c[554810]=(c[554810]|0)+1;f=xq(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{zq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{jo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{Tn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Ln(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{jp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{mp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{yp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{Xq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{On(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Ro(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Op(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function jo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=e;h=0;do{io(a,c[(c[f>>2]|0)+(g+-1<<2)>>2]|0);h=h+1|0;g=c[d>>2]|0}while((h|0)<(e|0)&(g|0)!=0)}g=a+20|0;if((c[g>>2]|0)>0){e=c[a+4>>2]|0;h=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[h+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[g>>2]|0))}if(c[b>>2]|0)wq(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)Cn(95845)}else zq(c[c[a>>2]>>2]|0);zq(c[a>>2]|0);zq(c[a+4>>2]|0);zq(c[a+8>>2]|0);zq(c[a+12>>2]|0);zq(a);c[554810]=(c[554810]|0)+-1;return}function ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=95881;wt(1715360,96886,g)|0;Cn(1715360)}if(!d){c[f>>2]=95904;wt(1715360,96886,f)|0;Cn(1715360)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){fo(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=a+4|0;n=-1;o=c[a>>2]|0;p=o+(n<<2)|0;c[p>>2]=d;q=c[m>>2]|0;r=q+(n<<2)|0;c[r>>2]=b;Ia=e;return n|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=l;n=i;o=c[a>>2]|0;p=o+(n<<2)|0;c[p>>2]=d;q=c[m>>2]|0;r=q+(n<<2)|0;c[r>>2]=b;Ia=e;return n|0}function lo(){var a=0;if(!2970992)return;a=c[557100]|0;if(a|0)Tn(a)|0;a=Sn(33,33,32)|0;c[557100]=a;Nn(a);Pn(c[557100]|0,15,8,17,24,-1);Pn(c[557100]|0,8,15,24,17,-1);Pn(c[557100]|0,16,9,16,23,-6250336);Pn(c[557100]|0,9,16,23,16,-6250336);Pn(c[557100]|0,11,11,21,21,0);Pn(c[557100]|0,16,11,16,21,-1);Pn(c[557100]|0,11,16,21,16,-1);Pn(c[557100]|0,14,14,18,18,0);return}function mo(){lo();c[557101]=c[557100];return}function no(){return (c[557102]|0)!=0|0}function oo(){var a=0,b=0,d=0,e=0;a=c[557102]|0;if(!a){do{Fn()|0;b=c[557102]|0}while(!(b|0));d=b}else d=a;a=c[431016]|0;b=d+-1|0;if((d|0)<=1){c[557102]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1724064+(e<<2)>>2]=c[1724064+(d<<2)>>2]}while((d|0)!=(b|0));c[557102]=b;return a|0}function po(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1724192+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function qo(b){b=b|0;var c=0,d=0;if((b|0)>=0){if(b>>>0>511){c=0;return c|0}d=a[1724192+b>>0]|0;if(!(d<<24>>24)){c=0;return c|0}if(!(a[1724704+b>>0]|0))return (d<<24>>24==3|(a[1725216+b>>0]|0)==0?3:1)|0;else{c=0;return c|0}}switch(b|0){case -6:{b=a[1724417]|0;if(b<<24>>24!=0&(a[1724929]|0)==0){c=b<<24>>24==3|(a[1725441]|0)==0?3:1;return c|0}b=a[1724421]|0;if(!(b<<24>>24!=0&(a[1724933]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725445]|0)==0?3:1;return c|0}case -2:{b=a[1724694]|0;if(b<<24>>24!=0&(a[1725206]|0)==0){c=b<<24>>24==3|(a[1725718]|0)==0?3:1;return c|0}b=a[1724695]|0;if(!(b<<24>>24!=0&(a[1725207]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725719]|0)==0?3:1;return c|0}case -3:{b=a[1724692]|0;if(b<<24>>24!=0&(a[1725204]|0)==0){c=b<<24>>24==3|(a[1725716]|0)==0?3:1;return c|0}b=a[1724693]|0;if(!(b<<24>>24!=0&(a[1725205]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725717]|0)==0?3:1;return c|0}case -4:{b=a[1724418]|0;if(b<<24>>24!=0&(a[1724930]|0)==0){c=b<<24>>24==3|(a[1725442]|0)==0?3:1;return c|0}b=a[1724422]|0;if(!(b<<24>>24!=0&(a[1724934]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725446]|0)==0?3:1;return c|0}case -5:{b=a[1724416]|0;if(b<<24>>24!=0&(a[1724928]|0)==0){c=b<<24>>24==3|(a[1725440]|0)==0?3:1;return c|0}b=a[1724420]|0;if(b<<24>>24!=0&(a[1724932]|0)==0){c=b<<24>>24==3|(a[1725444]|0)==0?3:1;return c|0}b=a[1724692]|0;if(b<<24>>24!=0&(a[1725204]|0)==0){c=b<<24>>24==3|(a[1725716]|0)==0?3:1;return c|0}b=a[1724693]|0;if(!(b<<24>>24!=0&(a[1725205]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725717]|0)==0?3:1;return c|0}default:{c=0;return c|0}}return 0}function ro(){Wv(1724192,0,512)|0;Wv(1725216,0,512)|0;Wv(1724704,0,512)|0;return}function so(){return}function to(){c[557103]=ho(1024,72)|0;return}function uo(){jo(c[557103]|0);return}function vo(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;f=c[557103]|0;if(!f){Ia=a;return}if(!(c[f+16>>2]|0)){Ia=a;return}cs(b,d,e);f=(c[b>>2]|0)-(c[557104]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[557105]|0)|0;h=(B(f,f)|0)+g|0;Rq();g=c[557103]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=p;o=1;while(1){q=c[l+(c[m+(o<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(n|0?c[n+20>>2]&32|0:0){t=n;break}t=q}else t=n;while(0);o=o+1|0;if((o|0)>=(f|0))break;else n=t}if(i)u=t;else break}else u=p;n=u+20|0;o=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=g;s=h;v=f;while(1){w=v+-1|0;x=c[(c[r>>2]|0)+(c[(c[r+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[n>>2]|0;A=z&2;if(!y){if(!A)Va[c[o>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[557106]|A)){c[n>>2]=z|2;Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=Xr()|0;if((y-(c[557107]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(s|0)<(B(y,y)|0)):0)Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=Xr()|0;if((y-(c[557108]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(s|0)<(B(y,y)|0)):0){Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[557107]=Xr()|0}c[557108]=Xr()|0;c[557104]=c[b>>2];c[557105]=c[d>>2]}y=c[n>>2]|0;if(!(y&1)){c[n>>2]=y|1;Va[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[554951]|0;z=c[554952]|0;if(z|y|0){Va[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[554951]=0;c[554952]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[554959]|0)!=0?(A=Xr()|0,(A|0)<((c[554960]|0)+500|0)):0){A=c[554959]|0;c[557106]=A;D=x+28|0;Va[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[557109]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[557110]|0)|0;F=(B(A,A)|0)+E|0;E=Xr()|0;if((E-(c[557111]|0)|0)<400&F>>>0<400)Va[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,15);c[557111]=Xr()|0;c[557109]=c[b>>2];c[557110]=c[d>>2];G=F}else G=s;else{c[z>>2]=y&-3;y=x+28|0;Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=Xr()|0;if((s|0)<400&(F-(c[557108]|0)|0)<400)Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,12);F=(c[b>>2]|0)-(c[557109]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[557110]|0)|0;E=(B(F,F)|0)+D|0;D=Xr()|0;if((D-(c[557111]|0)|0)<400&E>>>0<400)Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,15);c[557111]=Xr()|0;c[557109]=c[b>>2];c[557110]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[557112]|0)==0|(c[e>>2]|0)!=0):0)Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((v|0)<=1)break a;r=c[557103]|0;s=G;v=w}}while(0);c[554959]=0;G=c[e>>2]|0;c[557106]=G;c[557112]=G;Sq();Ia=a;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;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[557103]|0)){Ia=d;return}cs(e,f,g);h=c[557103]|0;if((c[h+16>>2]|0)<=0){Ia=d;return}if(!b){i=h;j=0;do{k=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;Va[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);j=j+1|0;i=c[557103]|0}while((j|0)<(c[i+16>>2]|0));Ia=d;return}i=h;h=0;while(1){j=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if((c[j>>2]|0)==(b|0)){Va[c[j+28>>2]&0](j,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[557103]|0}else l=i;h=h+1|0;if((h|0)>=(c[l+16>>2]|0))break;else i=l}Ia=d;return}function xo(a){a=a|0;var b=0,d=0;b=c[557103]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function yo(){var a=0,b=0,d=0,e=0,f=0;a=c[557103]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function zo(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[557113]=go(512)|0;c[557114]=go(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=Sn(5,5,f)|0;i=Sn(6,5,f)|0;ko(c[557113]|0,4,h)|0;ko(c[557114]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=Sn(5,5,f)|0;h=Sn(6,5,f)|0;Nn(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[4160+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[4160+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}ko(c[557113]|0,4,i)|0;ko(c[557114]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=Sn(5,5,f)|0;m=Sn(6,5,f)|0;ko(c[557113]|0,4,e)|0;ko(c[557114]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Ao(){jo(c[557113]|0);jo(c[557114]|0);return} 139 + function Zk(){var a=0,b=0;a=c[535458]|0;b=c[778903]|0;if(b|0)c[b+332>>2]=a;b=c[778904]|0;if(b|0)c[b+332>>2]=a;b=c[778905]|0;if(b|0)c[b+332>>2]=a;b=c[778906]|0;if(b|0)c[b+332>>2]=a;b=c[778907]|0;if(b|0)c[b+332>>2]=a;b=c[778908]|0;if(b|0)c[b+332>>2]=a;b=c[778909]|0;if(b|0)c[b+332>>2]=a;b=c[778910]|0;if(b|0)c[b+332>>2]=a;b=c[778911]|0;if(b|0)c[b+332>>2]=a;b=c[778912]|0;if(b|0)c[b+332>>2]=a;b=c[778913]|0;if(b|0)c[b+332>>2]=a;b=c[778914]|0;if(b|0)c[b+332>>2]=a;b=c[778915]|0;if(b|0)c[b+332>>2]=a;b=c[778916]|0;if(b|0)c[b+332>>2]=a;b=c[778917]|0;if(b|0)c[b+332>>2]=a;b=c[778918]|0;if(!b)return;c[b+332>>2]=a;return}function _k(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;g=e&65535;h=g>>>0<24320;if((g+-17152|0)>>>0<7168&(c[742800]|0)>0)return;i=f&255;j=i>>>0>127?f|-256:i;k=(b|0)==0;if(!k)a[b+156904+g>>0]=f;if(e&32768|0){b=g+-32768>>13;if(!(c[3193536+(b<<2)>>2]|0))return;l=2971132+(b<<2)|0;b=e>>>6&127;m=e<<1&126;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;return}if(g>>>0<4096){m=d+8|0;b=g>>>6;l=e<<1&126;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+l>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(l|1)>>0]=f>>>4&15;return}if(g>>>0<8192){l=d+8|0;b=g>>>6;m=e<<1&126;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(g>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if(g>>>0<12288){m=g+-8192|0;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(m>>7<<2)>>2]|0)+(m&127)>>0]=f;return}if(g>>>0<12544){c[d+44832+(g+-12288<<2)>>2]=i;return}if(g>>>0<12800){m=g+-12544|0;b=(m|0)/4|0;l=m&3;c[d+43536+(b<<4)+(l<<2)>>2]=f&127;m=1<<l;l=d+44560+(b<<2)|0;b=c[l>>2]|0;c[l>>2]=b&~m;if(!(f&128))return;c[l>>2]=b|m;return}if(g>>>0<17152){m=g+-12800|0;b=(m|0)/68|0;l=m-(b*68|0)|0;if((l|0)<64){m=(l|0)/2|0;if(!(l&1)){c[d+16+(b*680|0)+20+(m*20|0)>>2]=f&63;n=d+16+(b*680|0)+20+(m*20|0)+4|0;c[n>>2]=c[n>>2]&4|f>>>6&3;return}else{n=d+16+(b*680|0)+20+(m*20|0)+4|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+16+(b*680|0)+20+(m*20|0)+8>>2]=f>>>1&7;c[d+16+(b*680|0)+20+(m*20|0)+12>>2]=f>>>4&7;c[d+16+(b*680|0)+20+(m*20|0)+16>>2]=f&128;return}}switch(l|0){case 64:{c[d+16+(b*680|0)+4>>2]=f&1;c[d+16+(b*680|0)>>2]=f&254;return}case 65:{c[d+16+(b*680|0)+8>>2]=i;return}case 66:{c[d+16+(b*680|0)+12>>2]=i;return}case 67:{c[d+16+(b*680|0)+16>>2]=i;return}default:return}}if(k|g>>>0<24064)return;if(h){h=g+-24064|0;k=3120248+(((h|0)/4|0)<<2)|0;b=c[k>>2]|0;d=h<<3&24;h=b&~(255<<d)|i<<d;c[k>>2]=h;if((b|0)==(h|0))return;c[798463]=1;return}if(g>>>0>=24448)if(g>>>0<24576){cn(g+-24448|0,i);return}else{h=g+-24576|0;b=h>>6;k=h<<1&126;a[(c[(c[(c[742782]|0)+16>>2]|0)+(b<<2)>>2]|0)+k>>0]=f&15;a[(c[(c[(c[742782]|0)+16>>2]|0)+(b<<2)>>2]|0)+(k|1)>>0]=f>>>4&15;return}k=g+-24320|0;if(g>>>0<24336){c[3123880+(k<<2)>>2]=i;return}if(g>>>0<24352){c[3123944+(g+-24336<<2)>>2]=i;if(!(f&128))return;nb();return}if(g>>>0<24356){c[3124072+(g+-24352<<2)>>2]=i;Lk();return}do switch((e&65535)<<16>>16){case 24356:{c[781025]=i;return}case 24357:{c[781022]=i;return}case 24358:{c[781023]=i;return}case 24359:{c[781024]=i;return}case 24360:{c[781030]=c[781030]&-256|i;return}case 24361:{c[781030]=c[781030]&255|j<<8;return}case 24362:{c[781031]=c[781031]&-256|i;return}case 24363:{c[781031]=c[781031]&255|j<<8;return}case 24364:{c[781033]=i;return}case 24369:{c[781038]=c[781038]&-256|i;return}case 24370:{c[781038]=c[781038]&-65281|i<<8;return}case 24371:{c[781038]=c[781038]&-16711681|i<<16;return}case 24372:{c[781043]=i;return}case 24373:{c[781041]=i;return}case 24380:{c[781039]=c[781039]&-256|i;return}case 24381:{c[781039]=c[781039]&255|j<<8;return}case 24382:{c[781040]=c[781040]&-256|i;return}case 24383:{c[781040]=c[781040]&255|j<<8;return}case 24384:{c[781382]=i;return}case 24385:{c[781383]=i;return}case 24386:{c[781384]=i;return}case 24387:{c[781385]=i;return}default:switch((e&65532)<<16>>16){case 24388:{b=(g<<3)+-195104|0;yl(0,(xl(0)|0)&~(255<<b)|i<<b);return}case 24392:{b=(g<<3)+-195136|0;yl(1,(xl(1)|0)&~(255<<b)|i<<b);return}default:{b=g+-24396|0;if(b>>>0<8){c[3124188+(b<<5)>>2]=f&1;c[3124188+(b<<5)+4>>2]=f>>>1&1;c[3124188+(b<<5)+8>>2]=f>>>2&1;c[3124188+(b<<5)+12>>2]=f>>>3&1;c[3124188+(b<<5)+16>>2]=f>>>4&1;c[3124188+(b<<5)+20>>2]=f>>>5&1;return}switch(k|1|0){case 85:{Nk(c[798931]|0);return}case 87:{Hh();return}default:{if((k|0)==94){c[781034]=i;c[781035]=f&15;c[781036]=f>>>4&15;return}if((e&65520|0)!=24416)return;c[3124008+(g+-24416<<2)>>2]=i;return}}}}}while(0)}function $k(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)==0;if(h)i=0;else i=d[b+156904+g>>0]|0;a:do if(g>>>0>=8192){if(g>>>0<12288){b=g+-8192|0;j=d[(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]|0;break}if(g>>>0<12544){j=c[e+44832+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){b=g+-12544|0;k=(b|0)/4|0;l=b&3;b=c[e+43536+(k<<4)+(l<<2)>>2]&127;j=(c[e+44560+(k<<2)>>2]&1<<l|0)==0?b:b|128;break}if(g>>>0<17152){b=g+-12800|0;l=(b|0)/68|0;k=b-(l*68|0)|0;if((k|0)<64){b=(k|0)/2|0;if(!(k&1)){j=c[e+16+(l*680|0)+20+(b*20|0)+4>>2]<<6&192|c[e+16+(l*680|0)+20+(b*20|0)>>2];break}else{j=c[e+16+(l*680|0)+20+(b*20|0)+8>>2]<<1&14|(c[e+16+(l*680|0)+20+(b*20|0)+4>>2]|0)>>>2&1|c[e+16+(l*680|0)+20+(b*20|0)+12>>2]<<4&112|c[e+16+(l*680|0)+20+(b*20|0)+16>>2]&128;break}}switch(k|0){case 64:{j=c[e+16+(l*680|0)>>2]&254|c[e+16+(l*680|0)+4>>2]&1;break a;break}case 65:{j=c[e+16+(l*680|0)+8>>2]|0;break a;break}case 66:{j=c[e+16+(l*680|0)+12>>2]|0;break a;break}case 67:{j=c[e+16+(l*680|0)+16>>2]|0;break a;break}default:{j=i;break a}}}if(h){m=0;return m|0}if(g>>>0<24064)j=i;else{if(g>>>0<24320){l=g+-24064|0;j=(c[3120248+(((l|0)/4|0)<<2)>>2]|0)>>>(l<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){j=dn(g+-24448|0)|0;break}if(g>>>0<32768){l=g+-24576|0;k=c[(c[(c[742782]|0)+16>>2]|0)+(l>>6<<2)>>2]|0;b=l<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b=g+-32768>>13;if(!(c[3193536+(b<<2)>>2]|0)){j=i;break}k=c[(c[(c[2971132+(b<<2)>>2]|0)+16>>2]|0)+((f>>>6&127)<<2)>>2]|0;b=f<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b=g+-24320|0;b:do if(g>>>0<24336)n=c[3123880+(b<<2)>>2]|0;else{if(g>>>0<24352){n=c[3123944+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[3124072+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24356:{n=c[781025]|0;break b;break}case 24357:{n=c[781022]|0;break b;break}case 24358:{n=c[781023]|0;break b;break}case 24359:{n=c[781024]|0;break b;break}case 24360:{n=c[781030]&255;break b;break}case 24361:{n=c[781030]>>8;break b;break}case 24362:{n=c[781031]&255;break b;break}case 24363:{n=c[781031]>>8;break b;break}case 24364:{n=c[781033]|0;break b;break}case 24369:{n=c[781038]&255;break b;break}case 24370:{n=(c[781038]|0)>>>8&255;break b;break}case 24371:{n=(c[781038]|0)>>>16&255;break b;break}case 24373:{n=c[781041]&255;break b;break}case 24380:{n=c[781039]&255;break b;break}case 24381:{n=c[781039]>>8;break b;break}case 24382:{n=c[781040]&255;break b;break}case 24383:{n=c[781040]>>8;break b;break}case 24384:{n=c[781382]|0;break b;break}case 24385:{n=c[781383]|0;break b;break}case 24386:{n=c[781384]|0;break b;break}case 24387:{n=c[781385]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(xl(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(xl(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{k=g+-24396|0;if(k>>>0<8){n=((c[3124188+(k<<5)+28>>2]|0)==0?0:128)|(((c[3124188+(k<<5)+24>>2]|0)==0?0:64)|(((c[3124188+(k<<5)+20>>2]|0)==0?0:32)|(((c[3124188+(k<<5)+16>>2]|0)==0?0:16)|(((c[3124188+(k<<5)+12>>2]|0)==0?0:8)|(((c[3124188+(k<<5)+8>>2]|0)==0?0:4)|(((c[3124188+(k<<5)+4>>2]|0)==0?0:2)|(c[3124188+(k<<5)>>2]|0)!=0))))))|a[3128e3+g>>0]&-64&255;break b}if((b|0)==94){n=c[781034]&255;break b}if((f&65520|0)!=24416){n=i;break b}n=c[3124008+(g+-24416<<2)>>2]|0;break b}}}while(0)}while(0);j=n&255}}else{b=c[(c[(c[e+8>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;k=f<<1&126;j=((d[b+(k|1)>>0]|0)<<4)+(d[b+k>>0]|0)|0}while(0);m=j&255;return m|0}function al(){Wv(3264,((c[798384]|0)==0?10:4)|0,32)|0;Wv(3296,((c[798385]|0)==0?10:5)|0,32)|0;Wv(3328,((c[798386]|0)==0?10:6)|0,32)|0;Wv(3360,((c[798387]|0)==0?10:7)|0,32)|0;return}function bl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if((h|0)>32767)return;i=g&65535;j=f&65535;k=a[3136+(g>>>8&255)>>0]|0;l=k<<24>>24;m=i+h|0;n=a[3136+(f>>>8&255)>>0]|0;o=n<<24>>24;p=j+h|0;q=(j|0)>=(m|0);r=(p|0)<=(i|0);s=r|q;if(!(n<<24>>24==(a[3136+((p+65535|0)>>>8&255)>>0]|0)&(k<<24>>24==(a[3136+((m+65535|0)>>>8&255)>>0]|0)&(k<<24>>24!=0&n<<24>>24!=0)))){m=(h|0)>0;if(j>>>0<i>>>0){if(!m)return;t=0;do{_k(b,e,t+j|0,$k(b,e,t+i|0)|0);t=t+1|0}while((t|0)!=(h|0));return}else{if(!m)return;m=h;do{t=m;m=m+-1|0;_k(b,e,m+j|0,$k(b,e,m+i|0)|0)}while((t|0)>1);return}}switch(l|0){case 1:{u=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(i>>>6<<2)>>2]|0)+(i<<1&126)|0;break}case 2:{m=i+-24576|0;u=(c[(c[(c[742782]|0)+16>>2]|0)+(m>>6<<2)>>2]|0)+(m<<1&126)|0;break}case 7:case 6:case 5:case 4:{u=(c[(c[(c[2971132+(l+-4<<2)>>2]|0)+16>>2]|0)+((g>>>6&127)<<2)>>2]|0)+(i<<1&126)|0;break}case 8:{g=i+-8192|0;u=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(g>>7<<2)>>2]|0)+(g&127)|0;break}default:u=b+156904+i|0}switch(o|0){case 1:{v=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(j>>>6<<2)>>2]|0)+(j<<1&126)|0;break}case 2:{g=j+-24576|0;v=(c[(c[(c[742782]|0)+16>>2]|0)+(g>>6<<2)>>2]|0)+(g<<1&126)|0;break}case 7:case 6:case 5:case 4:{v=(c[(c[(c[2971132+(o+-4<<2)>>2]|0)+16>>2]|0)+((f>>>6&127)<<2)>>2]|0)+(j<<1&126)|0;break}case 8:{f=j+-8192|0;v=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(f>>7<<2)>>2]|0)+(f&127)|0;break}default:v=b+156904+j|0}b=l&8;if(i>>>0<j>>>0&((r|q)^1)){q=h<<(b>>>3^1);if(q|0){r=q;do{r=r+-1|0;a[v+r>>0]=a[u+r>>0]|0}while((r|0)!=0)}}else{r=(o&8|0)!=0;do if((k&8&n)<<24>>24){if(s){Vv(v|0,u|0,h|0)|0;w=v;x=u;break}if((h|0)>0){o=v+h|0;q=v;i=0;l=u;while(1){a[q>>0]=a[l>>0]|0;i=i+1|0;if((i|0)==(h|0))break;else{q=q+1|0;l=l+1|0}}w=o;x=u+h|0}else{w=v;x=u}}else{w=v;x=u}while(0);do if(!((n|k)&8)){u=h<<1;if(s){Vv(w|0,x|0,u|0)|0;y=w;z=x;A=33;break}if((h|0)<=0){B=0;C=w;D=x;E=(b|0)==0;break}v=w;l=0;q=x;while(1){a[v>>0]=a[q>>0]|0;i=v+1|0;f=q+1|0;l=l+1|0;if((l|0)>=(u|0)){y=i;z=f;A=33;break}else{v=i;q=f}}}else{y=w;z=x;A=33}while(0);if((A|0)==33){A=(b|0)==0;b=(h|0)>0;if(b&((A|r)^1)){x=y+(h<<1)|0;w=y;s=0;k=z;while(1){a[w>>0]=a[k>>0]&15;a[w+1>>0]=(d[k>>0]|0)>>>4;s=s+1|0;if((s|0)==(h|0))break;else{w=w+2|0;k=k+1|0}}B=b;C=x;D=z+h|0;E=A}else{B=b;C=y;D=z;E=A}}if(E&r&B){B=C;C=0;r=D;while(1){a[B>>0]=a[r+1>>0]<<4&255|a[r>>0]&15;C=C+1|0;if((C|0)==(h|0))break;else{B=B+1|0;r=r+2|0}}}}r=j+-4096|0;j=(r|0)<4096?r:4096;r=(j|0)>0?j:0;j=(p|0)<4096?0:(p|0)<8192?p+-4096|0:4096;if(!((j|0)>0&(r|0)<4096&(r|0)<(j|0)))return;p=(c[(c[e+12>>2]|0)+12>>2]|0)+(r+4096)|0;B=r;h=(c[(c[e+8>>2]|0)+12>>2]|0)+((r<<1)+8192)|0;while(1){a[p>>0]=a[h+1>>0]<<4&255|a[h>>0]&15;B=B+1|0;if((B|0)>=(j|0))break;else{p=p+1|0;h=h+2|0}}return}function cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c&65535;c=d&65535;d=(e|0)>0;if(f>>>0<c>>>0){if(!d)return;g=f;h=e;i=c;while(1){j=256-(i&255)|0;k=256-(g&255)|0;l=j>>>0<k>>>0?j:k;k=(l|0)<(h|0)?l:h;bl(a,b,g,i,k);h=h-k|0;if((h|0)<=0)break;else{g=k+g|0;i=k+i|0}}return}else{if(!d)return;d=f+e|0;f=e;i=c+e|0;do{e=(i+255&255)+1|0;c=(d+255&255)+1|0;g=e>>>0<c>>>0?e:c;c=(g|0)<(f|0)?g:f;i=i-c|0;d=d-c|0;bl(a,b,d,i,c);f=f-c|0}while((f|0)>0);return}}function dl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if((g|0)<=0)return;h=f&255;i=d+8|0;j=d+12|0;k=f&15;l=f>>>4&15;m=e&65535;e=g;while(1){g=256-(m&255)|0;n=(g|0)<(e|0)?g:e;a:do if((n|0)<=32767){g=m&65535;o=a[3136+(m>>>8&255)>>0]|0;p=o<<24>>24;q=n+g|0;if(!(o<<24>>24)){if((n|0)<=0)break;o=0;while(1){_k(b,d,o+g|0,f);o=o+1|0;if((o|0)==(n|0))break a}}switch(p|0){case 1:{r=(c[(c[i>>2]|0)+16>>2]|0)+(g>>>6<<2)|0;s=g;t=13;break}case 2:{o=g+-24576|0;r=(c[(c[742782]|0)+16>>2]|0)+(o>>6<<2)|0;s=o;t=13;break}case 7:case 6:case 5:case 4:{u=(c[(c[(c[2971132+(p+-4<<2)>>2]|0)+16>>2]|0)+((m>>>6&127)<<2)>>2]|0)+(g<<1&126)|0;t=11;break}case 8:{o=g+-8192|0;v=(c[(c[(c[j>>2]|0)+16>>2]|0)+(o>>7<<2)>>2]|0)+(o&127)|0;t=12;break}default:{u=b+156904+g|0;t=11}}if((t|0)==11){t=0;if(!(p&8)){w=u;t=14}else{v=u;t=12}}else if((t|0)==13){t=0;w=(c[r>>2]|0)+(s<<1&126)|0;t=14}if((t|0)==12){t=0;Wv(v|0,h|0,n|0)|0}else if((t|0)==14?(t=0,(n|0)>0):0){o=w;x=0;while(1){a[o>>0]=k;a[o+1>>0]=l;x=x+1|0;if((x|0)==(n|0))break;else o=o+2|0}}o=g+-4096|0;x=(o|0)<4096?o:4096;o=(x|0)>0?x:0;x=(q|0)<4096?0:(q|0)<8192?q+-4096|0:4096;if((o|0)<4096&(x|0)>0)Wv((c[(c[j>>2]|0)+12>>2]|0)+(o+4096)|0,h|0,x-o|0)|0}while(0);e=e-n|0;if((e|0)<=0)break;else m=n+m|0}return}function el(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{_k(b,d,h+e|0,$k(0,c[26544]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[3122552]|0))return;a[3122552]=0;g=30-(c[780904]|0)|0;h=(g|0)<30?g:30;c[780903]=(h|0)>2?h:2;c[780904]=150;return}function fl(a){a=a|0;var b=0,d=0;b=a>>16;a=$k(2971096,c[781999]|0,b)|0;d=(($k(2971096,c[781999]|0,b+1|0)|0)<<8)+a|0;a=d+(($k(2971096,c[781999]|0,b+2|0)|0)<<16)|0;return a+(($k(2971096,c[781999]|0,b+3|0)|0)<<24)|0}function gl(a){a=a|0;var b=0;b=a>>16;a=($k(2971096,c[781999]|0,b)|0)<<16;return (($k(2971096,c[781999]|0,b+1|0)|0)<<24)+a|0}function hl(a){a=a|0;return ($k(2971096,c[781999]|0,a>>16)|0)<<16|0}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,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,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,bb=0,cb=0,db=0,eb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;d=Ia;Ia=Ia+304|0;e=d+280|0;f=d+272|0;g=d+264|0;h=d+256|0;i=d;j=d+284|0;k=c[742782]|0;a:do if(!b){l=c[3115612+(c[778921]<<2)>>2]|0;m=c[l>>2]|0;n=bu(m)|0;o=c[l+336>>2]|0;p=Es(a[m+o>>0]|0)|0;b:do if((o|0)>0){m=o;while(1){q=m+-1|0;if((Es(a[(c[l>>2]|0)+q>>0]|0)|0)!=(p|0)){r=m;break b}if((m|0)>1)m=q;else{r=q;break}}}else r=o;while(0);m=o+1|0;c:do if((m|0)<(n|0)){q=m;while(1){if((Es(a[(c[l>>2]|0)+q>>0]|0)|0)!=(p|0)){s=q;break c}t=q+1|0;if((t|0)<(n|0))q=t;else{s=t;break}}}else s=m;while(0);Wv(i|0,0,256)|0;m=s-r|0;Vv(i|0,(c[l>>2]|0)+r|0,((m|0)<255?m:255)|0)|0;switch(a[i>>0]|0){case 10:case 0:break;default:{u=1;v=i;break a}}fb(62103,1500);Ia=d;return}else{u=0;v=b}while(0);ab();if((a[v>>0]|0)==60?(a[v+((bu(v)|0)+-1)>>0]|0)==62:0){Jg(62130,13);Lg(62163);Ia=d;return}if((au(v,62172)|0)!=0?(au(v,62178)|0)!=0:0)w=0;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62185,14);Lg(3196396);Lg(62200);Lg(62231);Lg(62264);Lg(3196396);Lg(62289);Lg(62321);Lg(62354);Lg(3196396);w=1}if((au(v,62378)|0)!=0?(au(v,62384)|0)!=0:0)x=w;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62388,6);Lg(3196396);Jg(62410,12);x=1}if(!(au(v,62420)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Lg(62426);Lg(62452);Lg(3196396);Jg(62480,6);Lg(3196396);Jg(62502,12);y=1}else y=x;if((au(v,62511)|0)!=0?(au(v,62518)|0)!=0:0)z=y;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62526,14);Lg(3196396);Lg(62536);Lg(62566);Lg(62597);Lg(3196396);Lg(62625);Lg(62640);Lg(62663);Lg(62683);Lg(62712);Lg(62732);Lg(62749);Lg(3196396);Jg(62775,6);Lg(3196396);Jg(62794,12);z=1}if(!(au(v,97461)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62824,14);Lg(3196396);Lg(62845);Lg(62877);Lg(62906);Lg(3196396);Jg(62930,7);Lg(62956);Lg(3196396);Jg(62959,7);Jg(62971,7);Lg(97397);Lg(3196396);Jg(62977,12);A=1}else A=z;if((au(v,63002)|0)!=0?(au(v,63008)|0)!=0:0)B=A;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63015,14);Lg(3196396);Lg(63024);Lg(63055);Lg(63088);Lg(63119);Lg(63151);Lg(63180);Lg(3196396);Jg(63209,7);Jg(63241,7);Jg(63264,7);Jg(63294,7);Jg(63322,7);Jg(63351,7);Lg(3196396);Jg(63384,6);Lg(3196396);Jg(63402,12);B=1}if(!(au(v,63433)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63437,14);Lg(3196396);Lg(63454);Lg(63478);Lg(63511);Lg(3196396);Lg(63520);Lg(63552);Lg(63577);Lg(3196396);Lg(63608);Lg(63641);Lg(63674);Lg(63700);Lg(63727);Lg(3196396);Jg(63758,6);Lg(3196396);Jg(63773,12);C=1}else C=B;if((au(v,63802)|0)!=0?(au(v,63811)|0)!=0:0)D=C;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63818,14);Lg(3196396);Lg(63846);Lg(63877);Lg(63906);Lg(3196396);Jg(63925,7);Jg(63944,7);Jg(63966,7);Jg(63997,7);Jg(3196396,7);Jg(64001,7);Jg(64018,7);Lg(64029);Jg(64032,7);Lg(97397);D=1}if(!(au(v,64043)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64049,14);Lg(3196396);Lg(64066);Lg(64097);Lg(3196396);Jg(64116,7);Jg(64122,7);Jg(64137,7);Jg(64148,7);Jg(63997,7);Lg(64160);Lg(97397);Lg(97399);E=1}else E=D;if(!(au(v,64175)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64178,14);Lg(3196396);Lg(64192);Lg(64220);Lg(64247);Lg(3196396);F=1}else F=E;if(!(au(v,63997)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64258,14);Lg(3196396);Lg(64273);Lg(64302);Lg(64331);Lg(3196396);G=1}else G=F;if((au(v,64364)|0)!=0?(au(v,64371)|0)!=0:0)H=G;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64377,14);Lg(3196396);Lg(64403);Lg(64432);Lg(64462);Lg(3196396);Lg(64480);Lg(64509);Lg(64540);Lg(3196396);Jg(64116,7);Jg(64364,7);Jg(64137,7);Jg(64148,7);Jg(64567,7);Lg(64160);Lg(97397);Lg(97399);H=1}if((((au(v,64580)|0)!=0?(au(v,64583)|0)!=0:0)?(au(v,64588)|0)!=0:0)?(au(v,64595)|0)!=0:0)I=H;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64600,14);Lg(3196396);Lg(64625);Lg(64656);Lg(64689);Lg(3196396);Jg(64699,7);Jg(64713,7);Jg(63997,7);Lg(3196396);Jg(64745,7);Jg(64759,7);Jg(64787,7);Jg(64805,7);Jg(64595,7);Jg(64828,7);Jg(63997,7);Lg(3196396);Jg(64854,7);I=1}if((au(v,64883)|0)!=0?(au(v,64887)|0)!=0:0)J=I;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64890,14);Lg(3196396);Lg(64902);Lg(3196396);Jg(64934,7);Jg(64137,7);Jg(63997,7);Lg(64947);Lg(3196396);Lg(64968);Lg(3196396);Jg(64994,7);Lg(65022);Lg(3196396);Lg(65041);Lg(65071);Lg(3196396);Jg(65092,12);J=1}if((((au(v,65112)|0)!=0?(au(v,65117)|0)!=0:0)?(au(v,65123)|0)!=0:0)?(au(v,65127)|0)!=0:0)K=J;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65135,14);Lg(3196396);Lg(65152);Lg(65183);Lg(65213);Lg(65244);Lg(65272);Lg(3196396);Jg(65301,7);Lg(65123);Jg(65332,7);Lg(65117);Lg(3196396);Lg(65348);Lg(65380);Lg(3196396);Jg(62959,7);Jg(65413,7);K=1}if((au(v,94273)|0)!=0?(au(v,65443)|0)!=0:0)L=K;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65449,14);Lg(3196396);Lg(65459);Lg(65489);Lg(3196396);Lg(65502);Lg(65507);Lg(65516);Lg(65524);Lg(65532);Lg(65542);Lg(3196396);Jg(65549,6);Lg(3196396);Jg(65561,12);L=1}if(!(au(v,92620)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65584,14);Lg(3196396);Lg(65601);Lg(65630);Lg(65658);Lg(65685);Lg(3196396);Jg(65712,7);Jg(65728,7);Jg(65758,7);Jg(65770,7);Jg(63997,7);Lg(3196396);Jg(65781,7);Jg(65796,7);M=1}else M=L;do if(au(v,65829)|0){if(!(au(v,65831)|0)){N=102;break}if(!(au(v,65833)|0)){N=102;break}if(au(v,65836)|0){O=M;P=0}else N=102}else N=102;while(0);do if((N|0)==102){if(!u){O=1;P=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);O=1;P=1}while(0);do if(au(v,65839)|0){if(!(au(v,65842)|0)){N=107;break}if(au(v,65845)|0){Q=O;R=P}else N=107}else N=107;while(0);do if((N|0)==107){if(!u){Q=1;R=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);Q=1;R=1}while(0);do if(au(v,65848)|0){if(!(au(v,65852)|0)){N=112;break}if(au(v,65855)|0){S=Q;T=R}else N=112}else N=112;while(0);do if((N|0)==112){if(!u){S=1;T=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);S=1;T=1}while(0);do if(au(v,65859)|0){if(!T){U=S;break}if(!u)N=120;else N=119}else{if(!u){N=120;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=119}while(0);if((N|0)==119){c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=120}if((N|0)==120){Jg(65865,14);Lg(3196396);Lg(65894);Lg(3196396);Lg(65921);Lg(3196396);Jg(65938,7);Jg(65963,7);Jg(65989,7);Jg(66014,7);Lg(3196396);Lg(66039);Lg(3196396);Lg(66064);Lg(3196396);Lg(66086);U=1}if(!(au(v,97449)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66110,14);Lg(3196396);Lg(66126);Lg(66151);Lg(3196396);Jg(66173,7);Jg(66183,7);Lg(97407);V=1}else V=U;if((au(v,66188)|0)!=0?(au(v,66193)|0)!=0:0)W=V;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66197,6);Lg(3196396);Jg(66227,12);Jg(66251,12);Jg(66274,12);Lg(3196396);Jg(62526,6);Lg(3196396);Jg(62794,12);Lg(3196396);Jg(63015,6);Lg(3196396);Jg(63402,12);W=1}if(!(au(v,62384)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66293,14);Lg(3196396);Lg(66324);Lg(3196396);Lg(66343);Lg(66376);Lg(66407);Lg(3196396);Lg(66433);Lg(66465);Lg(66496);X=1}else X=W;if(!(au(v,94593)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66529,14);Lg(3196396);Lg(66557);Lg(66590);Lg(3196396);Lg(66621);Lg(66654);Lg(66686);Lg(66717);Y=1}else Y=X;if(!(au(v,66739)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66743,14);Lg(3196396);Lg(66760);Lg(66793);Lg(3196396);Lg(66826);Lg(3196396);Lg(66847);Lg(3196396);Lg(66872);Lg(66901);Z=1}else Z=Y;do if(!(au(v,66916)|0)){if(!u){_=1;$=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);_=1;$=1}else{_=Z;$=0}while(0);if(!(a[v+1>>0]|0)){Z=a[v>>0]|0;if(($|0)==0&((Z&255)>153|Z<<24>>24>-1))aa=_;else N=148}else if(!$)aa=_;else N=148;if((N|0)==148){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66923,14);Lg(3196396);Lg(66938);Lg(66966);Lg(66994);Lg(67022);Lg(67055);Lg(3196396);Jg(67071,6);Lg(3196396);Lg(67081);Lg(3196396);Jg(67105,6);Lg(3196396);Lg(67133);Lg(3196396);Lg(3196396);Lg(3196396);_=c[781024]|0;$=_+-15|0;Z=_+-5|0;_=c[781038]|0;Y=0;do{X=Y<<3;c[781038]=(c[3392+(Y<<2)>>2]|0)+(49072>>>Y<<31>>31);Ck(c[742782]|0,X,$,X|6,Z,(0-(Y&1)&3)+6|0)|0;c[781038]=_;Y=Y+1|0}while((Y|0)!=16);Jg(67150,12);aa=1}if(!(au(v,67175)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67180,14);Lg(3196396);Lg(67198);Lg(67229);Lg(67258);Lg(3196396);Lg(66826);Lg(3196396);Lg(66847);Lg(3196396);Lg(67291);Lg(3196396);Lg(67320);Lg(67351);Lg(3196396);Lg(67382);Lg(67413);Lg(67444);ba=1}else ba=aa;do if(au(v,67469)|0){if(!(au(v,67474)|0)){N=161;break}if(!(au(v,67478)|0)){N=161;break}if(au(v,67484)|0)ca=ba;else N=161}else N=161;while(0);if((N|0)==161){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67491,6);Lg(3196396);Lg(67506);Lg(3196396);Lg(67533);Lg(3196396);Lg(67559);Lg(67591);Lg(67621);Lg(3196396);Jg(67633,6);Lg(3196396);Jg(67647,12);ca=1}if((au(v,67678)|0)!=0?(au(v,67683)|0)!=0:0)da=ca;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67689,6);Lg(3196396);Jg(67720,12);Jg(67749,12);Jg(67778,12);Jg(67797,12);Jg(3196396,12);Jg(67820,6);Lg(3196396);Jg(67840,12);da=1}if((au(v,67869)|0)!=0?(au(v,67873)|0)!=0:0)ea=da;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67877,14);Lg(3196396);Lg(67894);Lg(67926);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);da=c[781024]|0;ca=da+-34|0;vk(k,34,ca,20,7);ba=da+-48|0;bo(k,34,ca,48,ba,14);vk(k,48,ba,1,7);vk(k,34,ca,1,7);Bo(k,67957,c[742805]|0,28,da+-30|0,1,13)|0;Bo(k,67961,c[742805]|0,54,da+-53|0,1,13)|0;ba=da+-36|0;Bo(k,67980,c[742805]|0,57,ba,1,6)|0;bo(k,54,ca,52,ca,7);Bo(k,67984,c[742805]|0,27,da+-61|0,1,6)|0;aa=da+-54|0;Y=da+-52|0;bo(k,34,aa,34,Y,7);Bo(k,67989,c[742805]|0,1,ba,1,6)|0;bo(k,14,ca,16,ca,7);Bo(k,67993,c[742805]|0,27,da+-11|0,1,6)|0;bo(k,34,aa,34,Y,7);Lg(67998);Lg(68025);Lg(68055);Lg(68087);ea=1}if(!(au(v,68111)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68117,14);Lg(3196396);Lg(68132);Lg(68162);Lg(68194);Lg(68227);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Y=c[781024]|0;aa=Y+-34|0;vk(k,34,aa,20,7);da=Y+-48|0;bo(k,34,aa,48,da,14);vk(k,48,da,1,7);vk(k,34,aa,1,7);Bo(k,67957,c[742805]|0,28,Y+-30|0,1,13)|0;Bo(k,68257,c[742805]|0,54,Y+-53|0,1,13)|0;da=Y+-36|0;Bo(k,67980,c[742805]|0,57,da,1,6)|0;bo(k,54,aa,52,aa,7);Bo(k,67984,c[742805]|0,27,Y+-61|0,1,6)|0;ca=Y+-54|0;ba=Y+-52|0;bo(k,34,ca,34,ba,7);Bo(k,67989,c[742805]|0,1,da,1,6)|0;bo(k,14,aa,16,aa,7);Bo(k,67993,c[742805]|0,27,Y+-11|0,1,6)|0;bo(k,34,ca,34,ba,7);Lg(68268);fa=1}else fa=ea;if(!(au(v,68300)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68305,14);Lg(3196396);Lg(68315);ga=1}else ga=fa;if(!(au(v,68343)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68347,14);Jg(68358,14);Lg(3196396);Lg(68372);Lg(68402);Lg(68433);Lg(3196396);Lg(68456);Lg(68488);ha=1}else ha=ga;if(!(au(v,68517)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68523,14);Lg(3196396);Lg(68534);Lg(68566);Lg(68598);Lg(68626);Lg(68657);Lg(3196396);ia=1}else ia=ha;do if(au(v,68672)|0){if(!(au(v,68676)|0)){N=193;break}if(au(v,93421)|0)ja=ia;else N=193}else N=193;while(0);if((N|0)==193){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68680,14);Lg(3196396);Lg(68711);Lg(68740);Lg(68767);Lg(68795);Lg(3196396);Lg(68813);Lg(68833);Lg(68852);ja=1}if((au(v,68871)|0)!=0?(au(v,68875)|0)!=0:0)ka=ja;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68880,14);Lg(3196396);Lg(68897);Lg(68929);Lg(68959);Lg(68990);Lg(3196396);Lg(69020);Lg(69041);Lg(69062);Lg(69083);Lg(69105);ka=1}if(!(au(v,69126)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69130,14);Lg(3196396);Lg(69139);Lg(69162);Lg(3196396);Lg(69178);la=1}else la=ka;if(!(au(v,69208)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69212,14);Lg(3196396);Lg(69221);Lg(69252);Lg(3196396);Lg(69264);Lg(69282);Lg(3196396);Lg(69300);Lg(69325);Lg(69353);Lg(69385);ma=1}else ma=la;if((au(v,69413)|0)!=0?(au(v,96848)|0)!=0:0)na=ma;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69418,14);Jg(69428,14);Lg(3196396);Lg(69434);Lg(69462);Lg(69491);Lg(69521);Lg(3196396);Lg(69526);Lg(69558);Lg(3196396);Jg(69569,7);Lg(69595);Lg(3196396);Jg(69607,13);Jg(69640,13);na=1}do if(au(v,69669)|0){if(!(au(v,69674)|0)){N=217;break}if(au(v,69676)|0)oa=na;else N=217}else N=217;while(0);if((N|0)==217){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69679,14);Jg(69692,14);Lg(3196396);Lg(69701);Lg(69462);Lg(69729);Lg(69757);Lg(3196396);Lg(69773);Lg(69804);Lg(69835);Lg(69804);Lg(69866);Lg(3196396);Jg(69897,7);Lg(69924);oa=1}do if(au(v,69936)|0){if(!(au(v,69940)|0)){N=223;break}if(au(v,69942)|0)pa=oa;else N=223}else N=223;while(0);if((N|0)==223){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69945,14);Jg(69957,14);Lg(3196396);Lg(69966);Lg(69462);Lg(69993);Lg(70021);Lg(3196396);Lg(69773);Lg(69804);Lg(70036);Lg(69804);Lg(70067);Lg(3196396);Jg(70098,7);Lg(70125);pa=1}do if(au(v,70137)|0){if(!(au(v,70142)|0)){N=229;break}if(au(v,65842)|0)qa=pa;else N=229}else N=229;while(0);if((N|0)==229){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70145,14);Jg(70158,14);Jg(70167,14);Lg(3196396);Lg(70191);Lg(70221);Lg(70253);Lg(70286);Lg(70319);Lg(70352);Lg(3196396);Lg(69773);Lg(69804);Lg(70036);Lg(69804);Lg(70382);Lg(3196396);Jg(70413,7);Lg(70440);qa=1}do if(au(v,70452)|0){if(!(au(v,70456)|0)){N=235;break}if(au(v,70459)|0)ra=qa;else N=235}else N=235;while(0);if((N|0)==235){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70463,14);Jg(70475,14);Lg(3196396);Lg(70485);Lg(70513);Lg(3196396);Jg(70538,7);Lg(70564);ra=1}do if(au(v,70576)|0){if(!(au(v,70580)|0)){N=241;break}if(au(v,70583)|0)sa=ra;else N=241}else N=241;while(0);if((N|0)==241){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70587,14);Jg(70599,14);Lg(3196396);Lg(70609);Lg(70642);Lg(70672);Lg(70702);Lg(70730);Lg(3196396);Jg(70740,7);Lg(70768);sa=1}do if(au(v,70780)|0){if(!(au(v,70785)|0)){N=247;break}if(au(v,70789)|0)ta=sa;else N=247}else N=247;while(0);if((N|0)==247){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70587,14);Jg(70794,14);Lg(3196396);Lg(70805);Lg(70835);Lg(70867);Lg(3196396);Jg(70890,7);Lg(70919);ta=1}do if(au(v,70931)|0){if(!(au(v,70936)|0)){N=253;break}if(au(v,70940)|0)ua=ta;else N=253}else N=253;while(0);if((N|0)==253){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70945,14);Jg(70958,14);Lg(3196396);Lg(70969);Lg(3196396);Jg(70996,7);Lg(71027);ua=1}do if(au(v,71039)|0){if(!(au(v,71044)|0)){N=259;break}if(au(v,71048)|0)va=ua;else N=259}else N=259;while(0);if((N|0)==259){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71053,14);Jg(71066,14);Lg(3196396);Lg(71077);Lg(3196396);Jg(71105,7);Lg(71136);va=1}if(!(au(v,71148)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71156,14);Lg(3196396);Lg(71166);Lg(71194);Lg(71223);Lg(71248);Lg(71277);Lg(71307);Lg(3196396);Lg(71327);Lg(3196396);Lg(71351);Lg(71382);Lg(71411);Lg(71443);Lg(3196396);Lg(71475);Lg(71492);wa=1}else wa=va;if((au(v,71504)|0)!=0?(au(v,71508)|0)!=0:0)xa=wa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71520,14);Lg(3196396);Lg(71534);Lg(71564);Lg(3196396);Jg(71593,7);Lg(71607);Lg(3196396);Lg(71610);Lg(71642);Lg(71671);Lg(71701);Lg(71733);Lg(71766);Lg(3196396);Lg(71793);Lg(3196396);Lg(71825);Lg(71847);xa=1}if(!(au(v,71880)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71887,14);Lg(3196396);Lg(71896);Lg(71929);Lg(3196396);Jg(71962,7);Lg(71981);Lg(3196396);Lg(71986);Lg(72019);Lg(72052);Lg(3196396);Lg(72085);Lg(72117);Lg(72149);Lg(72180);Lg(72212);Lg(72243);Lg(72276);ya=1}else ya=xa;if((au(v,72306)|0)!=0?(au(v,72315)|0)!=0:0)za=ya;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72325,14);Lg(3196396);Lg(72337);Lg(72370);Lg(72399);Lg(72431);Lg(72463);Lg(72495);Lg(3196396);Lg(72528);Lg(72561);Lg(72594);Lg(72627);Lg(3196396);Jg(72648,7);Jg(72681,7);Lg(97407);Lg(3196396);Jg(72714,12);za=1}do if(au(v,72740)|0){if(!(au(v,72742)|0)){N=284;break}if(!(au(v,97447)|0)){N=284;break}if(au(v,72745)|0)Aa=za;else N=284}else N=284;while(0);if((N|0)==284){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72748,14);Lg(3196396);Lg(72770);Lg(3196396);Jg(72785,7);Lg(97405);Jg(72792,7);Jg(72798,7);Jg(66183,7);Lg(97401);Lg(3196396);Lg(72805);Lg(72837);Lg(3196396);Jg(72868,7);Lg(72882);Aa=1}do if(au(v,97321)|0){if(!(au(v,72889)|0)){N=291;break}if(!(au(v,97471)|0)){N=291;break}if(au(v,72892)|0)Ba=Aa;else N=291}else N=291;while(0);if((N|0)==291){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72895,14);Lg(3196396);Lg(72918);Lg(72950);Lg(3196396);Jg(72968,7);Lg(72975);Jg(72978,7);Jg(72984,7);Jg(66183,7);Lg(97395);Lg(3196396);Lg(72991);Lg(73024);Lg(73054);Lg(3196396);Jg(73086,7);Lg(73107);Ba=1}if((au(v,73119)|0)!=0?(au(v,73121)|0)!=0:0)Ca=Ba;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73124,14);Lg(3196396);Lg(73153);Lg(73180);Lg(3196396);Jg(73209,7);Lg(97399);Jg(73236,7);Jg(73245,7);Jg(66183,7);Lg(97401);Ca=1}if((au(v,73254)|0)!=0?(au(v,73256)|0)!=0:0)Da=Ca;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73259,14);Lg(3196396);Lg(73283);Lg(73310);Lg(73340);Lg(3196396);Jg(73352,7);Lg(97393);Lg(3196396);Lg(73363);Lg(73393);Lg(73423);Lg(3196396);Lg(73454);Lg(73484);Lg(73513);Lg(73546);Lg(3196396);Jg(73575,12);Da=1}if((au(v,73608)|0)!=0?(au(v,73610)|0)!=0:0)Ea=Da;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73613,14);Lg(3196396);Lg(73639);Lg(73672);Lg(3196396);Jg(73693,7);Lg(73721);Jg(73725,7);Lg(97399);Lg(3196396);Jg(73737,13);Jg(73768,13);Jg(73800,13);Ea=1}if((au(v,96845)|0)!=0?(au(v,73829)|0)!=0:0)Fa=Ea;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73833,14);Lg(3196396);Lg(73864);Lg(73896);Lg(73929);Lg(3196396);Jg(73961,7);Lg(73982);Jg(73994,7);Jg(74002,7);Lg(74017);Fa=1}if(!(au(v,74024)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74028,14);Lg(3196396);Lg(74045);Lg(3196396);Jg(74077,7);Jg(74101,7);Jg(74110,7);Jg(63997,7);Jg(74129,7);Lg(64160);Lg(97393);Lg(97395);Lg(97397);Lg(3196396);Jg(74146,12);Ga=1}else Ga=Fa;do if(au(v,74175)|0){if(!(au(v,74182)|0)){N=321;break}if(au(v,74189)|0)Ha=Ga;else N=321}else N=321;while(0);if((N|0)==321){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74194,14);Jg(74211,14);Jg(74224,14);Lg(3196396);Lg(74239);Lg(74268);Lg(3196396);Lg(74298);Lg(3196396);Lg(74331);Lg(74359);Lg(74387);Lg(3196396);Jg(74419,7);Jg(74440,7);Jg(74466,7);Jg(74496,7);Jg(63997,7);Jg(74515,7);Ha=1}if(!(au(v,74547)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74554,6);Lg(3196396);Jg(74577,12);Jg(74603,12);Jg(74631,12);Jg(3196396,12);Jg(74658,6);Lg(3196396);Jg(74676,12);Jg(74705,12);Jg(74735,12);Jg(3196396,12);Jg(74762,6);Lg(3196396);Jg(74774,12);Lg(3196396);Jg(74804,6);Lg(3196396);Jg(62502,12);Ja=1}else Ja=Ha;if(!(au(v,74812)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Lg(74818);Jg(74850,14);Lg(3196396);Lg(74860);Lg(74889);Lg(74921);Ka=1}else Ka=Ja;if(!(au(v,74948)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74954,14);Lg(3196396);Lg(74964);Lg(74991);Lg(75018);Lg(75047);Lg(75074);Lg(75100);Lg(75131);Lg(75162);La=1}else La=Ka;if((au(v,75186)|0)!=0?(au(v,75194)|0)!=0:0)Ma=La;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75204,14);Lg(3196396);Lg(75228);Lg(75256);Lg(75287);Lg(75318);Lg(75345);Lg(75372);Ma=1}if(!(au(v,75380)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75384,6);Lg(3196396);Jg(75404,12);Jg(75435,12);Jg(75465,12);Jg(75495,12);Jg(75519,12);Jg(75539,12);Jg(75569,12);Na=1}else Na=Ma;if(!(au(v,75588)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75593,14);Lg(3196396);Lg(75602);Lg(75635);Lg(3196396);Lg(75661);Lg(75692);Lg(75724);Lg(3196396);Lg(75737);Lg(3196396);Jg(75764,7);Jg(75779,7);Jg(75811,7);Jg(63997,7);Oa=1}else Oa=Na;if(!(au(v,75819)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75826,14);Lg(3196396);Lg(75841);Lg(75871);Lg(3196396);Lg(75899);Pa=1}else Pa=Oa;if(!(au(v,75917)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75922,14);Lg(3196396);Lg(75953);Lg(75984);Lg(76015);Lg(76047);Qa=1}else Qa=Pa;if(!(au(v,76068)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76072,14);Lg(3196396);Lg(76085);Lg(76116);Lg(76149);Ra=1}else Ra=Qa;if(!(au(v,76159)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76165,14);Lg(3196396);Lg(76180);Lg(76211);Lg(76240);Lg(3196396);Lg(76270);Lg(76301);Lg(76332);Lg(76363);Lg(3196396);Lg(76383);Lg(3196396);Lg(76412);Lg(76445);Lg(76478);Sa=1}else Sa=Ra;if((au(v,76508)|0)!=0?(au(v,76512)|0)!=0:0)Ta=Sa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76520,14);Lg(3196396);Lg(76539);Lg(3196396);Lg(76570);Lg(76595);Lg(76613);Lg(3196396);Lg(76633);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Sa=0;do{Ra=(Sa*10|0)+-40|0;Qa=Sa<<2;Pa=Ra+(c[781024]|0)|0;Pn(c[742782]|0,2,Pa,13,Pa+9|0,Qa);c[h>>2]=Qa;wt(j,76653,h)|0;Bo(c[742782]|0,j,c[742805]|0,4,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Oa=Qa|1;Pn(c[742782]|0,14,Pa,25,Pa+9|0,Oa);c[g>>2]=Oa;wt(j,76653,g)|0;Bo(c[742782]|0,j,c[742805]|0,16,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Oa=Qa|2;Pn(c[742782]|0,26,Pa,37,Pa+9|0,Oa);c[f>>2]=Oa;wt(j,76653,f)|0;Bo(c[742782]|0,j,c[742805]|0,28,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Ra=Qa|3;Pn(c[742782]|0,38,Pa,49,Pa+9|0,Ra);c[e>>2]=Ra;wt(j,76653,e)|0;Bo(c[742782]|0,j,c[742805]|0,40,Pa+2|0,1,(Ra|0)==7?5:7)|0;Sa=Sa+1|0}while((Sa|0)!=4);Ta=1}if(!(au(v,76657)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76662,14);Lg(3196396);Lg(76675);Lg(76707);Lg(76738);Lg(76768);Lg(3196396);Lg(76787);Lg(3196396);Lg(76816);Lg(76846);Lg(76876);Lg(76908);Lg(3196396);Lg(76940);Lg(76971);Lg(76984);Lg(77014);Ua=1}else Ua=Ta;if(!(au(v,77028)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77034,14);Lg(3196396);Lg(77045);Lg(77076);Lg(77107);Lg(77139);Lg(77171);Lg(3196396);Lg(77204);Lg(77233);Lg(77262);Lg(77291);Lg(3196396);Lg(77320);Lg(3196396);Lg(3196396);Lg(77350);Lg(3196396);Lg(3196396);Ta=c[781024]|0;Sa=Ta+-29|0;j=c[781038]|0;c[781038]=33825;e=Ta+-21|0;Ck(c[742782]|0,4,Sa,60,e,120)|0;c[781038]=20640;Ck(c[742782]|0,64,Sa,120,e,120)|0;e=Ta+-11|0;c[781038]=47133;Ck(c[742782]|0,4,e,40,Ta,46)|0;c[781038]=20927;Ck(c[742782]|0,44,e,80,Ta,46)|0;c[781038]=31455;Ck(c[742782]|0,84,e,120,Ta,46)|0;c[781038]=j;Va=1}else Va=Ua;if(!(au(v,77378)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77383,14);Lg(3196396);Lg(77415);Lg(77443);Lg(77472);Lg(77505);Wa=1}else Wa=Va;if((au(v,77519)|0)!=0?(au(v,77524)|0)!=0:0)Xa=Wa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77533,14);Jg(77563,14);Lg(3196396);Lg(77594);Lg(77621);Lg(77646);Lg(77672);Xa=1}if((au(v,77690)|0)!=0?(au(v,77696)|0)!=0:0)Ya=Xa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77706,14);Jg(77737,14);Lg(3196396);Lg(77594);Lg(77769);Lg(77799);Ya=1}if((au(v,77828)|0)!=0?(au(v,77833)|0)!=0:0)Za=Ya;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77842,14);Jg(77872,14);Lg(3196396);Lg(77903);Lg(77932);Za=1}if((au(v,77953)|0)!=0?(au(v,77958)|0)!=0:0)_a=Za;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77967,14);Jg(77994,14);Lg(3196396);Lg(78022);Lg(78052);Lg(78081);Lg(78109);_a=1}if(!(au(v,78116)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78120,14);Jg(78146,14);Lg(3196396);Lg(78168);Lg(78198);Lg(78225);Lg(78258);Lg(3196396);Lg(78276);Lg(78308);Lg(78339);Lg(3196396);Lg(78369);Lg(78402);$a=1}else $a=_a;if((au(v,78430)|0)!=0?(au(v,78435)|0)!=0:0)bb=$a;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78440,14);Jg(78452,14);Lg(3196396);Lg(78469);Lg(78501);Lg(78534);bb=1}if((au(v,78564)|0)!=0?(au(v,78569)|0)!=0:0)cb=bb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78574,14);Jg(78589,14);Jg(78610,14);Lg(3196396);Lg(78629);Lg(78662);Lg(78693);Lg(78726);Lg(3196396);Lg(78759);Lg(78784);Lg(78815);Lg(78848);Lg(3196396);Lg(78870);Lg(78901);cb=1}if(!(au(v,78930)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78936,14);Jg(78966,14);Lg(3196396);Lg(78991);Lg(79023);Lg(79052);Lg(79080);Lg(79113);Lg(3196396);Lg(79144);Lg(79174);Lg(79204);Lg(3196396);Lg(79235);Lg(79247);Lg(79275);Lg(79304);Lg(79330);Lg(79356);db=1}else db=cb;if(!(au(v,79382)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79386,14);Jg(79409,14);Lg(3196396);Lg(79431);Lg(3196396);Lg(79453);Lg(79484);Lg(79517);Lg(3196396);Lg(79538);Lg(79570);Lg(3196396);Lg(79603);Lg(79632);eb=1}else eb=db;if(!(au(v,79657)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79662,14);Jg(79693,14);Lg(3196396);Lg(79725);Lg(79757);Lg(3196396);Lg(79782);Lg(79813);Lg(79845);Lg(3196396);Lg(79603);Lg(79871);gb=1}else gb=eb;if((au(v,79897)|0)!=0?(au(v,79902)|0)!=0:0)hb=gb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79907,14);Jg(79919,14);Lg(3196396);Lg(79936);Lg(79968);hb=1}if((au(v,79995)|0)!=0?(au(v,8e4)|0)!=0:0)ib=hb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80005,14);Jg(80017,14);Lg(3196396);Lg(79936);Lg(80034);ib=1}if((au(v,80056)|0)!=0?(au(v,80062)|0)!=0:0)jb=ib;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80064,14);Jg(80090,14);Lg(3196396);Lg(80111);Lg(80140);Lg(3196396);Lg(80171);Lg(80200);Lg(3196396);Lg(80223);Lg(3196396);Jg(80232,13);Lg(80251);Lg(80281);Lg(80311);Lg(80329);Lg(80360);Lg(80391);Lg(80408);jb=1}if(!(au(v,80416)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80423,14);Jg(80449,14);Lg(3196396);Lg(80478);Lg(80509);Lg(80538);Lg(80571);Lg(80597);Lg(3196396);Lg(80616);Lg(80649);Lg(80674);Lg(80705);Lg(80738);kb=1}else kb=jb;if(!(au(v,80747)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80754,14);Lg(3196396);Lg(80775);Lg(3196396);Lg(80799);Lg(80833);lb=1}else lb=kb;do if(au(v,80854)|0){if(!(au(v,80859)|0)){N=455;break}if(au(v,80865)|0){mb=lb;nb=0}else N=455}else N=455;while(0);do if((N|0)==455){if(!u){mb=1;nb=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);mb=1;nb=1}while(0);do if(au(v,80871)|0){if(!(au(v,80873)|0)){N=459;break}if(!nb){ob=mb;break}if(!u)N=464;else N=463}else N=459;while(0);do if((N|0)==459){if(!u){N=464;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=463}while(0);if((N|0)==463){c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=464}if((N|0)==464){Jg(80875,14);Lg(3196396);Lg(80893);Lg(80926);Lg(80959);Lg(80991);Lg(81024);Lg(3196396);Lg(81048);Lg(3196396);Jg(81078,7);Lg(3196396);Lg(81100);Lg(3196396);Jg(81125,7);Jg(81146,7);Jg(81168,7);ob=1}do if(au(v,81190)|0){if(!(au(v,81195)|0)){N=468;break}if(au(v,81201)|0)pb=ob;else N=468}else N=468;while(0);if((N|0)==468){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81207,14);Lg(3196396);Lg(81239);Lg(81270);Lg(81299);Lg(81331);Lg(3196396);Lg(81348);Lg(3196396);Jg(81378,7);pb=1}if(!(au(v,81408)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81415,14);Lg(3196396);Lg(81440);Lg(81471);Lg(81499);Lg(3196396);Lg(81510);Lg(3196396);Lg(81539);qb=1}else qb=pb;if(!(au(v,81568)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81575,14);Lg(3196396);Lg(81600);Lg(81632);Lg(81657);Lg(81688);Lg(3196396);Lg(81700);Lg(81733);Lg(3196396);Jg(81758,7);rb=1}else rb=qb;if(!(au(v,81788)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81795,14);Lg(3196396);Lg(81826);Lg(81854);Lg(81883);Lg(3196396);Lg(81913);Lg(3196396);Lg(81942);Lg(81971);Lg(81999);Lg(3196396);Lg(82028);Lg(82055);Lg(82084);sb=1}else sb=rb;if(!(au(v,82100)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82107,14);Lg(3196396);Lg(81826);Lg(82138);Lg(82169);Lg(3196396);Lg(82192);Lg(82222);tb=1}else tb=sb;if(!(au(v,82249)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82258,14);Lg(3196396);Lg(82290);Lg(3196396);Lg(82321);Lg(82353);Lg(82382);Lg(3196396);Lg(82403);Lg(82432);Lg(82462);Lg(82495);Lg(3196396);Lg(82517);Lg(82547);Lg(82578);Lg(3196396);Lg(82587);Lg(82615);ub=1}else ub=tb;if(!(au(v,82643)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82652,14);Lg(3196396);Lg(82667);Lg(82698);Lg(82730);Lg(82762);Lg(3196396);Lg(82793);Lg(82825);Lg(82857);Lg(82889);Lg(3196396);Lg(82908);Lg(82938);Lg(82968);Lg(82998);vb=1}else vb=ub;if((au(v,83028)|0)!=0?(au(v,83033)|0)!=0:0)wb=vb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83038,14);Jg(83048,14);Lg(3196396);Lg(83064);Lg(83096);Lg(3196396);Lg(83129);Lg(83159);Lg(83189);Lg(83219);Lg(3196396);Lg(83252);Lg(83280);Lg(83311);wb=1}if(!(au(v,83323)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83327,14);Lg(3196396);Lg(83352);Lg(83385);Lg(83415);Lg(83448);Lg(83478);Lg(83508);Lg(83540);Lg(3196396);Jg(83568,7);Jg(83593,7);Jg(83619,7);Lg(3196396);Lg(83643);Lg(3196396);Jg(83675,7);Jg(83685,7);Lg(83692);xb=1}else xb=wb;if(!(au(v,83694)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83698,14);Lg(3196396);Lg(83728);Lg(83758);Lg(3196396);Lg(83777);Jg(83782,7);Lg(3196396);Lg(83792);Jg(83801,7);yb=1}else yb=xb;if(!(au(v,83827)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83831,14);Lg(3196396);Lg(83856);Lg(83888);Lg(3196396);Lg(83921);Lg(83953);Lg(3196396);Jg(83983,7);Jg(84004,7);Lg(3196396);Lg(84025);Jg(84037,7);Lg(3196396);Lg(84060);Jg(84090,7);zb=1}else zb=yb;if(!(au(v,84123)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84129,14);Lg(3196396);Lg(3196396);Lg(84159);Lg(84190);Lg(84216);Lg(3196396);Lg(84248);Lg(84280);Lg(84309);Lg(84339);Lg(3196396);Jg(84351,7);Jg(84377,7);Jg(84407,7);Lg(84436);Ab=1}else Ab=zb;if(!(au(v,84459)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84465,14);Lg(3196396);Lg(84488);Lg(3196396);Lg(84513);Lg(3196396);Lg(84535);Lg(84567);Lg(3196396);Lg(84590);Lg(84611);Lg(84641);Lg(84670);Bb=1}else Bb=Ab;if(!(au(v,84696)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84702,14);Lg(3196396);Lg(84725);Lg(84753);Lg(84783);Lg(3196396);Lg(84513);Lg(3196396);Lg(84796);Lg(84827);Lg(84854);Lg(84885);Lg(84914);Lg(3196396);Jg(84945,7);Jg(84974,7);Jg(85002,7);Jg(85025,7);Cb=1}else Cb=Bb;if(!(au(v,85042)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85046,14);Lg(3196396);Lg(85071);Lg(85101);Lg(3196396);Jg(85121,7);Lg(3196396);Lg(85141);Lg(85168);Lg(85194);Lg(3196396);Jg(85204,7);Jg(85219,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Db=1}else Db=Cb;if(!(au(v,85302)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85306,14);Lg(3196396);Lg(85322);Lg(85351);Lg(85381);Lg(3196396);Lg(85413);Lg(85445);Lg(3196396);Jg(85477,7);Jg(85490,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Eb=1}else Eb=Db;if(!(au(v,85511)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85516,14);Lg(3196396);Lg(85535);Lg(85565);Lg(85381);Lg(3196396);Lg(85413);Lg(85445);Lg(3196396);Lg(85596);Lg(85628);Lg(3196396);Jg(85654,7);Jg(85666,7);Jg(85686,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Fb=1}else Fb=Eb;if(!(au(v,85704)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85708,14);Lg(3196396);Lg(85719);Lg(85748);Lg(3196396);Jg(85775,7);Jg(85785,7);Jg(85798,7);Jg(85817,7);Jg(63997,7);Jg(85830,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Gb=1}else Gb=Fb;if(!(au(v,85841)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85849,14);Lg(3196396);Lg(85870);Lg(85903);Lg(85936);Lg(3196396);Jg(85952,7);Lg(97393);Lg(97395);Lg(85982);Lg(3196396);Jg(85249,13);Jg(85278,13);Hb=1}else Hb=Gb;if(!(au(v,85986)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85992,14);Lg(3196396);Lg(86005);Lg(86036);Lg(86068);Lg(86100);Lg(86129);Lg(86162);Lg(3196396);Jg(86187,7);Jg(86217,7);Jg(86240,7);Jg(63997,7);Lg(3196396);Lg(86268);Lg(86279);Ib=1}else Ib=Hb;if(!(au(v,86293)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86297,14);Lg(3196396);Lg(86316);Lg(86345);Lg(86371);Lg(3196396);Lg(86393);Lg(86424);Lg(86456);Jb=1}else Jb=Ib;if(!(au(v,86465)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86470,14);Lg(3196396);Lg(86488);Lg(86515);Lg(86544);Lg(3196396);Lg(86555);Lg(86585);Lg(86613);Lg(86645);Kb=1}else Kb=Jb;if(!(au(v,86658)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86665,14);Jg(86676,14);Lg(3196396);Lg(86683);Lg(86709);Lg(86739);Lg(3196396);Lg(86759);Lg(86788);Lg(86819);Lg(86852);Lb=1}else Lb=Kb;if(!(au(v,86860)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86866,14);Lg(3196396);Lg(86876);Lg(86907);Lg(86939);Lg(3196396);Lg(86947);Lg(86974);Lg(87005);Lg(3196396);Lg(87019);Lg(87052);Lg(87084);Lg(87115);Lg(87144);Mb=1}else Mb=Lb;if(!(au(v,87153)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87159,14);Lg(3196396);Lg(87169);Lg(87195);Lg(87221);Lg(3196396);Lg(87243);Jg(87264,12);Nb=1}else Nb=Mb;do if(au(v,87273)|0){if(!(au(v,87264)|0)){N=572;break}if(!(au(v,87282)|0)){N=572;break}if(au(v,87292)|0)Ob=Nb;else N=572}else N=572;while(0);if((N|0)==572){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87303,14);Jg(87317,14);Lg(3196396);Lg(87347);Lg(87373);Lg(87401);Lg(3196396);Jg(87425,7);Jg(87440,7);Jg(87465,7);Jg(87475,7);Jg(87465,7);Jg(87499,7);Jg(63997,7);Jg(3196396,7);Jg(87517,7);Jg(87535,7);Jg(87567,7);Jg(87598,7);Ob=1}if(!(au(v,87626)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87635,14);Lg(3196396);Lg(87649);Lg(87673);Lg(3196396);Lg(87698);Lg(87708);Lg(87720);Pb=1}else Pb=Ob;if((au(v,87727)|0)!=0?(au(v,87732)|0)!=0:0)Qb=Pb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87734,14);Jg(87743,14);Lg(3196396);Lg(87750);Lg(87780);Lg(87806);Lg(87837);Qb=1}if(!(au(v,87864)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87873,14);Lg(3196396);Lg(87905);Lg(87936);Lg(87964);Lg(3196396);Lg(87988);Lg(88019);Lg(88050);Lg(88079);Lg(88110);Lg(88140);Lg(3196396);Jg(88166,7);Jg(88197,7);Jg(88218,7);Lg(3196396);Lg(88223);Lg(88252);Rb=1}else Rb=Qb;if(!(au(v,88284)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88289,14);Lg(3196396);Lg(88299);Lg(88317);Lg(88343);Lg(88369);Lg(88391);Lg(88411);Lg(88432);Lg(88460);Lg(88491);Lg(88521);Lg(88547);Lg(88575);Lg(88603);Lg(88634);Lg(88653);Sb=1}else Sb=Rb;if(!(au(v,88683)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88690,14);Lg(3196396);Lg(88719);Lg(88747);Lg(3196396);Lg(88770);Lg(3196396);Lg(88779);Lg(88811);Lg(88835);Lg(88868);Lg(88888);Lg(88901);Tb=1}else Tb=Sb;if(!(au(v,88915)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88922,14);Lg(3196396);Lg(88940);Lg(88971);Lg(3196396);Lg(89002);Lg(89020);Lg(89038);Lg(89071);Lg(89093);Lg(89119);Lg(89146);Lg(89175);Lg(89205);Lg(89238);Lg(89270);Lg(89301);Ub=1}else Ub=Tb;if(!(au(v,89329)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(89334,14);Jg(89352,14);Jg(89384,14);Lg(3196396);Lg(89400);Lg(89430);Lg(89458);Lg(89490);Lg(89521);Lg(89551);Lg(89580);Lg(89611);Lg(3196396);Lg(89640);Lg(89670);Vb=1}else Vb=Ub;if(!(au(v,89701)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(89706,14);Lg(3196396);Lg(89724);Lg(89756);Lg(89785);Lg(89818);Lg(3196396);Jg(89839,7);Lg(89850);Lg(3196396);Lg(89863);Lg(89896);Lg(89928);Lg(3196396);Lg(89961);Jg(89988,7);Lg(3196396);Lg(9e4);Lg(90031);Wb=1}else Wb=Vb;if(!(au(v,90056)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90063,14);Lg(3196396);Lg(90083);Lg(90114);Lg(90144);Lg(3196396);Lg(90177);Lg(90206);Lg(90236);Lg(3196396);Jg(90266,7);Xb=1}else Xb=Wb;if(!(au(v,90290)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90297,14);Lg(3196396);Lg(90318);Lg(3196396);Lg(90347);Lg(90366);Lg(90396);Lg(90424);Lg(90451);Lg(90474);Lg(3196396);Lg(90503);Jg(90517,7);Lg(3196396);Lg(90539);Jg(90569,7);Lg(3196396);Lg(90592);Jg(90610,7);Yb=1}else Yb=Xb;if(!(au(v,90642)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90647,14);Lg(3196396);Lg(90656);Lg(90687);Lg(3196396);Lg(90715);Lg(90725);Lg(90741);Zb=1}else Zb=Yb;if(!(au(v,90758)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90765,14);Lg(3196396);Lg(90784);Lg(90815);Lg(3196396);Lg(90838);Lg(90869);Lg(3196396);Lg(90889);Lg(90898);Lg(90906);Lg(90911);Lg(3196396);Lg(90920);Lg(90952);Lg(90985);_b=1}else _b=Zb;if(!(au(v,91017)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91026,14);Lg(3196396);Lg(91039);Lg(91070);Lg(3196396);Lg(91093);Lg(3196396);Lg(91122);Lg(91140);$b=1}else $b=_b;if((au(v,91162)|0)!=0?(au(v,91165)|0)!=0:0)ac=$b;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91169,14);Lg(3196396);Lg(91183);Lg(91208);Lg(3196396);Lg(91224);ac=1}if(!(au(v,91250)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91257,14);Lg(3196396);Lg(91039);Lg(91268);Lg(3196396);Lg(91292);Lg(91323);bc=1}else bc=ac;if((au(v,91350)|0)!=0?(au(v,92375)|0)!=0:0)cc=bc;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91357,14);Jg(91368,14);Lg(3196396);Lg(91375);Lg(91401);Lg(3196396);Lg(91420);Lg(91449);Lg(91478);Lg(3196396);Lg(91508);Lg(91536);Lg(91564);cc=1}do if(!(au(v,91573)|0))N=644;else{if(!(au(v,91579)|0)){N=644;break}if(cc|0)break;Jg(91783,13);Lg(v);Ia=d;return}while(0);if((N|0)==644){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91586,14);Jg(91596,14);Lg(3196396);Lg(91608);Lg(91634);Lg(91666);Lg(91697);Lg(91728);Lg(3196396);Lg(91760)}Lg(3196396);Ia=d;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;$r(b,e,f,g);a:do if((a|0)<4){b=c[e>>2]|0;h=B((b|0)/2|0,b)|0;i=c[f>>2]|0;b:do if(((B((i|0)/2|0,i)|0)+h|0)>134217728)switch(a|0){case 0:{j=b<<8;k=0-j|0;if((32767-j|0)>>>0>8388606){l=(k|0)<-32767?0:255;break a}l=(k|0)/32768|0;break a;break}case 1:{if((b+127|0)>>>0>32766){l=(b|0)<-127?0:255;break a}l=(b|0)/128|0;break a;break}case 2:{k=i<<8;j=0-k|0;if((32767-k|0)>>>0>8388606){l=(j|0)<-32767?0:255;break a}l=(j|0)/32768|0;break a;break}case 3:{if((i+127|0)>>>0>32766){l=(i|0)<-127?0:255;break a}l=(i|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{l=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{l=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{l=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{l=255;break a}break}default:break b}while(0);l=0}else switch(a|0){case 4:{l=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{l=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{l=(c[g>>2]&64|0)==0?0:255;break a;break}default:{l=0;break a}}while(0);Ia=d;return l|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b>>>0>7){d=0;return d|0}e=b-(c[484613]|0)|0;b=c[484614]|0;f=(b|0)>1?b:1;if(e|0){if((e|0)<=0){d=0;return d|0}d=jl(a,e+-1+f|0)|0;return d|0}if((f|0)<=0){d=0;return d|0}e=0;b=0;while(1){g=jl(a,e)|0;h=(b|0)>(g|0)?b:g;e=e+1|0;if(e>>>0>=f>>>0){d=h;break}else b=h}return d|0}function ll(a){a=a|0;return ((c[484629]|0)==(a|0)|(c[484630]|0)==(a|0)|(c[484631]|0)==(a|0)|(c[484632]|0)==(a|0)|(c[484633]|0)==(a|0)|(c[484634]|0)==(a|0))&1|0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;h=(b|0)==0;a:do if(h){switch(a|0){case 0:{i=c[484629]|0;j=(i|0)==0?80:i;k=0;l=0;m=9;break}case 1:{i=c[484630]|0;j=(i|0)==0?79:i;k=0;l=0;m=9;break}case 2:{i=c[484631]|0;j=(i|0)==0?82:i;k=0;l=0;m=9;break}case 3:{i=c[484632]|0;j=(i|0)==0?81:i;k=0;l=0;m=9;break}case 4:{i=c[484633]|0;j=(i|0)==0?29:i;k=1;l=0;m=9;break}case 5:{i=c[484634]|0;j=(i|0)==0?27:i;k=0;l=1;m=9;break}default:{n=0;o=0;p=0}}if((m|0)==9){n=k;o=l;p=qo(j)|0}if(!(qo(-5)|0)){if(n){i=c[484633]|0;q=qo((i|0)==0?6:i)|0|p}else q=p;if(o){i=c[484634]|0;r=qo((i|0)==0?25:i)|0|q}else r=q}else r=p;if(n){i=c[484633]|0;s=qo((i|0)==0?17:i)|0|r}else s=r;if(o&(qo(-5)|0)==0){i=c[484634]|0;t=qo((i|0)==0?16:i)|0|s}else t=s;i=(a|0)==6;if(i){u=c[484641]|0;v=qo((u|0)==0?19:u)|0|t;u=c[484641]|0;w=v|(qo((u|0)==0?40:u)|0)}else w=t;if(i&((c[798799]|0)==2&(((c[780894]|0)!=1|(c[780901]|0)==0|(c[485555]|0)!=0)^1))){i=c[484641]|0;x=qo((i|0)==0?41:i)|0|w}else x=w}else{if((b|0)!=1){if(!(a>>>0<6&(b|1|0)==3)){x=0;break}i=c[1938516+((b*6|1)+a<<2)>>2]|0;if((i|0)<=0){x=0;break}x=(qo(i)|0)!=0&1;break}switch(a|0){case 0:{i=c[484635]|0;if(!i){x=qo(22)|0;break a}else{x=qo(i)|0;break a}break}case 1:{i=c[484636]|0;if(!i){x=qo(9)|0;break a}else{x=qo(i)|0;break a}break}case 2:{i=c[484637]|0;if(!i){x=qo(8)|0;break a}else{x=qo(i)|0;break a}break}case 3:{i=c[484638]|0;if(!i){x=qo(7)|0;break a}else{x=qo(i)|0;break a}break}case 4:{i=c[484639]|0;u=qo((i|0)==0?225:i)|0;i=c[484639]|0;v=qo((i|0)==0?43:i)|0|u;u=c[484639]|0;x=v|(qo((u|0)==0?26:u)|0);break a;break}case 5:{u=c[484640]|0;v=qo((u|0)==0?4:u)|0;u=c[484640]|0;x=qo((u|0)==0?20:u)|0|v;break a;break}default:{x=0;break a}}}while(0);w=c[3125228+(b<<2)>>2]|0;b=x|(w|0)!=-1&(w&1<<a|0)!=0&1;if(!((a+-4|0)>>>0<3&h)){y=b;Ia=d;return y|0}if((($k(2971096,c[781999]|0,24365)|0)&3|0)!=3){y=b;Ia=d;return y|0}cs(e,f,g);switch(a|0){case 4:{z=c[g>>2]&2;break}case 5:{z=c[g>>2]&1;break}default:z=c[g>>2]&4}y=(z|0)==0?b:x|1;Ia=d;return y|0}function nl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;a=(c[485558]|0)==0?0:2;b=c[485555]|0;d=a;while(1){c[3124700+(d<<2)>>2]=1;c[3124188+(d<<2)>>2]=0;if(!b){e=$k(2971096,c[781999]|0,24412)|0;f=c[485555]|0;g=(e|0)==0?15:e}else{f=b;g=15}h=c[554962]|0;if(!(f|h)){e=c[798455]|0;i=(e|0)>0?e:30}else i=30;c[3125260+(d<<2)>>2]=((B(i,g)|0)/30|0)+1;d=d+1|0;if((d|0)==8)break;else b=f}b=h;h=f;f=a;while(1){c[3124732+(f<<2)>>2]=1;c[3124220+(f<<2)>>2]=0;if(!h){d=$k(2971096,c[781999]|0,24412)|0;j=c[485555]|0;k=c[554962]|0;l=(d|0)==0?15:d}else{j=h;k=b;l=15}if(!(j|k)){d=c[798455]|0;m=(d|0)>0?d:30}else m=30;c[3125292+(f<<2)>>2]=((B(m,l)|0)/30|0)+1;f=f+1|0;if((f|0)==8)break;else{b=k;h=j}}h=j;j=k;k=a;while(1){c[3124764+(k<<2)>>2]=1;c[3124252+(k<<2)>>2]=0;if(!h){b=$k(2971096,c[781999]|0,24412)|0;n=c[485555]|0;o=c[554962]|0;p=(b|0)==0?15:b}else{n=h;o=j;p=15}if(!(n|o)){b=c[798455]|0;q=(b|0)>0?b:30}else q=30;c[3125324+(k<<2)>>2]=((B(q,p)|0)/30|0)+1;k=k+1|0;if((k|0)==8)break;else{h=n;j=o}}j=n;n=o;o=a;while(1){c[3124796+(o<<2)>>2]=1;c[3124284+(o<<2)>>2]=0;if(!j){h=$k(2971096,c[781999]|0,24412)|0;r=c[485555]|0;s=c[554962]|0;t=(h|0)==0?15:h}else{r=j;s=n;t=15}if(!(r|s)){h=c[798455]|0;u=(h|0)>0?h:30}else u=30;c[3125356+(o<<2)>>2]=((B(u,t)|0)/30|0)+1;o=o+1|0;if((o|0)==8)break;else{j=r;n=s}}n=r;r=s;s=a;while(1){c[3124828+(s<<2)>>2]=1;c[3124316+(s<<2)>>2]=0;if(!n){j=$k(2971096,c[781999]|0,24412)|0;v=c[485555]|0;w=c[554962]|0;x=(j|0)==0?15:j}else{v=n;w=r;x=15}if(!(v|w)){j=c[798455]|0;y=(j|0)>0?j:30}else y=30;c[3125388+(s<<2)>>2]=((B(y,x)|0)/30|0)+1;s=s+1|0;if((s|0)==8)break;else{n=v;r=w}}r=v;v=w;w=a;while(1){c[3124860+(w<<2)>>2]=1;c[3124348+(w<<2)>>2]=0;if(!r){n=$k(2971096,c[781999]|0,24412)|0;z=c[485555]|0;A=c[554962]|0;C=(n|0)==0?15:n}else{z=r;A=v;C=15}if(!(z|A)){n=c[798455]|0;D=(n|0)>0?n:30}else D=30;c[3125420+(w<<2)>>2]=((B(D,C)|0)/30|0)+1;w=w+1|0;if((w|0)==8)break;else{r=z;v=A}}v=z;z=A;A=a;while(1){c[3124892+(A<<2)>>2]=1;c[3124380+(A<<2)>>2]=0;if(!v){r=$k(2971096,c[781999]|0,24412)|0;E=c[485555]|0;F=c[554962]|0;G=(r|0)==0?15:r}else{E=v;F=z;G=15}if(!(E|F)){r=c[798455]|0;H=(r|0)>0?r:30}else H=30;c[3125452+(A<<2)>>2]=((B(H,G)|0)/30|0)+1;A=A+1|0;if((A|0)==8)break;else{v=E;z=F}}z=E;E=F;F=a;while(1){c[3124924+(F<<2)>>2]=1;c[3124412+(F<<2)>>2]=0;if(!z){a=$k(2971096,c[781999]|0,24412)|0;I=c[485555]|0;J=c[554962]|0;K=(a|0)==0?15:a}else{I=z;J=E;K=15}if(!(I|J)){a=c[798455]|0;L=(a|0)>0?a:30}else L=30;c[3125484+(F<<2)>>2]=((B(L,K)|0)/30|0)+1;F=F+1|0;if((F|0)==8)break;else{z=I;E=J}}return}function ol(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;Wv(3124188,0,256)|0;if((c[535463]|0)>0){c[781047]=tp(2)|0;c[781048]=tp(2)|0;c[781049]=tp(2)|0;c[781050]=tp(2)|0;c[781051]=tp(2)|0;c[781052]=tp(2)|0;c[781055]=tp(2)|0;c[781056]=tp(2)|0;c[781057]=tp(2)|0;c[781058]=tp(2)|0;c[781059]=tp(2)|0;c[781060]=tp(2)|0;c[781063]=tp(2)|0;c[781064]=tp(2)|0;c[781065]=tp(2)|0;c[781066]=tp(2)|0;c[781067]=tp(2)|0;c[781068]=tp(2)|0;c[781071]=tp(2)|0;c[781072]=tp(2)|0;c[781073]=tp(2)|0;c[781074]=tp(2)|0;c[781075]=tp(2)|0;c[781076]=tp(2)|0;c[781079]=tp(2)|0;c[781080]=tp(2)|0;c[781081]=tp(2)|0;c[781082]=tp(2)|0;c[781083]=tp(2)|0;c[781084]=tp(2)|0;c[781087]=tp(2)|0;c[781088]=tp(2)|0;c[781089]=tp(2)|0;c[781090]=tp(2)|0;c[781091]=tp(2)|0;c[781092]=tp(2)|0;c[781095]=tp(2)|0;c[781096]=tp(2)|0;c[781097]=tp(2)|0;c[781098]=tp(2)|0;c[781099]=tp(2)|0;c[781100]=tp(2)|0;c[781103]=tp(2)|0;c[781104]=tp(2)|0;c[781105]=tp(2)|0;c[781106]=tp(2)|0;c[781107]=tp(2)|0;c[781108]=tp(2)|0;return}a=0;do{b=0;do{do if(!(ml(b,a)|0)){d=a-(c[484613]|0)|0;e=c[484614]|0;f=(e|0)>1?e:1;if(!d){if((f|0)>0){e=0;g=0;while(1){h=jl(b,e)|0;i=(g|0)>(h|0)?g:h;e=e+1|0;if(e>>>0>=f>>>0){j=i;k=12;break}else g=i}}}else if((d|0)>0){j=jl(b,d+-1+f|0)|0;k=12}if((k|0)==12?(k=0,(j|0)>128):0){k=13;break}c[3124700+(a<<5)+(b<<2)>>2]=0}else k=13;while(0);if(((k|0)==13?(k=0,(c[3124700+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[3124188+(a<<5)+(b<<2)>>2]=1,(c[3124444+(a<<5)+(b<<2)>>2]|0)==0):0){g=c[485555]|0;if(!g){e=$k(2971096,c[781999]|0,24412)|0;l=c[485555]|0;m=(e|0)==0?15:e}else{l=g;m=15}if(!(l|c[554962])){g=c[798455]|0;n=(g|0)>0?g:30}else n=30;c[3125260+(a<<5)+(b<<2)>>2]=((B(n,m)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[781303]=c[554951];c[781304]=c[554952];c[554951]=0;c[554952]=0;c[781305]=c[554957];c[781306]=c[554958];c[554957]=0;c[554958]=0;if(!(c[485591]|0))return;c[781053]=1;c[485591]=0;return}function pl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[780894]|0)!=1|(c[780901]|0)==0|(c[485555]|0)!=0)a=0;else{ol();a=1}b=0;do{d=3124956+(b<<5)|0;c[d>>2]=0;e=c[3124188+(b<<5)>>2]|0;f=3124444+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+4|0;c[d>>2]=0;g=c[3124188+(b<<5)+4>>2]|0;h=3124444+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+8|0;c[d>>2]=0;e=c[3124188+(b<<5)+8>>2]|0;f=3124444+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+12|0;c[d>>2]=0;g=c[3124188+(b<<5)+12>>2]|0;h=3124444+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+16|0;c[d>>2]=0;e=c[3124188+(b<<5)+16>>2]|0;f=3124444+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+20|0;c[d>>2]=0;g=c[3124188+(b<<5)+20>>2]|0;h=3124444+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+24|0;c[d>>2]=0;e=c[3124188+(b<<5)+24>>2]|0;f=3124444+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+28|0;c[d>>2]=0;g=c[3124188+(b<<5)+28>>2]|0;h=3124444+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if(($k(2971096,c[781999]|0,24412)|0)!=255){b=0;do{d=3125260+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;i=c[485555]|0;j=(e|0)==0?4:e}else{i=f;j=4}if(!(i|c[554962])){f=c[798455]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,j)|0)/30|0}d=3125260+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;l=c[485555]|0;m=(f|0)==0?4:f}else{l=e;m=4}if(!(l|c[554962])){e=c[798455]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,m)|0)/30|0}d=3125260+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;o=c[485555]|0;p=(e|0)==0?4:e}else{o=f;p=4}if(!(o|c[554962])){f=c[798455]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,p)|0)/30|0}d=3125260+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;r=c[485555]|0;s=(f|0)==0?4:f}else{r=e;s=4}if(!(r|c[554962])){e=c[798455]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,s)|0)/30|0}d=3125260+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;u=c[485555]|0;v=(e|0)==0?4:e}else{u=f;v=4}if(!(u|c[554962])){f=c[798455]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,v)|0)/30|0}d=3125260+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;x=c[485555]|0;y=(f|0)==0?4:f}else{x=e;y=4}if(!(x|c[554962])){e=c[798455]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,y)|0)/30|0}d=3125260+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;A=c[485555]|0;C=(e|0)==0?4:e}else{A=f;C=4}if(!(A|c[554962])){f=c[798455]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,C)|0)/30|0}d=3125260+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;E=c[485555]|0;F=(f|0)==0?4:f}else{E=e;F=4}if(!(E|c[554962])){e=c[798455]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,F)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;ol();return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[3124188+(b<<5)+(a<<2)>>2]|0;if(!(c[3124444+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[3125260+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function rl(a,b){a=a|0;b=b|0;var c=0;c=Nv(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Qv(c|0,G()|0,16)|0;G()|0;return a|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Lv(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=0;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=Lv(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=d;j=0-b|0}else{i=a;j=b}b=j&-65536;a=j-b|0;if((b|0)>65535){j=b;b=65536;d=i;while(1){e=((d|0)<0)<<31>>31;h=Nv(d|0,e|0,b|0,((b|0)<0)<<31>>31|0)|0;f=Qv(h|0,G()|0,16)|0;G()|0;h=(j&65536|0)==0?b:f;f=Nv(d|0,e|0,d|0,e|0)|0;d=Qv(f|0,G()|0,16)|0;G()|0;if(j>>>0<=131071){k=h;break}else{j=j>>>1;b=h}}}else k=65536;if((a|0)>0){b=k;j=i;i=a;while(1){if((i|0)<65536){a=j;d=i;while(1){h=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;f=G()|0;if((a|0)<0)l=0;else{e=1073741824;g=0;while(1){m=Qv(g|0,e|0,2)|0;n=G()|0;if(e>>>0>f>>>0|(e|0)==(f|0)&g>>>0>h>>>0){e=n;g=m}else break}if((g|0)==0&(e|0)==0)o=0;else{m=0;n=0;p=g;q=e;r=f;s=h;while(1){t=Hv(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0<u>>>0|(r|0)==(u|0)&s>>>0<t>>>0){v=Qv(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=Iv(s|0,r|0,t|0,u|0)|0;u=G()|0;t=Qv(m|0,n|0,1)|0;A=Hv(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=Qv(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}jh(8);l=o}s=d<<1;if((d|0)<32768){a=l;d=s}else{B=l;C=s;break}}}else{B=j;C=i}d=Nv(B|0,((B|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=Qv(d|0,G()|0,16)|0;G()|0;if((C|0)>65536){b=a;j=B;i=C+-65536|0}else{D=a;break}}}else D=k;jh(8);c=D;return c|0}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=Qv(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=Hv(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0<j>>>0|(i|0)==(j|0)&c>>>0<b>>>0){k=Qv(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=Iv(c|0,i|0,b|0,j|0)|0;j=G()|0;b=Qv(a|0,g|0,1)|0;p=Hv(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=Qv(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}jh(8);d=h;return d|0}function wl(a,b){a=a|0;b=b|0;return wp(a,b)|0}function xl(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=34912;d=3;break}case 1:{b=34916;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function yl(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=34912;break}case 1:{d=34916;break}default:return}c[d>>2]=b;return}function zl(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8729]=b;c[8728]=b^-1095947846;b=0;do{c[8728]=(c[8728]|0)>>>16|c[8728]<<16;c[8728]=(c[8728]|0)+(c[8729]|0);c[8729]=(c[8729]|0)+(c[8728]|0);b=b+1|0}while((b|0)!=32);jh(8);return}function Al(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8728]=(c[8728]|0)>>>16|c[8728]<<16;c[8728]=(c[8728]|0)+(c[8729]|0);c[8729]=(c[8729]|0)+(c[8728]|0);b=((c[8728]|0)>>>0)%(a>>>0)|0;return b|0}function Bl(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<<b)+-1&a>>>(0-c&31)|a<<b|0}function Cl(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=0-c&31;return (1<<b)+-1&a>>>(c&31)|a<<b|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)<0){c=b;while(1){if((c|0)<-2031616){d=0;e=9;break}f=c&-65536;g=0-f|0;if((g|0)>=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function El(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=Dl(a,0-(b&-65536)|0)|0;return c|0}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function Gl(a,b){a=a|0;b=b|0;var d=0;d=xq(2092)|0;wq(d,0,2092);c[d>>2]=Sn(a,b,8)|0;c[d+24>>2]=Sn(a,b,8)|0;c[d+16>>2]=Sn(a,b,8)|0;c[d+20>>2]=Sn(a,b,8)|0;return d|0}function Hl(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Wv(1446272,0,16384)|0;g=c[554428]|0;if(!g){h=Ys(524288)|0;c[554428]=h;i=h;j=h}else{i=g;j=g}Wv(i|0,0,524288)|0;i=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=g;g=g+1|0;k=1446272+((((d[a+g>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=j+(f<<1)|0;c[k>>2]=o;p=n<<16>>16<0?-1:(n&65535)<<1&65535;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;Vv(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=q;t=r;u=f+2+(p&65535)|0;v=o}else{s=n;t=m;u=f;v=l}}else{l=j+(f<<1)|0;c[k>>2]=l;b[l>>1]=4;k=l+2|0;b[k>>1]=0;s=0;t=k;u=f+6|0;v=l}b[v+((s&65535)+2<<1)>>1]=h;b[t>>1]=s+1<<16>>16;if((g|0)==(i|0))break;else f=u}return}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0;g=Ia;Ia=Ia+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);Hl(b,f);c[8730]=1;c[554427]=0;c[554425]=e;c[554426]=0;if(!f){q=0;Ia=g;return q|0}p=xq(f)|0;Vv(p|0,b|0,f|0)|0;r=c[554425]|0;s=c[8730]|0;t=c[554426]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[554426]=x;w=d[s>>0]|0;c[554427]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=z;D=x;E=314}else{F=t;G=y;H=u;I=x;J=v;E=312}}else{v=r+x|0;c[554426]=x;u=d[v>>0]|0;c[554427]=u;y=u&254;a[v>>0]=y;F=x;G=y;H=v;I=t+2|0;J=2;E=312}do if((E|0)==312){t=(J^255)&(G&255);a[H>>0]=t;v=J<<1;if((v|0)==256){y=r+I|0;c[554426]=I;x=d[y>>0]|0;c[554427]=x;A=1;B=y;C=x;D=I;E=314;break}x=(v^255)&t;a[H>>0]=x;t=J<<2;if((t|0)==256){v=r+I|0;c[554426]=I;y=d[v>>0]|0;c[554427]=y;u=y&254;a[v>>0]=u;K=2;L=v;M=u;N=I;E=319}else{O=F;P=x;Q=H;R=I;S=t;E=317}}while(0);if((E|0)==314){I=(A^255)&C;a[B>>0]=I;O=D;P=I;Q=B;R=D+1|0;S=A<<1;E=317}do if((E|0)==317){A=(S^255)&(P&255);a[Q>>0]=A;D=S<<1;if((D|0)==256){B=r+R|0;c[554426]=R;I=d[B>>0]|0;c[554427]=I;K=1;L=B;M=I;N=R;E=319;break}I=(D^255)&A;a[Q>>0]=I;A=S<<2;if((A|0)==256){D=r+R|0;c[554426]=R;B=d[D>>0]|0;c[554427]=B;C=B&254;a[D>>0]=C;T=2;U=D;V=C;W=R;E=324}else{X=O;Y=I;Z=Q;_=R;$=A;E=322}}while(0);if((E|0)==319){R=(K^255)&M;a[L>>0]=R;X=N;Y=R;Z=L;_=N+1|0;$=K<<1;E=322}do if((E|0)==322){K=($^255)&(Y&255);a[Z>>0]=K;N=$<<1;if((N|0)==256){L=r+_|0;c[554426]=_;R=d[L>>0]|0;c[554427]=R;T=1;U=L;V=R;W=_;E=324;break}R=(N^255)&K;a[Z>>0]=R;K=$<<2;if((K|0)==256){N=r+_|0;c[554426]=_;L=d[N>>0]|0;c[554427]=L;aa=_;ba=1;ca=N;da=L;ea=_+1|0}else{fa=X;ga=R;ha=Z;ia=_;ja=K;E=326}}while(0);if((E|0)==324){_=(T^255)&V;a[U>>0]=_;fa=W;ga=_;ha=U;ia=W+1|0;ja=T<<1;E=326}if((E|0)==326){aa=fa;ba=ja;ca=ha;da=ga&255;ea=ia}c[8730]=ba;ia=c[554431]|0;c[554431]=ia+8;ga=(ba^255)&da;a[ca>>0]=ga;da=ba<<1;if((da|0)!=256){ha=(da^255)&ga;a[ca>>0]=ha;ga=ba<<2;if((ga|0)==256){ba=r+ea|0;c[554426]=ea;da=d[ba>>0]|0;c[554427]=da;ja=da&254;a[ba>>0]=ja;ka=2;la=ba;ma=ja;na=ea;E=296}else{oa=aa;pa=ha;qa=ca;ra=ea;sa=ga;E=294}}else{ga=r+ea|0;c[554426]=ea;ca=d[ga>>0]|0;c[554427]=ca;ha=ca&254;a[ga>>0]=ha;oa=ea;pa=ha;qa=ga;ra=ea+1|0;sa=2;E=294}do if((E|0)==294){ea=(sa^255)&(pa&255);a[qa>>0]=ea;ga=sa<<1;if((ga|0)==256){ha=r+ra|0;c[554426]=ra;ca=d[ha>>0]|0;c[554427]=ca;ka=1;la=ha;ma=ca;na=ra;E=296;break}ca=(ga^255)&ea;a[qa>>0]=ca;ea=sa<<2;if((ea|0)==256){ga=r+ra|0;c[554426]=ra;ha=d[ga>>0]|0;c[554427]=ha;ta=1;ua=ra;va=ga;wa=ha;xa=ra+1|0}else{ya=oa;za=ca;Aa=qa;Ba=ra;Ca=ea;E=298}}while(0);if((E|0)==296){ra=(ka^255)&ma;a[la>>0]=ra;ya=na;za=ra;Aa=la;Ba=na+1|0;Ca=ka<<1;E=298}if((E|0)==298){ta=Ca;ua=ya;va=Aa;wa=za&255;xa=Ba}Ba=ta|(ta^255)&wa;a[va>>0]=Ba;wa=ta<<1;if((wa|0)==256){ta=r+xa|0;c[554426]=xa;za=d[ta>>0]|0;c[554427]=za;Da=1;Ea=xa;Fa=ta;Ga=za;Ha=xa+1|0}else{Da=wa;Ea=ua;Fa=va;Ga=Ba&255;Ha=xa}xa=Da|(Da^255)&Ga;a[Fa>>0]=xa;Ga=Da<<1;if((Ga|0)==256){Da=r+Ha|0;c[554426]=Ha;Ba=d[Da>>0]|0;c[554427]=Ba;Ja=1;Ka=Ha;La=Da;Ma=Ba;Na=Ha+1|0}else{Ja=Ga;Ka=Ea;La=Fa;Ma=xa&255;Na=Ha}Ha=Ja|(Ja^255)&Ma;a[La>>0]=Ha;Ma=Ja<<1;if((Ma|0)!=256){xa=(Ma^255)&(Ha&255);a[La>>0]=xa;Ha=Ja<<2;if((Ha|0)==256){Ja=r+Na|0;c[554426]=Na;Ma=d[Ja>>0]|0;c[554427]=Ma;Oa=Na;Pa=1;Qa=Ja;Ra=Ma;Sa=Na+1|0}else{Oa=Ka;Pa=Ha;Qa=La;Ra=xa;Sa=Na}}else{xa=r+Na|0;c[554426]=Na;La=d[xa>>0]|0;c[554427]=La;Ha=La&254;a[xa>>0]=Ha;Oa=Na;Pa=2;Qa=xa;Ra=Ha;Sa=Na+1|0}c[8730]=Pa;c[554431]=ia+16;Na=(Pa^255)&Ra;a[Qa>>0]=Na;Ra=Pa<<1;do if((Ra|0)!=256){Ha=(Ra^255)&(Na&255);a[Qa>>0]=Ha;xa=Pa<<2;if((xa|0)==256){La=r+Sa|0;c[554426]=Sa;Ka=d[La>>0]|0;c[554427]=Ka;Ta=1;Ua=La;Va=Ka;E=275;break}Ka=(xa^255)&Ha;a[Qa>>0]=Ka;Ha=Pa<<3;if((Ha|0)==256){xa=r+Sa|0;c[554426]=Sa;La=d[xa>>0]|0;c[554427]=La;Wa=1;Xa=Sa;Ya=xa;Za=La;_a=Sa+1|0}else{$a=Oa;ab=Ka;bb=Qa;cb=Sa;db=Ha;E=277}}else{Ha=r+Sa|0;c[554426]=Sa;Ka=d[Ha>>0]|0;c[554427]=Ka;La=Ka&254;a[Ha>>0]=La;Ta=2;Ua=Ha;Va=La;E=275}while(0);if((E|0)==275){Qa=(Ta^255)&Va;a[Ua>>0]=Qa;$a=Sa;ab=Qa;bb=Ua;cb=Sa+1|0;db=Ta<<1;E=277}if((E|0)==277){Wa=db;Xa=$a;Ya=bb;Za=ab&255;_a=cb}cb=Wa|(Wa^255)&Za;a[Ya>>0]=cb;Za=Wa<<1;if((Za|0)==256){Wa=r+_a|0;c[554426]=_a;ab=d[Wa>>0]|0;c[554427]=ab;eb=1;fb=_a;gb=Wa;hb=ab;ib=_a+1|0}else{eb=Za;fb=Xa;gb=Ya;hb=cb&255;ib=_a}_a=eb|(eb^255)&hb;a[gb>>0]=_a;hb=eb<<1;if((hb|0)==256){eb=r+ib|0;c[554426]=ib;cb=d[eb>>0]|0;c[554427]=cb;jb=1;kb=ib;lb=eb;mb=cb;nb=ib+1|0}else{jb=hb;kb=fb;lb=gb;mb=_a&255;nb=ib}ib=jb|(jb^255)&mb;a[lb>>0]=ib;mb=jb<<1;if((mb|0)==256){jb=r+nb|0;c[554426]=nb;_a=d[jb>>0]|0;c[554427]=_a;ob=1;pb=nb;qb=jb;rb=_a;sb=nb+1|0}else{ob=mb;pb=kb;qb=lb;rb=ib&255;sb=nb}nb=ob|(ob^255)&rb;a[qb>>0]=nb;rb=ob<<1;if((rb|0)!=256){ib=(rb^255)&(nb&255);a[qb>>0]=ib;nb=ob<<2;if((nb|0)==256){ob=r+sb|0;c[554426]=sb;rb=d[ob>>0]|0;c[554427]=rb;tb=sb;ub=1;vb=ob;wb=rb;xb=sb+1|0}else{tb=pb;ub=nb;vb=qb;wb=ib;xb=sb}}else{ib=r+sb|0;c[554426]=sb;qb=d[ib>>0]|0;c[554427]=qb;nb=qb&254;a[ib>>0]=nb;tb=sb;ub=2;vb=ib;wb=nb;xb=sb+1|0}c[8730]=ub;c[554431]=ia+24;sb=ub|(ub^255)&wb;a[vb>>0]=sb;wb=ub<<1;do if((wb|0)!=256){nb=(wb^255)&(sb&255);a[vb>>0]=nb;ib=ub<<2;if((ib|0)==256){qb=r+xb|0;c[554426]=xb;pb=d[qb>>0]|0;c[554427]=pb;yb=1;zb=qb;Ab=pb;E=256;break}pb=(ib^255)&nb;a[vb>>0]=pb;nb=ub<<3;if((nb|0)==256){ib=r+xb|0;c[554426]=xb;qb=d[ib>>0]|0;c[554427]=qb;rb=qb&254;a[ib>>0]=rb;Bb=2;Cb=ib;Db=rb;Eb=xb;E=261}else{Fb=tb;Gb=pb;Hb=vb;Ib=xb;Jb=nb;E=259}}else{nb=r+xb|0;c[554426]=xb;pb=d[nb>>0]|0;c[554427]=pb;rb=pb&254;a[nb>>0]=rb;yb=2;zb=nb;Ab=rb;E=256}while(0);if((E|0)==256){vb=(yb^255)&Ab;a[zb>>0]=vb;Fb=xb;Gb=vb;Hb=zb;Ib=xb+1|0;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Gb&255);a[Hb>>0]=yb;xb=Jb<<1;if((xb|0)==256){zb=r+Ib|0;c[554426]=Ib;vb=d[zb>>0]|0;c[554427]=vb;Bb=1;Cb=zb;Db=vb;Eb=Ib;E=261;break}vb=(xb^255)&yb;a[Hb>>0]=vb;yb=Jb<<2;if((yb|0)==256){xb=r+Ib|0;c[554426]=Ib;zb=d[xb>>0]|0;c[554427]=zb;Kb=1;Lb=Ib;Mb=xb;Nb=zb;Ob=Ib+1|0}else{Pb=Fb;Qb=vb;Rb=Hb;Sb=Ib;Tb=yb;E=263}}while(0);if((E|0)==261){Ib=(Bb^255)&Db;a[Cb>>0]=Ib;Pb=Eb;Qb=Ib;Rb=Cb;Sb=Eb+1|0;Tb=Bb<<1;E=263}if((E|0)==263){Kb=Tb;Lb=Pb;Mb=Rb;Nb=Qb&255;Ob=Sb}Sb=Kb|(Kb^255)&Nb;a[Mb>>0]=Sb;Nb=Kb<<1;if((Nb|0)==256){Kb=r+Ob|0;c[554426]=Ob;Qb=d[Kb>>0]|0;c[554427]=Qb;Ub=1;Vb=Ob;Wb=Kb;Xb=Qb;Yb=Ob+1|0}else{Ub=Nb;Vb=Lb;Wb=Mb;Xb=Sb&255;Yb=Ob}Ob=Ub|(Ub^255)&Xb;a[Wb>>0]=Ob;Xb=Ub<<1;if((Xb|0)!=256){Sb=(Xb^255)&(Ob&255);a[Wb>>0]=Sb;Ob=Ub<<2;if((Ob|0)==256){Ub=r+Yb|0;c[554426]=Yb;Xb=d[Ub>>0]|0;c[554427]=Xb;Zb=Yb;_b=1;$b=Ub;ac=Xb;bc=Yb+1|0}else{Zb=Vb;_b=Ob;$b=Wb;ac=Sb;bc=Yb}}else{Sb=r+Yb|0;c[554426]=Yb;Wb=d[Sb>>0]|0;c[554427]=Wb;Ob=Wb&254;a[Sb>>0]=Ob;Zb=Yb;_b=2;$b=Sb;ac=Ob;bc=Yb+1|0}c[8730]=_b;c[554431]=ia+32;Yb=(f|0)/256|0;Ob=((Yb&1|0)==0?0:_b)|(_b^255)&ac;a[$b>>0]=Ob;ac=_b<<1;if((ac|0)==256){_b=r+bc|0;c[554426]=bc;Sb=d[_b>>0]|0;c[554427]=Sb;cc=1;dc=bc;ec=_b;fc=Sb;gc=bc+1|0}else{cc=ac;dc=Zb;ec=$b;fc=Ob&255;gc=bc}bc=((Yb&2|0)==0?0:cc)|(cc^255)&fc;a[ec>>0]=bc;fc=cc<<1;if((fc|0)==256){cc=r+gc|0;c[554426]=gc;Ob=d[cc>>0]|0;c[554427]=Ob;hc=1;ic=gc;jc=cc;kc=Ob;lc=gc+1|0}else{hc=fc;ic=dc;jc=ec;kc=bc&255;lc=gc}gc=((Yb&4|0)==0?0:hc)|(hc^255)&kc;a[jc>>0]=gc;kc=hc<<1;if((kc|0)==256){hc=r+lc|0;c[554426]=lc;bc=d[hc>>0]|0;c[554427]=bc;mc=1;nc=lc;oc=hc;pc=bc;qc=lc+1|0}else{mc=kc;nc=ic;oc=jc;pc=gc&255;qc=lc}lc=((Yb&8|0)==0?0:mc)|(mc^255)&pc;a[oc>>0]=lc;pc=mc<<1;if((pc|0)==256){mc=r+qc|0;c[554426]=qc;gc=d[mc>>0]|0;c[554427]=gc;rc=1;sc=qc;tc=mc;uc=gc;vc=qc+1|0}else{rc=pc;sc=nc;tc=oc;uc=lc&255;vc=qc}qc=((Yb&16|0)==0?0:rc)|(rc^255)&uc;a[tc>>0]=qc;uc=rc<<1;if((uc|0)==256){rc=r+vc|0;c[554426]=vc;lc=d[rc>>0]|0;c[554427]=lc;wc=1;xc=vc;yc=rc;zc=lc;Ac=vc+1|0}else{wc=uc;xc=sc;yc=tc;zc=qc&255;Ac=vc}vc=((Yb&32|0)==0?0:wc)|(wc^255)&zc;a[yc>>0]=vc;zc=wc<<1;if((zc|0)==256){wc=r+Ac|0;c[554426]=Ac;qc=d[wc>>0]|0;c[554427]=qc;Bc=1;Cc=Ac;Dc=wc;Ec=qc;Fc=Ac+1|0}else{Bc=zc;Cc=xc;Dc=yc;Ec=vc&255;Fc=Ac}Ac=((Yb&64|0)==0?0:Bc)|(Bc^255)&Ec;a[Dc>>0]=Ac;Ec=Bc<<1;if((Ec|0)==256){Bc=r+Fc|0;c[554426]=Fc;vc=d[Bc>>0]|0;c[554427]=vc;Gc=1;Hc=Fc;Ic=Bc;Jc=vc;Kc=Fc+1|0}else{Gc=Ec;Hc=Cc;Ic=Dc;Jc=Ac&255;Kc=Fc}Fc=((Yb&128|0)==0?0:Gc)|(Gc^255)&Jc;a[Ic>>0]=Fc;Jc=Gc<<1;if((Jc|0)==256){Gc=r+Kc|0;c[554426]=Kc;Ac=d[Gc>>0]|0;c[554427]=Ac;Lc=Kc;Mc=1;Nc=Gc;Oc=Ac;Pc=Kc+1|0}else{Lc=Hc;Mc=Jc;Nc=Ic;Oc=Fc&255;Pc=Kc}c[8730]=Mc;c[554431]=ia+40;Kc=f-(Yb<<8)|0;Yb=((Kc&1|0)==0?0:Mc)|(Mc^255)&Oc;a[Nc>>0]=Yb;Oc=Mc<<1;if((Oc|0)==256){Mc=r+Pc|0;c[554426]=Pc;Fc=d[Mc>>0]|0;c[554427]=Fc;Qc=1;Rc=Pc;Sc=Mc;Tc=Fc;Uc=Pc+1|0}else{Qc=Oc;Rc=Lc;Sc=Nc;Tc=Yb&255;Uc=Pc}Pc=((Kc&2|0)==0?0:Qc)|(Qc^255)&Tc;a[Sc>>0]=Pc;Tc=Qc<<1;if((Tc|0)==256){Qc=r+Uc|0;c[554426]=Uc;Yb=d[Qc>>0]|0;c[554427]=Yb;Vc=1;Wc=Uc;Xc=Qc;Yc=Yb;Zc=Uc+1|0}else{Vc=Tc;Wc=Rc;Xc=Sc;Yc=Pc&255;Zc=Uc}Uc=((Kc&4|0)==0?0:Vc)|(Vc^255)&Yc;a[Xc>>0]=Uc;Yc=Vc<<1;if((Yc|0)==256){Vc=r+Zc|0;c[554426]=Zc;Pc=d[Vc>>0]|0;c[554427]=Pc;_c=1;$c=Zc;ad=Vc;bd=Pc;cd=Zc+1|0}else{_c=Yc;$c=Wc;ad=Xc;bd=Uc&255;cd=Zc}Zc=((Kc&8|0)==0?0:_c)|(_c^255)&bd;a[ad>>0]=Zc;bd=_c<<1;if((bd|0)==256){_c=r+cd|0;c[554426]=cd;Uc=d[_c>>0]|0;c[554427]=Uc;dd=1;ed=cd;fd=_c;gd=Uc;hd=cd+1|0}else{dd=bd;ed=$c;fd=ad;gd=Zc&255;hd=cd}cd=((Kc&16|0)==0?0:dd)|(dd^255)&gd;a[fd>>0]=cd;gd=dd<<1;if((gd|0)==256){dd=r+hd|0;c[554426]=hd;Zc=d[dd>>0]|0;c[554427]=Zc;id=1;jd=hd;kd=dd;ld=Zc;md=hd+1|0}else{id=gd;jd=ed;kd=fd;ld=cd&255;md=hd}hd=((Kc&32|0)==0?0:id)|(id^255)&ld;a[kd>>0]=hd;ld=id<<1;if((ld|0)==256){id=r+md|0;c[554426]=md;cd=d[id>>0]|0;c[554427]=cd;nd=1;od=md;pd=id;qd=cd;rd=md+1|0}else{nd=ld;od=jd;pd=kd;qd=hd&255;rd=md}md=((Kc&64|0)==0?0:nd)|(nd^255)&qd;a[pd>>0]=md;qd=nd<<1;if((qd|0)==256){nd=r+rd|0;c[554426]=rd;hd=d[nd>>0]|0;c[554427]=hd;sd=1;td=rd;ud=nd;vd=hd;wd=rd+1|0}else{sd=qd;td=od;ud=pd;vd=md&255;wd=rd}rd=((Kc&128|0)==0?0:sd)|(sd^255)&vd;a[ud>>0]=rd;vd=sd<<1;if((vd|0)==256){sd=r+wd|0;c[554426]=wd;Kc=d[sd>>0]|0;c[554427]=Kc;xd=wd;yd=1;zd=sd;Ad=Kc;Bd=wd+1|0}else{xd=td;yd=vd;zd=ud;Ad=rd&255;Bd=wd}c[8730]=yd;c[554431]=ia+48;wd=(yd^255)&Ad;a[zd>>0]=wd;Ad=yd<<1;do if((Ad|0)==256){rd=r+Bd|0;c[554426]=Bd;ud=d[rd>>0]|0;c[554427]=ud;vd=ud&254;a[rd>>0]=vd;Cd=Bd;Dd=vd;Ed=rd;Fd=Bd+1|0;Gd=2;E=197}else{rd=(Ad^255)&wd;a[zd>>0]=rd;vd=yd<<2;if((vd|0)!=256){Cd=xd;Dd=rd;Ed=zd;Fd=Bd;Gd=vd;E=197;break}vd=r+Bd|0;c[554426]=Bd;rd=d[vd>>0]|0;c[554427]=rd;ud=rd&254;a[vd>>0]=ud;Hd=2;Id=vd;Jd=ud;Kd=Bd;E=199}while(0);do if((E|0)==197){Bd=(Gd^255)&(Dd&255);a[Ed>>0]=Bd;zd=Gd<<1;if((zd|0)==256){xd=r+Fd|0;c[554426]=Fd;yd=d[xd>>0]|0;c[554427]=yd;Hd=1;Id=xd;Jd=yd;Kd=Fd;E=199;break}yd=(zd^255)&Bd;a[Ed>>0]=yd;Bd=Gd<<2;if((Bd|0)!=256){Ld=Cd;Md=yd;Nd=Ed;Od=Fd;Pd=Bd;E=202;break}Bd=r+Fd|0;c[554426]=Fd;yd=d[Bd>>0]|0;c[554427]=yd;zd=yd&254;a[Bd>>0]=zd;Qd=2;Rd=Bd;Sd=zd;Td=Fd;E=204}while(0);if((E|0)==199){Fd=(Hd^255)&Jd;a[Id>>0]=Fd;Ld=Kd;Md=Fd;Nd=Id;Od=Kd+1|0;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Md&255);a[Nd>>0]=Hd;Kd=Pd<<1;if((Kd|0)==256){Id=r+Od|0;c[554426]=Od;Fd=d[Id>>0]|0;c[554427]=Fd;Qd=1;Rd=Id;Sd=Fd;Td=Od;E=204;break}Fd=(Kd^255)&Hd;a[Nd>>0]=Fd;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Fd;Wd=Nd;Xd=Od;Yd=Hd;E=207;break}Hd=r+Od|0;c[554426]=Od;Fd=d[Hd>>0]|0;c[554427]=Fd;Kd=Fd&254;a[Hd>>0]=Kd;Zd=2;_d=Hd;$d=Kd;ae=Od;E=209}while(0);if((E|0)==204){Od=(Qd^255)&Sd;a[Rd>>0]=Od;Ud=Td;Vd=Od;Wd=Rd;Xd=Td+1|0;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Vd&255);a[Wd>>0]=Qd;Td=Yd<<1;if((Td|0)==256){Rd=r+Xd|0;c[554426]=Xd;Od=d[Rd>>0]|0;c[554427]=Od;Zd=1;_d=Rd;$d=Od;ae=Xd;E=209;break}Od=(Td^255)&Qd;a[Wd>>0]=Od;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Od;de=Wd;ee=Xd;fe=Qd;E=211;break}Qd=r+Xd|0;c[554426]=Xd;Od=d[Qd>>0]|0;c[554427]=Od;ge=Xd;he=1;ie=Qd;je=Od;ke=Xd+1|0}while(0);if((E|0)==209){Xd=(Zd^255)&$d;a[_d>>0]=Xd;be=ae;ce=Xd;de=_d;ee=ae+1|0;fe=Zd<<1;E=211}if((E|0)==211){ge=be;he=fe;ie=de;je=ce&255;ke=ee}c[8730]=he;c[554431]=ia+56;ee=(he^255)&je;a[ie>>0]=ee;je=he<<1;do if((je|0)==256){ce=r+ke|0;c[554426]=ke;de=d[ce>>0]|0;c[554427]=de;fe=de&254;a[ce>>0]=fe;le=ke;me=fe;ne=ce;oe=ke+1|0;pe=2;E=179}else{ce=(je^255)&ee;a[ie>>0]=ce;fe=he<<2;if((fe|0)!=256){le=ge;me=ce;ne=ie;oe=ke;pe=fe;E=179;break}fe=r+ke|0;c[554426]=ke;ce=d[fe>>0]|0;c[554427]=ce;de=ce&254;a[fe>>0]=de;qe=2;re=fe;se=de;te=ke;E=181}while(0);do if((E|0)==179){ke=(pe^255)&(me&255);a[ne>>0]=ke;ie=pe<<1;if((ie|0)==256){ge=r+oe|0;c[554426]=oe;he=d[ge>>0]|0;c[554427]=he;qe=1;re=ge;se=he;te=oe;E=181;break}he=(ie^255)&ke;a[ne>>0]=he;ke=pe<<2;if((ke|0)!=256){ue=le;ve=he;we=ne;xe=oe;ye=ke;E=184;break}ke=r+oe|0;c[554426]=oe;he=d[ke>>0]|0;c[554427]=he;ie=he&254;a[ke>>0]=ie;ze=2;Ae=ke;Be=ie;Ce=oe;E=186}while(0);if((E|0)==181){oe=(qe^255)&se;a[re>>0]=oe;ue=te;ve=oe;we=re;xe=te+1|0;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(ve&255);a[we>>0]=qe;te=ye<<1;if((te|0)==256){re=r+xe|0;c[554426]=xe;oe=d[re>>0]|0;c[554427]=oe;ze=1;Ae=re;Be=oe;Ce=xe;E=186;break}oe=(te^255)&qe;a[we>>0]=oe;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=oe;Fe=we;Ge=xe;He=qe;E=189;break}qe=r+xe|0;c[554426]=xe;oe=d[qe>>0]|0;c[554427]=oe;te=oe&254;a[qe>>0]=te;Ie=xe;Je=2;Ke=qe;Le=te;E=191}while(0);if((E|0)==186){xe=(ze^255)&Be;a[Ae>>0]=xe;De=Ce;Ee=xe;Fe=Ae;Ge=Ce+1|0;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ee&255);a[Fe>>0]=ze;Ce=He<<1;if((Ce|0)==256){Ae=r+Ge|0;c[554426]=Ge;xe=d[Ae>>0]|0;c[554427]=xe;Ie=Ge;Je=1;Ke=Ae;Le=xe;E=191;break}a[Fe>>0]=(Ce^255)&ze;ze=He<<2;if((ze|0)!=256){Me=De;Ne=ze;E=193;break}c[554426]=Ge;ze=d[r+Ge>>0]|0;c[554427]=ze;Oe=1;Pe=Ge;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Ie;Ne=Je<<1;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[554427]|0}c[8730]=Oe;c[554431]=ia+64;c[554422]=0;c[554423]=0;c[554424]=0;ia=Pe<<16|Oe|Qe<<8;Vv(l|0,j|0,1024)|0;Vv(m|0,k|0,1024)|0;if((f|0)>0){Qe=0;Oe=ia;Me=ia>>16;Ne=ia>>8;ia=Pe;Pe=0;Je=0;Ie=0;while(1){Le=Jl(p,Qe,f,h,i)|0;Ke=d[p+Qe>>0]|0;Ge=k+(Ke<<2)|0;r=c[Ge>>2]|0;De=(r|0)<16;if(De)Re=4;else{He=4;Fe=16;while(1){Ee=He+1|0;Fe=Fe+(2<<He)|0;if((r|0)<(Fe|0)){Re=Ee;break}else He=Ee}}He=256/((Re<<1)+-2|0)|0;do if((Le|0)>2){Fe=c[i>>2]|0;a:do if((Fe|0)>(He|0)&(Fe|0)<128){Ee=(Fe*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;Jl(p,Qe+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(Ee|0)){c[n>>2]=0;c[o>>2]=0;Jl(p,Qe+2|0,f,n,o)|0;if((c[o>>2]|0)>(Ee|0))break;Se=Fe;break a}while(0);c[i>>2]=0;Se=0}else Se=Fe;while(0);if((Se|0)<=(He|0)){E=58;break}Fe=c[8730]|0;Ee=c[554425]|0;ze=c[554426]|0;Ce=Ee+ze|0;a[Ce>>0]=(Fe^255)&(d[Ce>>0]|0);Ce=Fe<<1;c[8730]=Ce;if((Ce|0)==256){c[8730]=1;Fe=ze+1|0;c[554426]=Fe;c[554427]=d[Ee+Fe>>0];Te=Fe;Ue=1}else{Te=ze;Ue=Ce}Ce=(c[554429]|0)+1|0;c[554429]=Ce;ze=c[h>>2]|0;Fe=5;while(1)if((1<<Fe|0)<(ze|0))Fe=Fe+5|0;else break;xe=ze+-1|0;Ae=(Fe>>>0)/5|0;Be=Te;we=Ue;ue=0;ye=3-Ae|0;while(1){ve=(ye|0)<1;te=ve?ye:1;qe=Ee+Be|0;a[qe>>0]=((te&1|0)==0?0:we)|(we^255)&(d[qe>>0]|0);qe=we<<1;oe=Be+1|0;if((qe|0)==256){c[554426]=oe;c[554427]=d[Ee+oe>>0];Ve=oe;We=1}else{Ve=Be;We=qe}ue=ue+1|0;if(ue>>>0>=2)break;if(ve)break;else{Be=Ve;we=We;ye=ye-te|0}}c[8730]=We;ye=We;we=Ve;Be=0;while(1){ue=Ee+we|0;a[ue>>0]=((1<<Be&xe|0)==0?0:ye)|(ye^255)&(d[ue>>0]|0);ue=ye<<1;ze=we+1|0;if((ue|0)==256){c[554426]=ze;c[554427]=d[Ee+ze>>0];Xe=ze;Ye=1}else{Xe=we;Ye=ue}Be=Be+1|0;if((Be|0)==(Fe|0))break;else{ye=Ye;we=Xe}}c[8730]=Ye;we=Fe+Ce+Ae|0;c[554429]=we;ye=Xe;Be=Ye;xe=0;ue=Le+-3|0;while(1){ze=(ue|0)<7;te=ze?ue:7;ve=Ee+ye|0;qe=((te&1|0)==0?0:Be)|(Be^255)&(d[ve>>0]|0);a[ve>>0]=qe;oe=Be<<1;re=ye+1|0;if((oe|0)==256){se=Ee+re|0;c[554426]=re;ne=d[se>>0]|0;c[554427]=ne;Ze=re;_e=1;$e=se;af=ne;bf=ye+2|0}else{Ze=ye;_e=oe;$e=ve;af=qe&255;bf=re}re=((te&2|0)==0?0:_e)|(_e^255)&af;a[$e>>0]=re;qe=_e<<1;if((qe|0)==256){ve=Ee+bf|0;c[554426]=bf;oe=d[ve>>0]|0;c[554427]=oe;cf=bf;df=1;ef=ve;ff=oe;gf=bf+1|0}else{cf=Ze;df=qe;ef=$e;ff=re&255;gf=bf}a[ef>>0]=((te&4|0)==0?0:df)|(df^255)&ff;re=df<<1;if((re|0)==256){c[554426]=gf;c[554427]=d[Ee+gf>>0];hf=gf;jf=1}else{hf=cf;jf=re}xe=xe+3|0;if(xe>>>0>=1e5)break;if(ze)break;else{ye=hf;Be=jf;ue=ue-te|0}}c[8730]=jf;c[554429]=xe+we;if((Le|0)>9)c[554424]=(c[554424]|0)+1;c[554422]=(c[554422]|0)+1;kf=Le;lf=jf;mf=hf;nf=Ee;of=2217720}else E=58;while(0);if((E|0)==58){E=0;Le=c[8730]|0;He=c[554425]|0;ue=c[554426]|0;Be=He+ue|0;a[Be>>0]=(Le^255)&(d[Be>>0]|0)|Le;Be=Le<<1;c[8730]=Be;if((Be|0)==256){c[8730]=1;Le=ue+1|0;c[554426]=Le;c[554427]=d[He+Le>>0];pf=Le;qf=1}else{pf=ue;qf=Be}if(De){rf=4;sf=r}else{Be=4;ue=16;Le=r;while(1){ye=Le-(1<<Be)|0;Ae=Be+1|0;ue=ue+(2<<Be)|0;if((r|0)<(ue|0)){rf=Ae;sf=ye;break}else{Be=Ae;Le=ye}}}Le=pf;Be=qf;ue=0;De=rf+-4|0;while(1){ye=(De|0)<1;Ae=ye?De:1;Ce=He+Le|0;a[Ce>>0]=((Ae&1|0)==0?0:Be)|(Be^255)&(d[Ce>>0]|0);Ce=Be<<1;Fe=Le+1|0;if((Ce|0)==256){c[554426]=Fe;c[554427]=d[He+Fe>>0];tf=Fe;uf=1}else{tf=Le;uf=Ce}ue=ue+1|0;if(ue>>>0>=16)break;if(ye)break;else{Le=tf;Be=uf;De=De-Ae|0}}c[8730]=uf;De=uf;Be=tf;Le=0;while(1){ue=He+Be|0;a[ue>>0]=((1<<Le&sf|0)==0?0:De)|(De^255)&(d[ue>>0]|0);ue=De<<1;Ae=Be+1|0;if((ue|0)==256){c[554426]=Ae;c[554427]=d[He+Ae>>0];vf=Ae;wf=1}else{vf=Be;wf=ue}Le=Le+1|0;if((Le|0)==(rf|0))break;else{De=wf;Be=vf}}c[8730]=wf;if((r|0)>0){Be=r;do{De=Be;Be=Be+-1|0;Le=c[j+(Be<<2)>>2]|0;c[j+(De<<2)>>2]=Le;ue=k+(Le<<2)|0;c[ue>>2]=(c[ue>>2]|0)+1}while((De|0)>1)}c[j>>2]=Ke;c[Ge>>2]=0;kf=1;lf=wf;mf=vf;nf=He;of=2217692}c[of>>2]=(c[of>>2]|0)+kf;Be=(Qe|0)<2?0:Qe+-2|0;Qe=kf+Qe|0;r=Qe+-2|0;if((Be|0)<(r|0)){De=Be;do De=De+1|0;while((De|0)<(r|0))}r=mf-ia|0;if((Qe|0)==(f|0)|(r|0)>31){De=Qe-Pe|0;if((r|0)>(De+((Je|0)==(Pe|0)?3:0)|0)){r=Oe&255;c[8730]=r;c[554427]=Ne&255;c[554426]=Me;if(!Ie){He=nf+Me|0;Ge=(Oe^255)&(d[He>>0]|0);a[He>>0]=Ge;Ke=r<<1;c[8730]=Ke;if((r|0)==128){c[8730]=1;Be=Me+1|0;c[554426]=Be;ue=nf+Be|0;Le=d[ue>>0]|0;c[554427]=Le;xf=1;yf=Be;zf=ue;Af=Le}else{xf=Ke;yf=Me;zf=He;Af=Ge}Ge=(xf^255)&Af|xf;a[zf>>0]=Ge;He=xf<<1;c[8730]=He;if((xf|0)==128){c[8730]=1;Ke=yf+1|0;c[554426]=Ke;Le=nf+Ke|0;ue=d[Le>>0]|0;c[554427]=ue;Bf=1;Cf=Ke;Df=Le;Ef=ue}else{Bf=He;Cf=yf;Df=zf;Ef=Ge&255}Ge=(Bf^255)&Ef;a[Df>>0]=Ge;He=Bf<<1;c[8730]=He;if((Bf|0)==128){c[8730]=1;ue=Cf+1|0;c[554426]=ue;Le=nf+ue|0;Ke=d[Le>>0]|0;c[554427]=Ke;Ff=ue;Gf=Le;Hf=1;If=Ke}else{Ff=Cf;Gf=Df;Hf=He;If=Ge}Ge=(Hf^255)&If;a[Gf>>0]=Ge;He=Hf<<1;Ke=Ff+1|0;do if((He|0)==256){Le=nf+Ke|0;c[554426]=Ke;ue=d[Le>>0]|0;c[554427]=ue;Be=ue&254;a[Le>>0]=Be;Jf=2;Kf=Le;Lf=Be;E=121}else{Be=(He^255)&(Ge&255);a[Gf>>0]=Be;Le=Hf<<2;if((Le|0)==256){ue=nf+Ke|0;c[554426]=Ke;Ae=d[ue>>0]|0;c[554427]=Ae;Jf=1;Kf=ue;Lf=Ae;E=121;break}Ae=(Le^255)&Be;a[Gf>>0]=Ae;Be=Hf<<3;if((Be|0)!=256){Mf=Ff;Nf=Ae;Of=Gf;Pf=Ke;Qf=Be;E=124;break}Be=nf+Ke|0;c[554426]=Ke;Ae=d[Be>>0]|0;c[554427]=Ae;Le=Ae&254;a[Be>>0]=Le;Rf=2;Sf=Be;Tf=Le;Uf=Ke;E=126}while(0);if((E|0)==121){E=0;Ge=(Jf^255)&Lf;a[Kf>>0]=Ge;Mf=Ke;Nf=Ge;Of=Kf;Pf=Ff+2|0;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;Ge=(Qf^255)&(Nf&255);a[Of>>0]=Ge;He=Qf<<1;if((He|0)==256){Le=nf+Pf|0;c[554426]=Pf;Be=d[Le>>0]|0;c[554427]=Be;Rf=1;Sf=Le;Tf=Be;Uf=Pf;E=126;break}Be=(He^255)&Ge;a[Of>>0]=Be;Ge=Qf<<2;if((Ge|0)!=256){Vf=Mf;Wf=Be;Xf=Of;Yf=Pf;Zf=Ge;E=129;break}Ge=nf+Pf|0;c[554426]=Pf;Be=d[Ge>>0]|0;c[554427]=Be;He=Be&254;a[Ge>>0]=He;_f=2;$f=Ge;ag=He;bg=Pf;E=131}while(0);if((E|0)==126){E=0;Ke=(Rf^255)&Tf;a[Sf>>0]=Ke;Vf=Uf;Wf=Ke;Xf=Sf;Yf=Uf+1|0;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Ke=(Zf^255)&(Wf&255);a[Xf>>0]=Ke;He=Zf<<1;if((He|0)==256){Ge=nf+Yf|0;c[554426]=Yf;Be=d[Ge>>0]|0;c[554427]=Be;_f=1;$f=Ge;ag=Be;bg=Yf;E=131;break}Be=(He^255)&Ke;a[Xf>>0]=Be;Ke=Zf<<2;if((Ke|0)!=256){cg=Vf;dg=Be;eg=Xf;fg=Yf;gg=Ke;E=134;break}Ke=nf+Yf|0;c[554426]=Yf;Be=d[Ke>>0]|0;c[554427]=Be;He=Be&254;a[Ke>>0]=He;hg=2;ig=Ke;jg=He;kg=Yf;E=136}while(0);if((E|0)==131){E=0;He=(_f^255)&ag;a[$f>>0]=He;cg=bg;dg=He;eg=$f;fg=bg+1|0;gg=_f<<1;E=134}do if((E|0)==134){E=0;He=(gg^255)&(dg&255);a[eg>>0]=He;Ke=gg<<1;if((Ke|0)==256){Be=nf+fg|0;c[554426]=fg;Ge=d[Be>>0]|0;c[554427]=Ge;hg=1;ig=Be;jg=Ge;kg=fg;E=136;break}Ge=(Ke^255)&He;a[eg>>0]=Ge;He=gg<<2;if((He|0)!=256){lg=cg;mg=Ge;ng=eg;og=fg;pg=He;E=139;break}He=nf+fg|0;c[554426]=fg;Ge=d[He>>0]|0;c[554427]=Ge;a[He>>0]=Ge&254;qg=fg;rg=2}while(0);if((E|0)==136){E=0;Ge=(hg^255)&jg;a[ig>>0]=Ge;lg=kg;mg=Ge;ng=ig;og=kg+1|0;pg=hg<<1;E=139}do if((E|0)==139){E=0;a[ng>>0]=(pg^255)&mg;Ge=pg<<1;if((Ge|0)!=256){qg=lg;rg=Ge;break}c[554426]=og;c[554427]=d[nf+og>>0];qg=og;rg=1}while(0);c[8730]=rg;sg=qg;tg=rg}else{Ge=Me+-1|0;c[554426]=Ge;sg=Ge;tg=r}if((De|0)>0){Ge=tg;He=sg;Ke=0;while(1){Be=d[p+(Ke+Pe)>>0]|0;Le=nf+He|0;Ae=((Be&1|0)==0?0:Ge)|(Ge^255)&(d[Le>>0]|0);a[Le>>0]=Ae;ue=Ge<<1;ye=He+1|0;if((ue|0)==256){Ce=nf+ye|0;c[554426]=ye;Fe=d[Ce>>0]|0;c[554427]=Fe;ug=ye;vg=1;wg=Ce;xg=Fe;yg=He+2|0}else{ug=He;vg=ue;wg=Le;xg=Ae&255;yg=ye}ye=((Be&2|0)==0?0:vg)|(vg^255)&xg;a[wg>>0]=ye;Ae=vg<<1;if((Ae|0)==256){Le=nf+yg|0;c[554426]=yg;ue=d[Le>>0]|0;c[554427]=ue;zg=1;Ag=yg;Bg=Le;Cg=ue;Dg=yg+1|0}else{zg=Ae;Ag=ug;Bg=wg;Cg=ye&255;Dg=yg}ye=((Be&4|0)==0?0:zg)|(zg^255)&Cg;a[Bg>>0]=ye;Ae=zg<<1;if((Ae|0)==256){ue=nf+Dg|0;c[554426]=Dg;Le=d[ue>>0]|0;c[554427]=Le;Eg=1;Fg=Dg;Gg=ue;Hg=Le;Ig=Dg+1|0}else{Eg=Ae;Fg=Ag;Gg=Bg;Hg=ye&255;Ig=Dg}ye=((Be&8|0)==0?0:Eg)|(Eg^255)&Hg;a[Gg>>0]=ye;Ae=Eg<<1;if((Ae|0)==256){Le=nf+Ig|0;c[554426]=Ig;ue=d[Le>>0]|0;c[554427]=ue;Jg=1;Kg=Ig;Lg=Le;Mg=ue;Ng=Ig+1|0}else{Jg=Ae;Kg=Fg;Lg=Gg;Mg=ye&255;Ng=Ig}ye=((Be&16|0)==0?0:Jg)|(Jg^255)&Mg;a[Lg>>0]=ye;Ae=Jg<<1;if((Ae|0)==256){ue=nf+Ng|0;c[554426]=Ng;Le=d[ue>>0]|0;c[554427]=Le;Og=1;Pg=Ng;Qg=ue;Rg=Le;Sg=Ng+1|0}else{Og=Ae;Pg=Kg;Qg=Lg;Rg=ye&255;Sg=Ng}ye=((Be&32|0)==0?0:Og)|(Og^255)&Rg;a[Qg>>0]=ye;Ae=Og<<1;if((Ae|0)==256){Le=nf+Sg|0;c[554426]=Sg;ue=d[Le>>0]|0;c[554427]=ue;Tg=1;Ug=Sg;Vg=Le;Wg=ue;Xg=Sg+1|0}else{Tg=Ae;Ug=Pg;Vg=Qg;Wg=ye&255;Xg=Sg}ye=((Be&64|0)==0?0:Tg)|(Tg^255)&Wg;a[Vg>>0]=ye;Ae=Tg<<1;if((Ae|0)==256){ue=nf+Xg|0;c[554426]=Xg;Le=d[ue>>0]|0;c[554427]=Le;Yg=1;Zg=Xg;_g=ue;$g=Le;ah=Xg+1|0}else{Yg=Ae;Zg=Ug;_g=Vg;$g=ye&255;ah=Xg}a[_g>>0]=((Be&128|0)==0?0:Yg)|(Yg^255)&$g;Be=Yg<<1;if((Be|0)==256){c[554426]=ah;c[554427]=d[nf+ah>>0];bh=ah;ch=1}else{bh=Zg;ch=Be}Ke=Ke+1|0;if((Ke|0)==(De|0))break;else{Ge=ch;He=bh}}c[8730]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}He=nf+dh|0;Ge=(eh^255)&(d[He>>0]|0);a[He>>0]=Ge;De=eh<<1;Ke=dh+1|0;do if((De|0)==256){r=nf+Ke|0;c[554426]=Ke;Be=d[r>>0]|0;c[554427]=Be;ye=Be&254;a[r>>0]=ye;fh=Ke;gh=ye;hh=r;ih=dh+2|0;jh=2;E=162}else{r=(De^255)&Ge;a[He>>0]=r;ye=eh<<2;if((ye|0)!=256){fh=dh;gh=r;hh=He;ih=Ke;jh=ye;E=162;break}ye=nf+Ke|0;c[554426]=Ke;r=d[ye>>0]|0;c[554427]=r;Be=r&254;a[ye>>0]=Be;kh=2;lh=ye;mh=Be;nh=Ke;E=164}while(0);do if((E|0)==162){E=0;Ke=(jh^255)&(gh&255);a[hh>>0]=Ke;He=jh<<1;if((He|0)==256){Ge=nf+ih|0;c[554426]=ih;De=d[Ge>>0]|0;c[554427]=De;kh=1;lh=Ge;mh=De;nh=ih;E=164;break}De=(He^255)&Ke;a[hh>>0]=De;Ke=jh<<2;if((Ke|0)!=256){oh=fh;ph=De;qh=hh;rh=ih;sh=Ke;E=167;break}Ke=nf+ih|0;c[554426]=ih;De=d[Ke>>0]|0;c[554427]=De;He=De&254;a[Ke>>0]=He;th=2;uh=Ke;vh=He;wh=ih;E=169}while(0);if((E|0)==164){E=0;He=(kh^255)&mh;a[lh>>0]=He;oh=nh;ph=He;qh=lh;rh=nh+1|0;sh=kh<<1;E=167}do if((E|0)==167){E=0;He=(sh^255)&(ph&255);a[qh>>0]=He;Ke=sh<<1;if((Ke|0)==256){De=nf+rh|0;c[554426]=rh;Ge=d[De>>0]|0;c[554427]=Ge;th=1;uh=De;vh=Ge;wh=rh;E=169;break}Ge=(Ke^255)&He;a[qh>>0]=Ge;He=sh<<2;if((He|0)!=256){xh=oh;yh=Ge;zh=qh;Ah=rh;Bh=He;E=172;break}He=nf+rh|0;c[554426]=rh;Ge=d[He>>0]|0;c[554427]=Ge;Ke=Ge&254;a[He>>0]=Ke;Ch=rh;Dh=2;Eh=He;Fh=Ke;E=174}while(0);if((E|0)==169){E=0;Ke=(th^255)&vh;a[uh>>0]=Ke;xh=wh;yh=Ke;zh=uh;Ah=wh+1|0;Bh=th<<1;E=172}do if((E|0)==172){E=0;Ke=(Bh^255)&(yh&255);a[zh>>0]=Ke;He=Bh<<1;if((He|0)==256){Ge=nf+Ah|0;c[554426]=Ah;De=d[Ge>>0]|0;c[554427]=De;Ch=Ah;Dh=1;Eh=Ge;Fh=De;E=174;break}a[zh>>0]=(He^255)&Ke;Ke=Bh<<2;if((Ke|0)!=256){Gh=Ke;Hh=xh;break}c[554426]=Ah;c[554427]=d[nf+Ah>>0];Gh=1;Hh=Ah}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Dh<<1;Hh=Ch}c[8730]=Gh;Vv(j|0,l|0,1024)|0;Vv(k|0,m|0,1024)|0;Ih=Hh;Jh=Gh;Kh=Je;Lh=1}else{Vv(l|0,j|0,1024)|0;Vv(m|0,k|0,1024)|0;Ih=mf;Jh=lf;Kh=Qe;Lh=0}Ke=c[554427]<<8|Ih<<16|Jh;Mh=Ke;Nh=Ke>>16;Oh=Ke>>8;Ph=Ih;Qh=Qe;Rh=Kh;Sh=Lh}else{Mh=Oe;Nh=Me;Oh=Ne;Ph=ia;Qh=Pe;Rh=Je;Sh=Ie}if((Qe|0)>=(f|0))break;else{Oe=Mh;Me=Nh;Ne=Oh;ia=Ph;Pe=Qh;Je=Rh;Ie=Sh}}}zq(p);p=c[8730]|0;if((p|0)==1){Th=c[554426]|0;Uh=c[554425]|0}else{Sh=c[554425]|0;Ie=c[554426]|0;Rh=Sh+Ie|0;Je=p;p=a[Rh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Rh>>0]=p;p=Ie+1|0;c[554426]=p;c[554427]=d[Sh+p>>0];c[8730]=1;Th=p;Uh=Sh}a[Uh+6>>0]=(Th|0)/256|0;a[Uh+7>>0]=Th;if((Th|0)<=(f|0)){q=Th;Ia=g;return q|0}Vv(e|0,b|0,f|0)|0;q=f;Ia=g;return q|0}function Jl(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1446272+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=0;o=0;p=-1}else{q=g+-32767|0;r=m&65535;m=0;s=-1e5;t=-1;u=0;while(1){v=e[h+(u+2<<1)>>1]|0;if((v|0)>=(g|0)){w=m;x=s;y=t;break}if((q|0)>(v|0)){z=m;A=s;B=t}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=D;F=C;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=D;F=C;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C+v|0;F=C}D=g-v|0;a:do if((F|0)>=(k|0)|(E|0)<(g|0))H=F;else{I=F;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=2;M=C}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((M*5|0)+4+L|0)>>>0)|0;D=(I|0)>(t|0);z=D?H:m;A=D?v:s;B=D?I:t}u=u+1|0;if(u>>>0>=r>>>0){w=z;x=A;y=B;break}else{m=z;s=A;t=B}}n=(x|0)>-1?g-x|0:0;o=w;p=y}c[i>>2]=n;c[j>>2]=p;l=o;return l|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;g=Ia;Ia=Ia+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8730]=1;c[554427]=0;c[554432]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[8730]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Ia=g;return 0}j=f+-1|0;m=1;n=8;o=0;a:while(1){p=m<<1;q=(p|0)==256;r=n+(q&1)|0;s=q?1:p;b:do if(!(m&(d[b+n>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=t?1:q;x=u+(t&1)|0;y=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0}else{w=v;x=u;y=0}u=3-y|0;v=u*5|0;if((u|0)>0){u=x;p=x;t=w;q=0;z=0;while(1){A=t<<1;B=(A|0)==256;C=p+1|0;D=B?C:u;E=B?1:A;A=((t&(d[b+p>>0]|0)|0)==0?0:1<<q)|z;q=q+1|0;if((q|0)==(v|0)){F=E;G=D;H=A;break}else{u=D;p=B?C:p;t=E;z=A}}}else{F=w;G=x;H=0}z=H+1|0;if(!((v|0)==10&(H|0)==0|(z|0)==0)){t=G;p=F;u=0;q=0;while(1){A=d[b+t>>0]|0;E=(p&A|0)!=0;C=p<<1;B=t+1|0;do if((C|0)!=256){D=E&1;I=(C&A|0)==0;J=p<<2;if((J|0)==256){K=1;L=d[b+B>>0]|0;M=D;N=I;O=42;break}else{P=p<<3;Q=(P|0)==256;R=Q?B:t;S=Q?1:P;T=J&A;U=(I?0:2)|D;break}}else{D=d[b+B>>0]|0;K=2;L=D;M=E&1;N=(D&1|0)==0;O=42}while(0);if((O|0)==42){O=0;R=B;S=K<<1;T=K&L;U=(N?0:2)|M}E=((T|0)==0?0:4)|U;u=u+3|0;q=E+q|0;if(!(u>>>0<1e5&(E|0)==7))break;else{t=R;p=S}}p=q+3|0;t=o;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((p|0)<=1)break;else p=p+-1|0}if((t|0)>=(j|0)){V=S;W=R;X=t;break}a[e+t>>0]=0;V=S;W=R;X=t;break}if((o|0)<(k|0)){p=F;z=G;q=o;while(1){u=d[b+z>>0]|0;v=(p&u|0)!=0;E=p<<1;A=z+1|0;do if((E|0)!=256){C=v&1;D=(E&u|0)==0;I=p<<2;if((I|0)==256){Y=1;Z=d[b+A>>0]|0;_=C;$=D;O=46;break}J=(D?0:2)|C;C=(I&u|0)==0;I=p<<3;if((I|0)==256){D=d[b+A>>0]|0;aa=2;ba=D;ca=A;da=(D&1|0)==0;ea=(C?0:4)|J;O=51}else{fa=I;ga=z;ha=u;ia=A;ja=C;ka=J;O=49}}else{J=d[b+A>>0]|0;Y=2;Z=J;_=v&1;$=(J&1|0)==0;O=46}while(0);if((O|0)==46){O=0;fa=Y<<1;ga=A;ha=Z;ia=z+2|0;ja=(Y&Z|0)==0;ka=($?0:2)|_;O=49}do if((O|0)==49){O=0;v=(ja?0:4)|ka;u=(fa&ha|0)==0;E=fa<<1;if((E|0)==256){aa=1;ba=d[b+ia>>0]|0;ca=ia;da=u;ea=v;O=51;break}B=(u?0:8)|v;v=(E&ha|0)==0;E=fa<<2;if((E|0)==256){u=d[b+ia>>0]|0;la=2;ma=u;na=ia;oa=(u&1|0)==0;pa=(v?0:16)|B;O=56}else{qa=E;ra=ga;sa=ha;ta=ia;ua=v;va=B;O=54}}while(0);if((O|0)==51){O=0;qa=aa<<1;ra=ca;sa=ba;ta=ca+1|0;ua=(aa&ba|0)==0;va=(da?0:8)|ea;O=54}do if((O|0)==54){O=0;A=(ua?0:16)|va;B=(qa&sa|0)==0;v=qa<<1;if((v|0)==256){la=1;ma=d[b+ta>>0]|0;na=ta;oa=B;pa=A;O=56;break}E=(B?0:32)|A;A=(v&sa|0)==0;v=qa<<2;if((v|0)==256){wa=ta;xa=2;ya=(a[b+ta>>0]&1)==0;za=(A?0:64)|E}else{Aa=v;Ba=ra;Ca=sa;Da=ta;Ea=A;Fa=E;O=59}}while(0);if((O|0)==56){O=0;Aa=la<<1;Ba=na;Ca=ma;Da=na+1|0;Ea=(la&ma|0)==0;Fa=(oa?0:32)|pa;O=59}if((O|0)==59){O=0;E=Aa<<1;A=(E|0)==256;wa=A?Da:Ba;xa=A?1:E;ya=(Aa&Ca|0)==0;za=(Ea?0:64)|Fa}E=(ya?0:128)|za;a[e+q>>0]=E;if(!(E&255)){V=xa;W=wa;X=q;break b}E=q+1|0;if((E|0)<(k|0)){p=xa;z=wa;q=E}else{V=xa;W=wa;X=E;break}}}else{V=F;W=G;X=o}}else{q=r;z=s;p=0;t=0;E=0;while(1){A=z<<1;v=(A|0)==256;Ga=q+(v&1)|0;Ha=v?1:A;if(!(E>>>0<16?(z&(d[b+q>>0]|0)|0)!=0:0))break;A=(16<<p)+t|0;q=Ga;z=Ha;p=p+1|0;t=A;E=E+1|0}E=p+3|0;z=Ga;q=Ha;A=0;v=0;while(1){B=q<<1;u=(B|0)==256;J=z;z=z+(u&1)|0;C=q;q=u?1:B;v=((C&(d[b+J>>0]|0)|0)==0?0:1<<A)|v;if((A|0)==(E|0))break;else A=A+1|0}A=v+t|0;if((A|0)>255){Ja=q;break a}E=c[h+(A<<2)>>2]|0;a[e+o>>0]=E;p=o+1|0;a[e+p>>0]=0;if((A|0)>0){J=A;do{A=J;J=J+-1|0;C=c[h+(J<<2)>>2]|0;c[h+(A<<2)>>2]=C;B=i+(C<<2)|0;c[B>>2]=(c[B>>2]|0)+1}while((A|0)>1)}c[h>>2]=E;c[i+(E<<2)>>2]=0;V=q;W=z;X=p}while(0);if((X|0)<(f|0)&((X|0)<(k|0)&(W|0)<(l|0))){m=V;n=W;o=X}else{Ja=V;break}}c[8730]=Ja;Ia=g;return 0}function Ll(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return Il(a,b,c)|0}function Nl(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){f=d[b+4>>0]<<8|d[b+5>>0];wq(c,0,e);if((f|0)>(e|0)){g=1;return g|0}h=c+f|0;if(!f)i=c;else{f=b+8|0;j=c;while(1){k=a[f>>0]|0;l=k&255;m=f+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:91800+l|0)>>0]|0;o=1;p=n?f+2|0:m}else{n=d[m>>0]|0;m=(n>>>4)+2|0;Vv(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=m;p=f+2|0}m=j+o|0;if(m>>>0<h>>>0){f=p;j=m}else{i=m;break}}}j=bv(c,91861)|0;if((j|0)!=0?(p=bu(c)|0,(c-j+p|0)==56):0){j=c+p+-56|0;a[j>>0]=0;q=j}else q=i;i=bv(c,91918)|0;if(i){j=bu(c)|0;p=c;if((p-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=p}else{r=q;s=p}}else{r=q;s=c}g=r-s|0;return g|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){Kl(b,c,e)|0;g=0;return g|0}break}default:{}}kv(c,b,e)|0;g=0;return g|0}function Ol(a){a=a|0;var b=0;c[554434]=(c[554434]|0)+a;b=_s(a,1)|0;a=c[554433]|0;c[1462656+(a<<2)>>2]=b;c[554433]=a+((a|0)<16384&1);return b|0}function Pl(){var a=0,b=0;a=c[554433]|0;if((a|0)<=0)return;b=a;do{a=b+-1|0;c[554433]=a;Zs(c[1462656+(a<<2)>>2]|0);b=c[554433]|0}while((b|0)>0);return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=1;while(1){e=1<<d;if(d>>>0<9&(e|0)<(a|0))d=d+1|0;else break}if((e|0)!=(a|0)){f=0;return f|0}e=(c[554434]|0)+16|0;c[554434]=e;d=_s(16,1)|0;g=c[554433]|0;c[1462656+(g<<2)>>2]=d;h=g+((g|0)<16384&1)|0;c[554433]=h;if(!d){f=0;return f|0}g=a*3|0;c[554434]=e+g;e=_s(a,3)|0;c[1462656+(h<<2)>>2]=e;c[554433]=h+((h|0)<16384&1);c[d+12>>2]=e;if(!e){f=0;return f|0}c[d>>2]=a;h=1;while(1)if(h>>>0<9&(1<<h|0)<(a|0))h=h+1|0;else break;c[d+4>>2]=h;if(!b){f=d;return f|0}Vv(e|0,b|0,g|0)|0;f=d;return f|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=384;g=tu(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=Sl(g,d)|0;if(!f){su(g)|0;h=0}else h=f}Ia=e;return h|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[554434]|0;c[554434]=d+76;e=_s(76,1)|0;f=c[554433]|0;c[1462656+(f<<2)>>2]=e;g=f+((f|0)<16384&1)|0;c[554433]=g;if(!e){h=0;return h|0}f=e;i=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));c[554434]=d+24984;f=_s(24908,1)|0;c[1462656+(g<<2)>>2]=f;i=g+((g|0)<16384&1)|0;c[554433]=i;if(!f){if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}c[554434]=d+57752;d=_s(32768,1)|0;c[1462656+(i<<2)>>2]=d;c[554433]=i+((i|0)<16384&1);if(d|0){Wv(d|0,-1,32768)|0;c[f+24900>>2]=d;d=Hu(a,104706)|0;c[e+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=d;c[f>>2]=1;c[f+64>>2]=0;c[e+68>>2]=0;c[e+64>>2]=0;h=e;return h|0}if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}function Tl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?91992:91999;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?91992:91999;return o|0}function Ul(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=Ia;Ia=Ia+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Ia=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ia=i;return o|0}n=Tl(b)|0;p=bu(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=hv(n,1,p,c[q+56>>2]|0)|0;else s=Oa[r&7](b,n,p)|0;if((s|0)!=(bu(n)|0)){c[b+64>>2]=2;o=0;Ia=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;if(n){s=Ql(c[h>>2]|0,c[h+12>>2]|0)|0;c[b+20>>2]=s;if(!s){c[b+64>>2]=7;o=0;Ia=i;return o|0}}else c[b+20>>2]=0;a[j>>0]=d;s=j+1|0;a[s>>0]=d>>>8;d=c[l>>2]|0;p=c[d+64>>2]|0;if(!p)hv(j,1,2,c[d+56>>2]|0)|0;else Oa[p&7](b,j,2)|0;a[j>>0]=e;a[s>>0]=e>>>8;e=c[l>>2]|0;s=c[e+64>>2]|0;if(!s)hv(j,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){t=f|8;u=24}}else{t=j|7;u=24}if((u|0)==24)a[k>>0]=t;t=k+1|0;a[t>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;u=c[l>>2]|0;j=c[u+64>>2]|0;if(!j)hv(k,1,3,c[u+56>>2]|0)|0;else Oa[j&7](b,k,3)|0;a:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;u=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(u*3|0)>>0]|0;a[t>>0]=a[f+(u*3|0)+1>>0]|0;a[g>>0]=a[f+(u*3|0)+2>>0]|0;f=c[l>>2]|0;s=c[f+64>>2]|0;if(!s)v=hv(k,1,3,c[f+56>>2]|0)|0;else v=Oa[s&7](b,k,3)|0;u=u+1|0;if((v|0)!=3)break;if((u|0)>=(c[h>>2]|0))break a}c[b+64>>2]=2;o=0;Ia=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ia=i;return o|0} 140 + function Wa(a){a=a|0;var b=0;b=Ia;Ia=Ia+a|0;Ia=Ia+15&-16;return b|0}function Xa(){return Ia|0}function Ya(a){a=a|0;Ia=a}function Za(a,b){a=a|0;b=b|0;Ia=a;Ja=b}function _a(){return c[(c[(c[c[742804]>>2]|0)+16>>2]|0)+12>>2]|0}function $a(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((c[780901]|0)!=0&(c[780894]|0)==1?a[3152374]&64:0)return;c[781024]=(c[781024]|0)-b;d=128-b|0;e=c[742782]|0;if((d|0)>0){f=e;g=0;while(1){Gp(f,f,0,g+b|0,0,g,128,1);g=g+1|0;h=c[742782]|0;if((g|0)==(d|0)){i=h;j=d;break}else f=h}}else{i=e;j=0}Pn(i,0,j,127,127,0);jh(65536);return}function ab(){var b=0,d=0;b=(c[781024]|0)+(c[781029]|0)|0;c[781024]=b;if((b|0)<=((c[781031]|0)+122|0))return;if((c[780901]|0)!=0&(c[780894]|0)==1?a[3152374]&64:0)return;c[781024]=b+-6;b=c[742782]|0;d=0;do{Gp(b,b,0,d+6|0,0,d,128,1);d=d+1|0;b=c[742782]|0}while((d|0)!=122);Pn(b,0,122,127,127,0);jh(65536);return}function bb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=Ia;Ia=Ia+352|0;d=b+336|0;e=b+328|0;f=b+320|0;g=b+312|0;h=b+304|0;i=b+296|0;j=b+288|0;k=b+280|0;l=b+272|0;m=b+264|0;n=b+256|0;o=b+248|0;p=b+240|0;q=b+232|0;r=b+224|0;s=b+216|0;t=b+208|0;u=b+200|0;v=b+192|0;w=b+184|0;x=b+176|0;y=b+168|0;z=b+160|0;A=b+152|0;B=b+144|0;C=b+136|0;D=b+128|0;E=b+120|0;F=b+16|0;G=b+8|0;H=b;I=b+340|0;if(!(ut(a,35296,9)|0))Wo(a+10|0,3115688)|0;if(!(ut(a,35306,10)|0))Wo(a+11|0,3117736)|0;if(!(ut(a,35317,14)|0)){c[H>>2]=1938452;Su(a+14|0,96484,H)|0}if(!(ut(a,35332,15)|0)){c[G>>2]=1938456;Su(a+15|0,96484,G)|0}if(!(ut(a,35348,11)|0)){c[F>>2]=1938516;c[F+4>>2]=1938520;c[F+8>>2]=1938524;c[F+12>>2]=1938528;c[F+16>>2]=1938532;c[F+20>>2]=1938536;c[F+24>>2]=1938540;c[F+28>>2]=1938544;c[F+32>>2]=1938548;c[F+36>>2]=1938552;c[F+40>>2]=1938556;c[F+44>>2]=1938560;c[F+48>>2]=1938564;c[F+52>>2]=1938568;c[F+56>>2]=1938572;c[F+60>>2]=1938576;c[F+64>>2]=1938580;c[F+68>>2]=1938584;c[F+72>>2]=1938588;c[F+76>>2]=1938592;c[F+80>>2]=1938596;c[F+84>>2]=1938600;c[F+88>>2]=1938604;c[F+92>>2]=1938608;c[F+96>>2]=1938612;Su(a+11|0,35360,F)|0}if(!(ut(a,35436,10)|0)){c[E>>2]=1938772;Su(a+10|0,96484,E)|0}if(!(ut(a,35447,11)|0)){c[D>>2]=1938800;Su(a+11|0,96484,D)|0}if(!(ut(a,51100,7)|0)){c[C>>2]=1938804;Su(a+7|0,96484,C)|0}if((ut(a,93198,6)|0)==0?(c[B>>2]=2142440,Su(a+6|0,96484,B)|0,c[555247]|0):0)c[555247]=c[535610];if(!(ut(a,35459,9)|0)){c[A>>2]=1938820;Su(a+9|0,96484,A)|0}if(!(ut(a,51487,16)|0)){c[z>>2]=1938788;Su(a+16|0,96484,z)|0}if(!(ut(a,51388,9)|0)){c[y>>2]=1938792;Su(a+9|0,96484,y)|0}if(!(ut(a,35469,12)|0)){c[x>>2]=1938836;Su(a+12|0,96484,x)|0}if(!(ut(a,35482,20)|0)){c[w>>2]=2141880;Su(a+20|0,96484,w)|0}if(!(ut(a,35503,22)|0)){c[v>>2]=2141884;Su(a+22|0,96484,v)|0}if(!(ut(a,35526,14)|0)){c[u>>2]=I;Su(a+14|0,96484,u)|0;c[484711]=(c[I>>2]|0)==2&1}if(!(ut(a,50818,13)|0)){c[t>>2]=1938844;Su(a+13|0,96484,t)|0}if(!(ut(a,35541,14)|0)){c[s>>2]=1938848;Su(a+14|0,96484,s)|0}if(!(ut(a,51593,9)|0)){c[r>>2]=1938776;Su(a+9|0,96484,r)|0}if(!(ut(a,50604,9)|0)){c[q>>2]=1938780;Su(a+9|0,96484,q)|0}if(!(ut(a,35556,19)|0)){c[p>>2]=1938500;Su(a+19|0,96484,p)|0}if(!(ut(a,35576,19)|0)){c[o>>2]=1938496;Su(a+19|0,96484,o)|0}if(!(ut(a,35596,22)|0)){c[n>>2]=1938504;Su(a+22|0,96484,n)|0}if(!(ut(a,35619,11)|0)){c[m>>2]=1938828;Su(a+11|0,96484,m)|0}if(!(ut(a,35631,14)|0)){c[l>>2]=1938784;Su(a+14|0,96484,l)|0}if(!(ut(a,35646,22)|0)){c[k>>2]=1938492;Su(a+22|0,96484,k)|0}if(!(ut(a,35669,18)|0)){c[j>>2]=1938484;Su(a+18|0,96484,j)|0}if(!(ut(a,35688,16)|0)){c[i>>2]=1938488;Su(a+16|0,96484,i)|0}if(!(ut(a,35705,16)|0)){c[h>>2]=1938480;Su(a+16|0,96484,h)|0}if(!(ut(a,35722,14)|0)){c[g>>2]=1938476;Su(a+14|0,96484,g)|0}if(!(ut(a,35737,18)|0)){c[f>>2]=1938816;Su(a+18|0,96484,f)|0}if(!(ut(a,35756,20)|0)){c[e>>2]=1938512;Su(a+20|0,96484,e)|0}if(ut(a,35777,13)|0){Ia=b;return 0}c[d>>2]=1938448;Su(a+13|0,96484,d)|0;c[555803]=c[484612];Ia=b;return 0}function cb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0;b=Ia;Ia=Ia+432|0;d=b+424|0;e=b+416|0;f=b+408|0;g=b+400|0;h=b+392|0;i=b+384|0;j=b+376|0;k=b+368|0;l=b+360|0;m=b+352|0;n=b+344|0;o=b+336|0;p=b+328|0;q=b+320|0;r=b+312|0;s=b+304|0;t=b+296|0;u=b+288|0;v=b+280|0;w=b+272|0;x=b+264|0;y=b+256|0;z=b+248|0;A=b+240|0;B=b+232|0;C=b+224|0;D=b+216|0;E=b+208|0;F=b+200|0;G=b+192|0;H=b+184|0;I=b+176|0;J=b+168|0;K=b+160|0;L=b+152|0;M=b+144|0;N=b+136|0;O=b+128|0;P=b+120|0;Q=b+112|0;R=b+104|0;S=b+96|0;T=b+88|0;U=b+80|0;V=b+72|0;W=b+64|0;X=b+56|0;Y=b+48|0;Z=b+40|0;_=b+32|0;$=b+24|0;aa=b+16|0;ba=b+8|0;ca=b;da=a+8|0;a=c[da>>2]|0;c[ca>>2]=35804;_u(a,35791,ca)|0;hv(35810,25,1,c[da>>2]|0)|0;ca=c[da>>2]|0;c[ba>>2]=c[535610];_u(ca,35836,ba)|0;hv(35848,37,1,c[da>>2]|0)|0;ba=c[da>>2]|0;c[aa>>2]=3115688;_u(ba,35886,aa)|0;hv(35901,36,1,c[da>>2]|0)|0;aa=c[da>>2]|0;c[$>>2]=3117736;_u(aa,35938,$)|0;hv(35954,65,1,c[da>>2]|0)|0;$=c[da>>2]|0;c[_>>2]=c[484613];_u($,36020,_)|0;hv(36040,77,1,c[da>>2]|0)|0;hv(36118,78,1,c[da>>2]|0)|0;_=c[da>>2]|0;c[Z>>2]=c[484614];_u(_,36197,Z)|0;hv(36218,111,1,c[da>>2]|0)|0;hv(36330,12,1,c[da>>2]|0)|0;Z=c[da>>2]|0;c[Y>>2]=c[484629];_u(Z,36343,Y)|0;Y=c[da>>2]|0;c[X>>2]=c[484630];_u(Y,36343,X)|0;X=c[da>>2]|0;c[W>>2]=c[484631];_u(X,36343,W)|0;W=c[da>>2]|0;c[V>>2]=c[484632];_u(W,36343,V)|0;V=c[da>>2]|0;c[U>>2]=c[484633];_u(V,36343,U)|0;U=c[da>>2]|0;c[T>>2]=c[484634];_u(U,36343,T)|0;T=c[da>>2]|0;c[S>>2]=c[484635];_u(T,36343,S)|0;S=c[da>>2]|0;c[R>>2]=c[484636];_u(S,36343,R)|0;R=c[da>>2]|0;c[Q>>2]=c[484637];_u(R,36343,Q)|0;Q=c[da>>2]|0;c[P>>2]=c[484638];_u(Q,36343,P)|0;P=c[da>>2]|0;c[O>>2]=c[484639];_u(P,36343,O)|0;O=c[da>>2]|0;c[N>>2]=c[484640];_u(O,36343,N)|0;N=c[da>>2]|0;c[M>>2]=c[484641];_u(N,36343,M)|0;M=c[da>>2]|0;c[L>>2]=c[484642];_u(M,36343,L)|0;L=c[da>>2]|0;c[K>>2]=c[484643];_u(L,36343,K)|0;K=c[da>>2]|0;c[J>>2]=c[484644];_u(K,36343,J)|0;J=c[da>>2]|0;c[I>>2]=c[484645];_u(J,36343,I)|0;I=c[da>>2]|0;c[H>>2]=c[484646];_u(I,36343,H)|0;H=c[da>>2]|0;c[G>>2]=c[484647];_u(H,36343,G)|0;G=c[da>>2]|0;c[F>>2]=c[484648];_u(G,36343,F)|0;F=c[da>>2]|0;c[E>>2]=c[484649];_u(F,36343,E)|0;E=c[da>>2]|0;c[D>>2]=c[484650];_u(E,36343,D)|0;D=c[da>>2]|0;c[C>>2]=c[484651];_u(D,36343,C)|0;C=c[da>>2]|0;c[B>>2]=c[484652];_u(C,36343,B)|0;B=c[da>>2]|0;c[A>>2]=c[484653];_u(B,36343,A)|0;hv(36347,2,1,c[da>>2]|0)|0;hv(36350,52,1,c[da>>2]|0)|0;A=c[da>>2]|0;c[z>>2]=c[484693];_u(A,36403,z)|0;hv(36419,70,1,c[da>>2]|0)|0;z=c[da>>2]|0;c[y>>2]=c[484700];_u(z,36490,y)|0;hv(36507,125,1,c[da>>2]|0)|0;y=c[da>>2]|0;c[x>>2]=c[484705];_u(y,36633,x)|0;hv(36648,52,1,c[da>>2]|0)|0;x=c[da>>2]|0;c[w>>2]=c[484697];_u(x,36701,w)|0;w=c[da>>2]|0;c[v>>2]=c[484698];_u(w,36722,v)|0;hv(36737,68,1,c[da>>2]|0)|0;v=c[da>>2]|0;c[u>>2]=c[484701];_u(v,36806,u)|0;hv(36819,101,1,c[da>>2]|0)|0;u=c[da>>2]|0;c[t>>2]=c[484702];_u(u,36921,t)|0;hv(36941,102,1,c[da>>2]|0)|0;t=c[da>>2]|0;c[s>>2]=c[535471];_u(t,37044,s)|0;hv(37072,28,1,c[da>>2]|0)|0;hv(37101,68,1,c[da>>2]|0)|0;s=c[da>>2]|0;c[r>>2]=c[484711];_u(s,37170,r)|0;hv(37189,64,1,c[da>>2]|0)|0;r=c[da>>2]|0;c[q>>2]=c[484712];_u(r,37254,q)|0;hv(37274,36,1,c[da>>2]|0)|0;q=c[da>>2]|0;c[p>>2]=c[484694];_u(q,37311,p)|0;hv(37326,59,1,c[da>>2]|0)|0;p=c[da>>2]|0;c[o>>2]=c[484695];_u(p,37386,o)|0;hv(37401,109,1,c[da>>2]|0)|0;o=c[da>>2]|0;c[n>>2]=c[484625];_u(o,37511,n)|0;hv(37536,53,1,c[da>>2]|0)|0;n=c[da>>2]|0;c[m>>2]=c[484624];_u(n,37590,m)|0;hv(37615,90,1,c[da>>2]|0)|0;m=c[da>>2]|0;c[l>>2]=c[484626];_u(m,37706,l)|0;if(!(c[484696]|0)){ea=c[da>>2]|0;hv(37753,48,1,ea)|0;fa=c[da>>2]|0;ga=c[484623]|0;c[k>>2]=ga;_u(fa,37802,k)|0;ha=c[da>>2]|0;hv(37830,67,1,ha)|0;ia=c[da>>2]|0;hv(37898,62,1,ia)|0;ja=c[da>>2]|0;ka=c[484621]|0;c[j>>2]=ka;_u(ja,37961,j)|0;la=c[da>>2]|0;hv(37985,89,1,la)|0;ma=c[da>>2]|0;na=c[484622]|0;c[i>>2]=na;_u(ma,38075,i)|0;oa=c[da>>2]|0;hv(38097,34,1,oa)|0;pa=c[da>>2]|0;hv(38132,26,1,pa)|0;qa=c[da>>2]|0;hv(38159,24,1,qa)|0;ra=c[da>>2]|0;hv(38184,29,1,ra)|0;sa=c[da>>2]|0;hv(38214,30,1,sa)|0;ta=c[da>>2]|0;hv(38245,30,1,ta)|0;ua=c[da>>2]|0;va=c[484620]|0;c[h>>2]=va;_u(ua,38276,h)|0;wa=c[da>>2]|0;hv(38298,95,1,wa)|0;xa=c[da>>2]|0;ya=c[484619]|0;c[g>>2]=ya;_u(xa,38394,g)|0;za=c[da>>2]|0;hv(38414,51,1,za)|0;Aa=c[da>>2]|0;hv(38466,80,1,Aa)|0;Ba=c[da>>2]|0;Ca=c[484704]|0;c[f>>2]=Ca;_u(Ba,38547,f)|0;Da=c[da>>2]|0;hv(38571,83,1,Da)|0;Ea=c[da>>2]|0;hv(38655,82,1,Ea)|0;Fa=c[da>>2]|0;Ga=c[484628]|0;c[e>>2]=Ga;_u(Fa,38738,e)|0;Ha=c[da>>2]|0;hv(38764,79,1,Ha)|0;Ja=c[da>>2]|0;Ka=c[484612]|0;c[d>>2]=Ka;_u(Ja,38844,d)|0;Ia=b;return 0}hv(37734,18,1,c[da>>2]|0)|0;ea=c[da>>2]|0;hv(37753,48,1,ea)|0;fa=c[da>>2]|0;ga=c[484623]|0;c[k>>2]=ga;_u(fa,37802,k)|0;ha=c[da>>2]|0;hv(37830,67,1,ha)|0;ia=c[da>>2]|0;hv(37898,62,1,ia)|0;ja=c[da>>2]|0;ka=c[484621]|0;c[j>>2]=ka;_u(ja,37961,j)|0;la=c[da>>2]|0;hv(37985,89,1,la)|0;ma=c[da>>2]|0;na=c[484622]|0;c[i>>2]=na;_u(ma,38075,i)|0;oa=c[da>>2]|0;hv(38097,34,1,oa)|0;pa=c[da>>2]|0;hv(38132,26,1,pa)|0;qa=c[da>>2]|0;hv(38159,24,1,qa)|0;ra=c[da>>2]|0;hv(38184,29,1,ra)|0;sa=c[da>>2]|0;hv(38214,30,1,sa)|0;ta=c[da>>2]|0;hv(38245,30,1,ta)|0;ua=c[da>>2]|0;va=c[484620]|0;c[h>>2]=va;_u(ua,38276,h)|0;wa=c[da>>2]|0;hv(38298,95,1,wa)|0;xa=c[da>>2]|0;ya=c[484619]|0;c[g>>2]=ya;_u(xa,38394,g)|0;za=c[da>>2]|0;hv(38414,51,1,za)|0;Aa=c[da>>2]|0;hv(38466,80,1,Aa)|0;Ba=c[da>>2]|0;Ca=c[484704]|0;c[f>>2]=Ca;_u(Ba,38547,f)|0;Da=c[da>>2]|0;hv(38571,83,1,Da)|0;Ea=c[da>>2]|0;hv(38655,82,1,Ea)|0;Fa=c[da>>2]|0;Ga=c[484628]|0;c[e>>2]=Ga;_u(Fa,38738,e)|0;Ha=c[da>>2]|0;hv(38764,79,1,Ha)|0;Ja=c[da>>2]|0;Ka=c[484612]|0;c[d>>2]=Ka;_u(Ja,38844,d)|0;Ia=b;return 0}function db(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Ia;Ia=Ia+32|0;f=b+16|0;g=b+8|0;h=b;c[537596]=0;if(c[536392]|0){Ia=b;return}ic();c[h>>2]=3118768;c[h+4>>2]=1937144;vv(38945,h)|0;h=Aq(e)|0;Ho(d,1,e,h)|0;c[g>>2]=e;vv(39048,g)|0;c[h+20>>2]=0;g=Sb(h)|0;Ro(h);if(!g){c[484720]=-1;Ia=b;return}do if(bv(1937144,39063)|0){h=bv(1937144,39081)|0;if(!h){Rs(3118768,39086)|0;break}else{Rs(3118768,h+4|0)|0;break}}else Qo(1937144,0,3118768,0,1);while(0);h=3118768+(bu(3118768)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=3118768;c[f+4>>2]=1937144;vv(39112,f)|0;Zb(g,3118768);jc(g,3118768);c[780894]=0;c[781022]=6;c[780900]=1;Ia=b;return}function eb(a){a=a|0;c[537596]=0;if(!(c[780901]|0)){Mg(39175,0,0);c[484720]=-2;return}else{Rs(2141888,39175)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[484720]=-2;return}}function fb(a,b){a=a|0;b=b|0;Rs(2141888,a)|0;c[535536]=Xr()|0;c[535537]=b+400+(Xr()|0);c[535538]=15;return}function gb(){var b=0,d=0,e=0,f=0,g=0,h=0;ic();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<32?b:32):0;b=e<<15;f=xq(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=vs()|0;Rb(b,f);c[b+45860>>2]=43;la(3,0)|0;a[104896]=0;g=0;do{h=ka(4)|0;a[104896+g>>0]=h;g=g+1|0;a[104896+g>>0]=0}while((h|0)!=0&g>>>0<1023);Zb(b,104896);if(d){d=0;do{b=vs()|0;Rb(b,f+(d<<15)|0);c[b+45860>>2]=43;la(3,d|0)|0;a[104896]=0;g=0;do{h=ka(4)|0;a[104896+g>>0]=h;g=g+1|0;a[104896+g>>0]=0}while((h|0)!=0&g>>>0<1023);jc(b,104896);ws(b);d=d+1|0}while((d|0)<(e|0))}c[780894]=0;c[780900]=1;return}function hb(){var b=0;b=ka(0)|0;if((b|0)!=0|(a[1937144]|0)==0){c[537596]=0;Cn(39361);c[484611]=0;gb();return}else{c[537596]=1;Cn(39342);c[484611]=1;qa(1937144,0,1,1);return}}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=Ia;Ia=Ia+16|0;f=e;g=e+4|0;Wv(2150388,0,66948)|0;if((b|0)<=1){Ia=e;return}h=1;i=0;a:while(1){j=d+(h<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=48;break a;break}default:{}}b:do if((i|0)!=17&l<<24>>24==45){n=k+1|0;o=(au(n,39389)|0)==0;if(!(au(n,86293)|0)){c[484543]=1;c[484608]=0;p=0}else p=o?4:-1;if(!(au(n,39398)|0)){c[484627]=1;q=0}else q=p;if(!(au(n,39409)|0)){c[484609]=1;c[484608]=1;r=0}else r=q;if((au(n,39437)|0)!=0?(o=(au(n,39425)|0)==0,s=(au(n,39415)|0)==0,t=(au(n,51388)|0)==0,u=(au(n,51487)|0)==0,v=(au(n,35459)|0)==0,w=(au(n,51100)|0)==0,(au(n,39439)|0)!=0):0)x=o?11:s?10:t?9:u?8:v?7:w?6:r;else{c[742801]=1;c[484543]=1;c[484608]=0;c[555284]=1;x=0}w=(au(n,39444)|0)==0;v=w|(au(n,39450)|0)==0;w=(au(n,50818)|0)==0;u=(au(n,35296)|0)==0;t=(au(n,35306)|0)==0;s=(au(n,35777)|0)==0;o=(au(n,90290)|0)==0;y=(au(n,93198)|0)==0;z=(au(n,39452)|0)==0;A=(au(n,39461)|0)==0;B=(au(n,39472)|0)==0;C=(au(n,51192)|0)==0;D=(au(n,39483)|0)==0;E=(au(n,39485)|0)==0;F=(au(n,39487)|0)==0;G=(au(n,39496)|0)==0;H=(au(n,39504)|0)==0;I=H?28:G?27:F?26:E?25:D?24:C?22:B?21:A?20:z?19:y?18:o?17:s?16:t?15:u?14:w?13:v?12:x}else{c[g>>2]=0;c[f>>2]=g;Su(k,94793,f)|0;do switch(i|0){case 0:{if(!(a[1937144]|0)){Wv(1937144,0,1024)|0;Rs(1937144,c[j>>2]|0)|0;I=0;break b}else{Rs(2150392+(c[537597]<<10)|0,c[j>>2]|0)|0;c[537597]=(c[537597]|0)+1;I=0;break b}break}case 4:{c[484613]=c[g>>2];I=0;break b;break}case 6:{c[484701]=c[g>>2];I=0;break b;break}case 7:{c[484705]=c[g>>2];I=0;break b;break}case 8:{c[484697]=c[g>>2];I=0;break b;break}case 9:{c[484698]=c[g>>2];I=0;break b;break}case 10:{c[484706]=c[g>>2];I=0;break b;break}case 11:{c[535463]=c[g>>2];I=0;break b;break}case 12:{kv(3126573,c[j>>2]|0,1024)|0;I=0;break b;break}case 13:{c[484711]=c[g>>2];I=0;break b;break}case 14:{Wo(c[j>>2]|0,3115688)|0;I=0;break b;break}case 15:{Wo(c[j>>2]|0,3117736)|0;I=0;break b;break}case 16:{c[484612]=c[g>>2];I=0;break b;break}case 17:{kv(2142448,c[j>>2]|0,1023)|0;c[555284]=1;I=0;break b;break}case 18:{v=c[g>>2]|0;w=(v|0)<256?v:256;v=(w|0)>0?w:0;c[535610]=v;if(!(c[555247]|0)){I=0;break b}c[555247]=v;I=0;break b;break}case 19:{c[535871]=c[g>>2];I=0;break b;break}case 20:{c[535873]=c[g>>2];I=0;break b;break}case 21:{c[535874]=c[g>>2];I=0;break b;break}case 22:{c[484702]=c[g>>2];I=0;break b;break}case 23:{kv(2219928,c[j>>2]|0,1023)|0;I=0;break b;break}default:{if(!((i|0)!=24|(c[536396]|0)!=0)){c[536396]=Fu(c[j>>2]|0,96074)|0;I=0;break b}if(!((i|0)!=25|(c[536397]|0)!=0)){c[536397]=Fu(c[j>>2]|0,104706)|0;I=0;break b}switch(i|0){case 26:{kv(2145596,c[j>>2]|0,2047)|0;I=0;break b;break}case 27:{kv(2147644,c[j>>2]|0,2047)|0;I=0;break b;break}case 28:{kv(1938176,c[j>>2]|0,255)|0;I=0;break b;break}default:{I=0;break b}}}}while(0)}while(0);h=h+1|0;if((h|0)>=(b|0)){m=48;break}else i=I}if((m|0)==48){Ia=e;return}}function jb(){var a=0;if(c[537423]|0){ka(5)|0;c[537423]=0}c[535869]=0;c[780894]=2;c[742774]=-15;c[798948]=0;Rg();Tg();Lg(3196396);c[781022]=7;Nn(c[742782]|0);Nn(c[742795]|0);bo(c[(c[26544]|0)+4>>2]|0,2,2,5,5,7);bo(c[(c[26544]|0)+4>>2]|0,5,2,2,5,7);a=Fa(0)|0;zl((Xr()|0)+a|0);or();lr(0,0);c[554964]=0;c[535872]=0;c[484610]=0;if(!(no()|0))return;do oo()|0;while((no()|0)!=0);return}function kb(){Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;return}function lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+2896|0;f=e+2888|0;g=e+2880|0;h=e+2872|0;i=e+2864|0;j=e+2048|0;k=e+1024|0;l=e;Wv(1937144,0,213240)|0;Tk();c[484699]=0;c[484701]=16;c[484697]=3;c[484706]=-1;c[484709]=1;c[535470]=1;c[535471]=1;c[484711]=0;c[484694]=1;c[484626]=1;c[484623]=5;c[484622]=20;c[484628]=4;c[484625]=0;c[484624]=0;c[484698]=2;ka(6)|0;yn(62178);Do(2);Eo(3);wq(2971096,0,224700);An()|0;c[484608]=c[484712];ib(b,d);Vq(1);if((c[555241]|0)<32|(c[555242]|0)<32){c[555241]=580;c[555242]=540}if(!((a[3115688]|0)!=0?(d=Dr(3115688,97321,j,-1)|0,Fr(j)|0,!(d|0)):0))ds(40671,3115688);if(!((a[3117736]|0)!=0?(d=Dr(3117736,97321,j,-1)|0,Fr(j)|0,!(d|0)):0))ds(40678,3117736);Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;c[781999]=vs()|0;es(40685,k);es(40695,k);if(c[742801]|0){c[i>>2]=1937144;vv(40704,i)|0}i=Oo(k)|0;c[742802]=i;if(!i){c[h>>2]=k;vv(40717,h)|0;ya(0)}h=c[c[i>>2]>>2]|0;c[h+20>>2]=0;c[742803]=xs(h,0)|0;h=c[(c[c[742802]>>2]|0)+4>>2]|0;c[h+20>>2]=0;c[742804]=Lo(3196396,h)|0;h=c[(c[c[742802]>>2]|0)+8>>2]|0;c[h+20>>2]=0;i=Lo(3196396,h)|0;c[742805]=i;if(c[484696]|0){h=(c[(c[i>>2]|0)+152>>2]|0)+16|0;i=c[c[h>>2]>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[c[h>>2]>>2]|0)+2>>0]=d;d=c[(c[h>>2]|0)+4>>2]|0;i=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[h>>2]|0)+4>>2]|0)+2>>0]=i;i=c[(c[h>>2]|0)+8>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[(c[h>>2]|0)+8>>2]|0)+2>>0]=d;d=c[(c[h>>2]|0)+12>>2]|0;i=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[h>>2]|0)+12>>2]|0)+2>>0]=i;i=c[(c[h>>2]|0)+16>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[(c[h>>2]|0)+16>>2]|0)+2>>0]=d}zn(93616);zn(c[(c[(c[c[742804]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[535871]|0)){d=c[535873]|0;h=c[535874]|0;if((d|0)>1|(h|0)>1){i=(d|0)<8?d:8;d=(h|0)<8?h:8;tr((i|0)<1?128:i<<7,(d|0)<1?128:d<<7,8,256)|0;break}else{tr(128,128,8,256)|0;c[555257]=-1;break}}else tr(144,136,8,256)|0;while(0);ur(c[(c[c[742804]>>2]|0)+4>>2]|0);c[742782]=Sn(128,128,8)|0;c[742787]=Sn(128,128,8)|0;c[742788]=Sn(128,128,8)|0;c[742789]=Sn(128,128,8)|0;c[742790]=Sn(128,128,8)|0;c[742782]=c[742787];c[742783]=Sn(128,128,8)|0;c[742784]=Sn(128,128,8)|0;c[742785]=Sn(128,128,8)|0;c[742786]=Sn(128,128,8)|0;c[742795]=Sn(128,128,8)|0;c[535604]=Sn(128,128,8)|0;c[766827]=Gl(128,128)|0;c[766828]=Gl(128,128)|0;d=0;do{c[3067316+(d<<2)>>2]=Gl(8,32)|0;d=d+1|0}while((d|0)!=64);c[742806]=Sn(1,1,8)|0;c[742807]=Sn(8,8,8)|0;Wv(105920,0,260)|0;c[26544]=vs()|0;jb();d=Bs(0,65538)|0;c[778903]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778904]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778905]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778906]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778907]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778908]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778909]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778910]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778911]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778912]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778913]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778914]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778915]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778916]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778917]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778918]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;c[778919]=c[778903];ku(3118768,rc(40174)|0)|0;d=0;do{if(!(Gr(3118768)|0))break;d=d+1|0;c[g>>2]=d;wt(j,40187,g)|0;ku(3118768,rc(j)|0)|0}while(d>>>0<1e3);Kb(c[26544]|0,3119792);Tq(22050,1)|0;c[555267]=1;ka(7)|0;do if(!((c[742801]|0)==0&(a[2142448]|0)==0)){_o(1937144,k);d=(bc(k)|0)==0;c[484542]=d&1;if(!d){c[f>>2]=1937144;vv(40735,f)|0;ya(1)}if(!(a[2142448]|0)){c[780894]=0;c[780900]=1;break}else{c[742801]=1;Rs(l,3115688)|0;Rs(3115688,40754)|0;Rs(3116712,3196396)|0;bm(2142448);Rs(3115688,l)|0;ya(0)}}while(0);c[484713]=0;if(ka(8)|0)c[484713]=1;if(ka(9)|0)c[484713]=3;c[555803]=c[484612];if(!((a[2147644]|a[2145596])<<24>>24)){Ia=e;return}uc(2145596,2147644);c[537423]=1;Ia=e;return}function mb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function nb(){if(c[535872]|0)return;c[535872]=(Xr()|0)+150;return}function ob(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+128|0;f=e;g=(c[780901]|0)!=0;h=c[781999]|0;i=c[(g&(a[3152405]|0)==0?h+4|0:2971148+((g?b:0)<<2)|0)>>2]|0;b=c[742795]|0;c[781037]=1;c[f>>2]=$k(2971096,h,24416)|0;c[f+4>>2]=$k(2971096,c[781999]|0,24417)|0;c[f+8>>2]=$k(2971096,c[781999]|0,24418)|0;c[f+12>>2]=$k(2971096,c[781999]|0,24419)|0;c[f+16>>2]=$k(2971096,c[781999]|0,24420)|0;c[f+20>>2]=$k(2971096,c[781999]|0,24421)|0;c[f+24>>2]=$k(2971096,c[781999]|0,24422)|0;c[f+28>>2]=$k(2971096,c[781999]|0,24423)|0;c[f+32>>2]=$k(2971096,c[781999]|0,24424)|0;c[f+36>>2]=$k(2971096,c[781999]|0,24425)|0;c[f+40>>2]=$k(2971096,c[781999]|0,24426)|0;c[f+44>>2]=$k(2971096,c[781999]|0,24427)|0;c[f+48>>2]=$k(2971096,c[781999]|0,24428)|0;c[f+52>>2]=$k(2971096,c[781999]|0,24429)|0;c[f+56>>2]=$k(2971096,c[781999]|0,24430)|0;c[f+60>>2]=$k(2971096,c[781999]|0,24431)|0;c[f+64>>2]=$k(2971096,c[781999]|0,24432)|0;c[f+68>>2]=$k(2971096,c[781999]|0,24433)|0;c[f+72>>2]=$k(2971096,c[781999]|0,24434)|0;c[f+76>>2]=$k(2971096,c[781999]|0,24435)|0;c[f+80>>2]=$k(2971096,c[781999]|0,24436)|0;c[f+84>>2]=$k(2971096,c[781999]|0,24437)|0;c[f+88>>2]=$k(2971096,c[781999]|0,24438)|0;c[f+92>>2]=$k(2971096,c[781999]|0,24439)|0;c[f+96>>2]=$k(2971096,c[781999]|0,24440)|0;c[f+100>>2]=$k(2971096,c[781999]|0,24441)|0;c[f+104>>2]=$k(2971096,c[781999]|0,24442)|0;c[f+108>>2]=$k(2971096,c[781999]|0,24443)|0;c[f+112>>2]=$k(2971096,c[781999]|0,24444)|0;c[f+116>>2]=$k(2971096,c[781999]|0,24445)|0;c[f+120>>2]=$k(2971096,c[781999]|0,24446)|0;c[f+124>>2]=$k(2971096,c[781999]|0,24447)|0;h=$k(2971096,c[781999]|0,24415)|0;a:do if((h|0)==16){g=i+12|0;j=b+12|0;k=0;do{l=(($k(2971096,c[781999]|0,(k>>>3)+24432|0)|0)&1<<(k&7)|0)==0;m=l?3123944:f;l=k<<7;n=l+128|0;o=l;do{a[(c[j>>2]|0)+o>>0]=c[m+((a[(c[g>>2]|0)+o>>0]&15)<<2)>>2]&143;o=o+1|0}while(o>>>0<n>>>0);k=k+1|0}while((k|0)!=128);if(!(c[535872]|0))c[535872]=(Xr()|0)+150}else{if((h|0)==32&(c[781033]|0)==1&(c[780894]|0)==1){k=i+12|0;g=b+12|0;j=64;n=0;while(1){o=n<<7;if(o>>>0<(o|64)>>>0){m=o;do{o=c[k>>2]|0;a[(c[g>>2]|0)+m>>0]=c[((a[o+(m+64)>>0]|0)==0?3123944:f)+((a[o+m>>0]&15)<<2)>>2]&143;m=m+1|0}while((m|0)!=(j|0))}n=n+1|0;if((n|0)==128)break;else j=j+128|0}if(c[535872]|0)break;c[535872]=(Xr()|0)+150;break}j=i+12|0;if((h&-16|0)!=48){n=b+12|0;g=0;while(1){a[(c[n>>2]|0)+g>>0]=c[3123944+((a[(c[j>>2]|0)+g>>0]&15)<<2)>>2]&143;g=g+1|0;if((g|0)==16384)break a}}g=h+-48|0;n=b+12|0;k=0;do{m=k>>>3;o=(($k(2971096,c[781999]|0,m+24432|0)|0)&1<<(k&7)|0)==0;l=k<<7;p=l+128|0;q=f+((o?m:m+1&15)<<2)|0;m=l;do{l=d[(c[j>>2]|0)+m>>0]|0;a[(c[n>>2]|0)+m>>0]=c[((g|0)==(l|0)?q:3123944+((l&15)<<2)|0)>>2]&143;m=m+1|0}while(m>>>0<p>>>0);k=k+1|0}while((k|0)!=128);if(!(c[535872]|0))c[535872]=(Xr()|0)+150}while(0);if(!((c[780894]|0)==1&(c[780901]|0)!=0)){Ia=e;return}mb(b,c[781033]|0);Ia=e;return}function pb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[485555]|0){case 2:{jm(a);return}case 3:{mm(a);return}default:{b=(c[26757]|0)==7?22:0;d=((c[485556]<<3)+8|0)/2|0;e=b+d|0;Hk(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;Wn(a,24,f,103,e+63|0,7);e=f+6|0;if((c[26757]|0)==7){Hk(a,10,25,118,55,1);Wn(a,11,26,117,54,7);Bo(a,40935,c[742805]|0,22,34,1,7)|0;Bo(a,40957,c[742805]|0,20,42,1,7)|0;if((up((Xr()|0)*50|0)|0)<-1999)g=0;else g=(up((Xr()|0)*50|0)|0)/2e3|0;Rn(c[(c[c[742804]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((up(((Xr()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(up(((Xr()|0)*50|0)+32768|0)|0)/2e3|0;Rn(c[(c[c[742804]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[485556]|0)<=0)return;h=0;g=e;while(1){Bo(a,106960+(h*72|0)|0,c[742805]|0,(h|0)==(c[485557]|0)?35:34,g,1,7)|0;if((h|0)==(c[485557]|0))Rn(c[(c[c[742804]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[106960+(h*72|0)+68>>2]|0)==2){e=(ym(3120504,3121528)|0)==0;f=c[(c[c[742804]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){co(f,a,0,0,74,b,7,7,13,0);break}else{Rn(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[485556]|0))break;else g=g+8|0}return}}}function qb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=c[554334]|0;if(!e){f=Sn(128,128,8)|0;c[554334]=f;g=f}else g=e;e=b+4|0;Gp(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);Nn(b);Gp(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[742804]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=(g|0)==0;k=g<<7|16;l=0;do{m=c[f>>2]|0;n=l<<2;o=c[m+(n<<2)>>2]|0;if(j){p=0;q=0;r=0;s=0;t=0;do{u=d[o+q>>0]|0;v=d[i+(u*3|0)>>0]|0;w=d[i+(u*3|0)+1>>0]|0;x=d[i+(u*3|0)+2>>0]|0;u=80-q+v+w+x|0;t=u+t|0;s=(B(u,v)|0)+s|0;r=(B(u,w)|0)+r|0;p=(B(u,x)|0)+p|0;q=q+1|0}while((q|0)!=64);q=c[m+((n|1)<<2)>>2]|0;x=p;u=0;w=r;v=s;y=t;do{z=d[q+u>>0]|0;A=d[i+(z*3|0)>>0]|0;C=d[i+(z*3|0)+1>>0]|0;D=d[i+(z*3|0)+2>>0]|0;z=80-u+A+C+D|0;y=z+y|0;v=(B(z,A)|0)+v|0;w=(B(z,C)|0)+w|0;x=(B(z,D)|0)+x|0;u=u+1|0}while((u|0)!=64);u=c[m+((n|2)<<2)>>2]|0;q=x;t=0;s=w;r=v;p=y;do{D=d[u+t>>0]|0;z=d[i+(D*3|0)>>0]|0;C=d[i+(D*3|0)+1>>0]|0;A=d[i+(D*3|0)+2>>0]|0;D=80-t+z+C+A|0;p=D+p|0;r=(B(D,z)|0)+r|0;s=(B(D,C)|0)+s|0;q=(B(D,A)|0)+q|0;t=t+1|0}while((t|0)!=64);t=c[m+((n|3)<<2)>>2]|0;u=q;y=0;v=s;w=r;x=p;while(1){A=d[t+y>>0]|0;D=d[i+(A*3|0)>>0]|0;C=d[i+(A*3|0)+1>>0]|0;z=d[i+(A*3|0)+2>>0]|0;A=80-y+D+C+z|0;E=A+x|0;F=(B(A,D)|0)+w|0;D=(B(A,C)|0)+v|0;C=(B(A,z)|0)+u|0;y=y+1|0;if((y|0)==64){G=C;H=D;I=F;J=E;break}else{u=C;v=D;w=F;x=E}}}else{x=0;w=0;v=0;u=0;y=0;do{t=d[o+(127-w)>>0]|0;p=d[i+(t*3|0)>>0]|0;r=d[i+(t*3|0)+1>>0]|0;s=d[i+(t*3|0)+2>>0]|0;t=80-w+p+r+s|0;y=t+y|0;u=(B(t,p)|0)+u|0;v=(B(t,r)|0)+v|0;x=(B(t,s)|0)+x|0;w=w+1|0}while((w|0)!=64);w=c[m+((n|1)<<2)>>2]|0;o=x;s=0;t=v;r=u;p=y;do{q=d[w+(127-s)>>0]|0;E=d[i+(q*3|0)>>0]|0;F=d[i+(q*3|0)+1>>0]|0;D=d[i+(q*3|0)+2>>0]|0;q=80-s+E+F+D|0;p=q+p|0;r=(B(q,E)|0)+r|0;t=(B(q,F)|0)+t|0;o=(B(q,D)|0)+o|0;s=s+1|0}while((s|0)!=64);s=c[m+((n|2)<<2)>>2]|0;w=o;y=0;u=t;v=r;x=p;do{D=d[s+(127-y)>>0]|0;q=d[i+(D*3|0)>>0]|0;F=d[i+(D*3|0)+1>>0]|0;E=d[i+(D*3|0)+2>>0]|0;D=80-y+q+F+E|0;x=D+x|0;v=(B(D,q)|0)+v|0;u=(B(D,F)|0)+u|0;w=(B(D,E)|0)+w|0;y=y+1|0}while((y|0)!=64);y=c[m+((n|3)<<2)>>2]|0;s=w;p=0;r=u;t=v;o=x;while(1){E=d[y+(127-p)>>0]|0;D=d[i+(E*3|0)>>0]|0;F=d[i+(E*3|0)+1>>0]|0;q=d[i+(E*3|0)+2>>0]|0;E=80-p+D+F+q|0;C=E+o|0;z=(B(E,D)|0)+t|0;D=(B(E,F)|0)+r|0;F=(B(E,q)|0)+s|0;p=p+1|0;if((p|0)==64){G=F;H=D;I=z;J=C;break}else{s=F;r=D;t=z;o=C}}}o=l+k|0;a[i+(o*3|0)>>0]=(I|0)/(J|0)|0;a[i+(o*3|0)+1>>0]=(H|0)/(J|0)|0;a[i+(o*3|0)+2>>0]=(G|0)/(J|0)|0;l=l+1|0}while((l|0)!=32);g=g+1|0}while((g|0)!=2);g=0;do{J=g<<7&128|16;G=0;do{H=G+J|0;I=G+-1|0;f=((I|0)>0?I:0)+J|0;G=G+1|0;I=(G>>>0<31?G:31)+J|0;l=i+(H*3|0)|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)>>0]|0)+(d[i+(I*3|0)>>0]|0)|0)>>>3;l=i+(H*3|0)+1|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)+1>>0]|0)+(d[i+(I*3|0)+1>>0]|0)|0)>>>3;l=i+(H*3|0)+2|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)+2>>0]|0)+(d[i+(I*3|0)+2>>0]|0)|0)>>>3}while((G|0)!=32);g=g+1|0}while((g|0)!=128);g=h+4|0;G=0;do{J=G+16|0;I=(ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>16;f=(ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>8;l=ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0;H=i+(J*3|0)|0;a[H>>0]=I+(((d[H>>0]|0)/5|0)&255);H=i+(J*3|0)+1|0;a[H>>0]=f+(((d[H>>0]|0)/5|0)&255);H=i+(J*3|0)+2|0;a[H>>0]=l+(((d[H>>0]|0)/5|0)&255);G=G+1|0}while((G|0)!=32);G=0;do{H=G+144|0;l=(ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>16;J=(ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>8;f=ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0;I=i+(H*3|0)|0;a[I>>0]=l+(((d[I>>0]|0)/5|0)&255);I=i+(H*3|0)+1|0;a[I>>0]=J+(((d[I>>0]|0)/5|0)&255);I=i+(H*3|0)+2|0;a[I>>0]=f+(((d[I>>0]|0)/5|0)&255);G=G+1|0}while((G|0)!=32);ur(i);i=c[e>>2]|0;if((i|0)<=0){Un(b,0,0,172);K=c[b>>2]|0;L=K+-1|0;Un(b,L,0,172);M=c[e>>2]|0;N=M+-1|0;Un(b,0,N,172);O=c[b>>2]|0;P=O+-1|0;Q=c[e>>2]|0;R=Q+-1|0;Un(b,P,R,172);return}G=i;i=0;do{g=(i<<5|0)/(G|0)|0;bo(b,0,i,2,i,g+16|0);h=c[b>>2]|0;bo(b,h+-3|0,i,h+-1|0,i,g+144|0);i=i+1|0;G=c[e>>2]|0}while((i|0)<(G|0));Un(b,0,0,172);K=c[b>>2]|0;L=K+-1|0;Un(b,L,0,172);M=c[e>>2]|0;N=M+-1|0;Un(b,0,N,172);O=c[b>>2]|0;P=O+-1|0;Q=c[e>>2]|0;R=Q+-1|0;Un(b,P,R,172);return}function rb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((Xr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f>>0]|0;i=h&255;j=B(g+1001|0,b)|0;if(!(g&2)){k=0;while(1){l=c[(c[e>>2]|0)+(g<<2)>>2]|0;if((k|0)==127){m=128;n=i}else{o=k+1|0;m=o;n=d[l+o>>0]|0}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((n&15|0)==0?1:n^128):n;if((m|0)==128)break;else k=m}}else{k=0;do{j=c[(c[e>>2]|0)+(g<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+k>>0]=h}g=g+2|0;if(g>>>0>=128)break;else f=128}return}function sb(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=Ia;Ia=Ia+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[554335]|0;if((i|0)==5){Xr()|0;j=c[554335]|0}else j=i;c[554335]=j+1;j=c[742787]|0;a[2142156]=0;c[535605]=Xr()|0;if(c[780900]|0){Ia=b;return}Nn(c[742765]|0);i=c[798799]|0;if((i|0)!=0&(c[780894]|0)==0){if((i|0)==1){jm(j);k=c[798799]|0}else k=i}else if(c[780895]|0){Pn(j,0,0,128,128,5);if((c[780895]|0)==1){i=c[484705]|0;if(i>>>0<2){Pn(j,0,0,128,128,1);l=c[484705]|0}else l=i;if((l|0)==2){Pn(j,0,0,128,128,0);m=c[484705]|0}else m=l;if((m|0)==3)Pn(j,0,0,128,128,5)}Pn(j,0,0,128,7,8);Pn(j,0,121,128,127,8);wo(7,0);cs(f,g,h);if(!(c[h>>2]|0))c[798589]=-1;if(((((c[798591]|0)==89?(m=xo(yo()|0)|0,m|0):0)?(c[m+12>>2]|0)<20:0)?(c[m+16>>2]|0)<20:0)?c[m+20>>2]&1|0:0)c[798591]=(c[h>>2]|0)==0?93:94;m=c[f>>2]|0;if(((c[780895]|0)==1?(c[h>>2]|c[781042]|0)==0:0)&(m|0)==(c[554336]|0)?(h=c[g>>2]|0,(h|0)==(c[554337]|0)):0)n=h;else{c[536398]=0;n=c[g>>2]|0}c[554336]=m;c[554337]=n;n=Xr()|0;m=c[798591]|0;if((n|0)>=(c[536398]|0)&(m|0)!=0?(n=c[(c[c[742804]>>2]|0)+(m<<2)>>2]|0,m=c[n>>2]|0,h=c[n+4>>2]|0,Rn(n,j,0,0,(c[f>>2]|0)-((m|0)/2|0)|0,(c[g>>2]|0)-((h|0)/2|0)|0,m,h),(c[798589]|0)!=-1):0){h=c[f>>2]|0;m=c[g>>2]|0;Pn(j,h+6|0,m+4|0,h+14|0,m+10|0,7);c[e>>2]=c[798589];wt(1719968,40980,e)|0;Bo(j,1719968,c[742805]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}if(!((c[484717]|0)!=0&(c[780901]|0)==0&(c[780894]|0)==1)){if(!(c[485558]|c[780903]|c[742797]))ob(0)}else Gp(j,c[742795]|0,0,0,0,0,128,128);j=c[742765]|0;Gp(c[742795]|0,j,0,0,0,0,128,128);if(c[485558]|c[485555]|0)pb(j);a:do if((c[780903]|0)>0|(c[780904]|0)>140?(c[780894]|0)==1&(c[780901]|0)!=0:0){do if(!((c[484717]|0)>0|(c[537596]|0)!=0)){if(c[535537]|0?(au(2141888,93388)|0)==0:0)break;g=c[798801]|0;f=(g|0)/2|0;if((g|0)>-2)o=f;else o=12-((0-f|0)%12|0)|0;Rn(c[(c[c[742804]>>2]|0)+(((o|0)%12|0)+212<<2)>>2]|0,j,0,0,3,3,12,12);break a}while(0);f=c[798801]|0;g=(f|0)/2|0;if((f|0)>-2)p=g;else p=16-((0-g|0)%16|0)|0;Rn(c[(c[c[742804]>>2]|0)+(((p|0)%16|0)+229<<2)>>2]|0,j,0,0,3,3,12,12)}while(0);Gp(c[742765]|0,c[535604]|0,0,0,0,0,128,128);j=Xr()|0;do if((j|0)<(c[535537]|0)){p=Xr()|0;o=c[535536]|0;g=p-o|0;f=(c[535537]|0)-p|0;p=(o|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(au(2141888,61592)|0)){Wn(c[742765]|0,0,p+119|0,101,p+127|0,0);Pn(c[742765]|0,1,p+120|0,100,p+126|0,6);Bo(c[742765]|0,2141888,c[742805]|0,16,p+121|0,1,1)|0;Rn(c[(c[c[742804]>>2]|0)+904>>2]|0,c[742765]|0,0,0,2,(p<<1)+112|0,15,15);break}g=(au(2141888,61568)|0)==0;f=c[742765]|0;if(g){Wn(f,0,p+119|0,101,p+127|0,0);Pn(c[742765]|0,1,p+120|0,127,p+126|0,6);Bo(c[742765]|0,2141888,c[742805]|0,16,p+121|0,1,1)|0;Rn(c[(c[c[742804]>>2]|0)+908>>2]|0,c[742765]|0,0,0,109,(p<<1)+112|0,17,15);break}else{Pn(f,0,p+121|0,128,p+127|0,8);Bo(c[742765]|0,2141888,c[742805]|0,1,p+122|0,1,c[535538]|0)|0;break}}else if(a[2142156]|0){Pn(c[742765]|0,0,121,128,127,8);Bo(c[742765]|0,2142156,c[742805]|0,1,122,1,2)|0}while(0);j=Xr()|0;c[535605]=j-(c[535605]|0);j=Xr()|0;if((j|0)<(c[535872]|0)?(j=Xr()|0,(j|0)>((c[535872]|0)+-150|0)):0){j=c[742765]|0;p=j+16|0;j=(((Xr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){o=c[(c[p>>2]|0)+(g<<2)>>2]|0;e=a[o+f>>0]|0;m=e&255;h=B(g+1001|0,j)|0;b:do if(!(g&2)){n=o;l=0;while(1){i=l+1|0;if((l|0)==127){q=128;r=m}else{q=i;r=d[n+i>>0]|0}i=(l&6|0)==0?((B(h,l+1103|0)|0)%19|0|0)!=0:0;a[n+l>>0]=i?((r&15|0)==0?1:r^128):r;if((q|0)==128)break b;n=c[(c[p>>2]|0)+(g<<2)>>2]|0;l=q}}else{l=o;n=0;do{i=n;n=n+1|0;a[l+i>>0]=a[l+n>>0]|0;l=c[(c[p>>2]|0)+(g<<2)>>2]|0}while((n|0)!=127);a[l+127>>0]=e}while(0);g=g+2|0;if(g>>>0>=128)break;else f=128}}if(!(c[535871]|0))s=1;else{qb(c[742765]|0);s=(c[535871]|0)==0}f=(c[780901]|0)!=0;if(s&(f&(((a[3120504]|0)!=0&f|(c[484611]|0)!=0)^1))?(a[3152374]&1)!=0:0){f=c[742765]|0;s=c[f>>2]|0;g=(s|0)/128|0;if((s|0)>127?(c[f+4>>2]|0)>127:0){f=0;do{s=B(f,g)|0;p=f<<7;q=0;do{r=q+s|0;if((r+-1|0)>>>0<3){ob(r);Gp(c[742795]|0,c[742765]|0,0,0,q<<7,p,128,128)}q=q+1|0}while((q|0)!=(g|0));f=f+1|0}while((f|0)<((c[(c[742765]|0)+4>>2]|0)/128|0|0))}}else t=80;if((t|0)==80?(Nk(0),(Ok()|0)>1):0){t=1;do{Nn(c[2971148+(t<<2)>>2]|0);t=t+1|0}while((t|0)<(Ok()|0))}if(c[536388]|0)Xg(c[742765]|0);if(!(c[485555]|0))Vg(c[742765]|0);t=c[484620]|0;if((t|0)<=127){Ia=b;return}mb(c[742765]|0,t);Ia=b;return}function tb(a){a=a|0;return (a|0)>15&(a|0)!=27&1|0}function ub(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Ia;Ia=Ia+2064|0;e=d+2048|0;f=d+1024|0;g=d;if(!(c[798798]|0)){Ia=d;return}if(!b)ku(f,3194372)|0;else ku(f,rc(b)|0)|0;if(a[f>>0]|0?(h=f+((bu(f)|0)+-1)|0,(a[h>>0]|0)==42):0)a[h>>0]=0;a:do switch(c[798797]|0){case 0:{qc(b,g)|0;if(!(a[g>>0]|0)){h=1719968;i=40985;j=h+13|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}else{c[e>>2]=g;wt(1719968,40998,e)|0}Jg(1719968,12);if(!(Hr(f)|0)){Lg(41012);k=0;l=17;break a}else{i=Dr(f,97321,3194372,16384)|0;c[798797]=1;m=i;l=18;break a}break}case 2:{i=Dr(f,97321,3194372,-16385)|0;c[798797]=3;n=i;l=23;break}default:{k=Er(3194372)|0;l=17}}while(0);if((l|0)==17)switch(c[798797]|0){case 1:{m=k;l=18;break}case 3:{n=k;l=23;break}default:{}}do if((l|0)==18){if(m|0){c[798797]=2;break}if(au(3194628,104886)|0?au(3194628,96845)|0:0){Jg(3194628,14);c[798798]=(c[798798]|0)+-1}}else if((l|0)==23){if(n|0){Fr(3194372)|0;c[798797]=0;break}if(bv(3194628,93459)|0){Lg(3194628);c[798798]=(c[798798]|0)+-1;break}if((c[798721]&16384|0)==0&(a[2140800]|0)==42){Jg(3194628,5);c[798798]=(c[798798]|0)+-1}}while(0);if(!((c[798798]|0)==0&(c[798797]|0)!=0)){Ia=d;return}Jg(41022,12);Ia=d;return}function vb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;c[485556]=0;e=c[485555]|0;if((e|0)<2){c[485556]=1;f=106960;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(106960,41031,16)|0;c[26757]=0;if(a[3127662]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127662,16)|0;c[106960+(h*72|0)+68>>2]=257}if(a[3127726]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127726,16)|0;c[106960+(h*72|0)+68>>2]=258}if(a[3127790]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127790,16)|0;c[106960+(h*72|0)+68>>2]=259}if(a[3127854]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127854,16)|0;c[106960+(h*72|0)+68>>2]=260}if(a[3127918]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127918,16)|0;c[106960+(h*72|0)+68>>2]=261}h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,93039,16)|0;c[106960+(h*72|0)+68>>2]=8;h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,41040,16)|0;c[106960+(h*72|0)+68>>2]=1;if(Eg()|0){h=Eg()|0;i=c[485556]|0;c[485556]=i+1;j=106960+(i*72|0)|0;f=j;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(j,h,16)|0;c[106960+(i*72|0)+68>>2]=5}if(c[484543]|0){i=c[485556]|0;c[485556]=i+1;h=106960+(i*72|0)|0;f=h;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(h,91017,16)|0;c[106960+(i*72|0)+68>>2]=6}k=c[485555]|0}else k=e;if((k|0)!=4){Ia=b;return}wt(1719968,(c[555247]|0)==0?41060:41051,d)|0;d=c[485556]|0;c[485556]=d+1;k=106960+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(k,1719968,16)|0;c[106960+(d*72|0)+68>>2]=9;f=1719968;d=41070;g=f+17|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(g|0));d=c[535610]|0;k=(c[555247]|0)>0?16:18;a[1719976]=(d|0)>31?k:45;a[1719977]=(d|0)>63?k:45;a[1719978]=(d|0)>95?k:45;a[1719979]=(d|0)>127?k:45;a[1719980]=(d|0)>159?k:45;a[1719981]=(d|0)>191?k:45;a[1719982]=(d|0)>223?k:45;a[1719983]=(d|0)>255?k:45;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,1719968,16)|0;c[106960+(k*72|0)+68>>2]=19;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,60622,16)|0;c[106960+(k*72|0)+68>>2]=13;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,93193,16)|0;c[106960+(k*72|0)+68>>2]=11;Ia=b;return}function wb(){var b=0,d=0,e=0,f=0,g=0;b=c[781053]|0;if(c[485559]|0){c[485559]=0;c[485555]=1;c[485556]=1;d=106960;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));kv(106960,41087,16)|0;c[26757]=7;f=c[485556]|0;c[485556]=f+1;g=106960+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));kv(g,41099,16)|0;c[106960+(f*72|0)+68>>2]=0;c[485557]=0;a[1724745]=1;nl()}if((b|0)==0|(c[780901]|0)==0|(c[485555]|0)!=0)return;if(($k(2971096,c[781999]|0,24368)|0)==1)_k(2971096,c[781999]|0,24368,0);else{c[485555]=1;vb();c[485557]=0}a[1724745]=1;nl();return}function xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(qo(-5)|0)!=0;d=b&(c[554340]|0)==0&1;c[554340]=qo(-5)|0;if(!(no()|0))e=d;else{b=d;while(1){d=oo()|0;a:do if(!(qo(-5)|0)){f=c[798930]|0;if((c[485555]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3195464+f>>0]=h;c[798930]=(c[798930]|0)+1;i=b}else i=b}else{do if((d|0)==112){c[536388]=((c[536388]|0)+1|0)%2|0;nl()}else{if((d|0)==114&(c[742800]|0)==0){h=Xr()|0;if((h|0)<=((c[535608]|0)+500|0))break;c[742800]=1;c[485555]=0;c[535608]=Xr()|0;if(no()|0)do oo()|0;while((no()|0)!=0);nl()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=rs()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){zq(c[485560]|0);f=xq((bu(h)|0)<<2)|0;c[485560]=f;Ls(h,f)|0;zq(h)}else zq(h);nl()}while(0);a[3195464+(c[798930]|0)>>0]=d+95;c[798930]=(c[798930]|0)+1;i=0}while(0);if(!(no()|0)){e=i;break}else b=i}}if(!e)return;a[3195464+(c[798930]|0)>>0]=-38;c[798930]=(c[798930]|0)+1;return}function yb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(ql(2,0)|0)c[485557]=(c[485557]|0)+-1;b=(ql(3,0)|0)==0;d=c[485557]|0;if(b)e=d;else{b=d+1|0;c[485557]=b;e=b}b=c[485556]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[485557]=(f|0)%(b|0)|0;b=ql(0,0)|0;f=ql(1,0)|0;e=(b|0)!=0;d=(f|0)==0;do if(f|b|0){g=c[106960+((c[485557]|0)*72|0)+68>>2]|0;if((g|0)>255){h=(g|0)<261?g+-256|0:5;i=(h|0)>0?h:0;h=(e?1:2)&((a[3127988+i>>0]^3)&255);if(!h)break;a[3127982+i>>0]=h;c[485558]=1;if(c[485555]|0)c[798930]=0;c[485555]=0;h=3124188;c[h>>2]=0;c[h+4>>2]=0;c[781175]=1;c[781176]=1;break}if((g|0)==19){if(e)c[535610]=(c[535610]|0)+-32;g=c[535610]|0;if(d)j=g;else{h=g+32|0;c[535610]=h;j=h}h=(j|0)<256?j:256;g=(h|0)>8?h:8;c[535610]=g;c[555247]=g;g=3124188;c[g>>2]=0;c[g+4>>2]=0;c[781175]=1;c[781176]=1;vb()}}while(0);if(!(((ql(4,0)|0)==0?(ql(5,0)|0)==0:0)?!(ql(6,0)|0):0))k=22;a:do if((k|0)==22){c[781051]=0;c[781052]=0;c[781053]=0;c[781179]=1;c[781180]=1;c[781181]=1;j=c[106960+((c[485557]|0)*72|0)+68>>2]|0;if((j|0)>255?(d=(j|0)<261?j+-256|0:5,e=a[3127988+d>>0]&112^112,e<<24>>24):0){a[3127982+d>>0]=e;c[485558]=1;if(c[485555]|0)c[798930]=0;c[485555]=0}do switch(j|0){case 0:{if(c[485555]|0)c[798930]=0;c[485555]=0;break a;break}case 1:{if(c[485555]|0)c[798930]=0;c[485555]=0;c[742800]=1;break a;break}case 13:{c[485555]=3;break a;break}case 3:{if(c[485555]|0)c[798930]=0;c[485555]=0;c[780900]=2;c[485554]=2;break a;break}case 4:{if(c[485555]|0)c[798930]=0;c[485555]=0;ah();c[798799]=0;c[780894]=0;c[781022]=6;break a;break}case 5:{Ig();break a;break}case 6:{c[554811]=1;break a;break}case 8:{c[485555]=4;vb();c[485557]=0;break a;break}case 9:{if(!(c[555247]|0)){e=c[535610]|0;l=(e|0)==0?256:e}else l=0;c[555247]=l;vb();break a;break}case 10:{yr();vb();break a;break}case 11:{c[485555]=1;vb();c[485557]=0;break a;break}case 12:{gm();c[485555]=2;nl();break a;break}default:break a}while(0)}while(0);if(c[485555]|c[554962]|0)return;nl();return}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[798799]|0){if(!(no()|0))return;do{a=oo()|0;b=c[798799]|0;if((b|0)==2)d=c[798799]|0;else d=b;if((d|0)==1){im(a);e=c[798799]|0}else e=d;if((e|0)==2){Wm(a);f=c[798799]|0}else f=e;if((f|0)==0?no()|0:0)do oo()|0;while((no()|0)!=0)}while((no()|0)!=0);return}if(!(c[798797]|0)){if(!(c[798800]|0))return;if(!(no()|0))return;f=oo()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;_g(108112+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[798800]=0;Lg(93543);return}else{if(c[798798]|0)return;if(!(no()|0))return;do{f=oo()|0;if((f|0)!=0?(g=c[781024]|0,d=g+-6|0,c[781024]=d,Pn(c[742782]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[798797]=0;Fr(3194372)|0;h=0}else h=17;c[798798]=h}while((no()|0)!=0);return}}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+272|0;g=f+256|0;h=f;c[g>>2]=d;c[g+4>>2]=e;wt(h,a,g)|0;Rs(2141888,h)|0;c[535536]=Xr()|0;c[535537]=b+400+(Xr()|0);c[535538]=15;Ia=f;return}function Bb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+1312|0;d=b+1304|0;e=b+1296|0;f=b+1040|0;g=b;ws(c[781999]|0);ws(c[26544]|0);Ds(c[778903]|0);Ds(c[778904]|0);Ds(c[778905]|0);Ds(c[778906]|0);Ds(c[778907]|0);Ds(c[778908]|0);Ds(c[778909]|0);Ds(c[778910]|0);Ds(c[778911]|0);Ds(c[778912]|0);Ds(c[778913]|0);Ds(c[778914]|0);Ds(c[778915]|0);Ds(c[778916]|0);Ds(c[778917]|0);Ds(c[778918]|0);c[778919]=0;if(!(a[3126573]|0))qv(42397)|0;else{c[e>>2]=3126573;vv(41141,e)|0}Vv(g|0,3126573,1025)|0;wq(3118764,0,75604);Vv(3126573,g|0,1025)|0;Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;Rs(3116712,3196396)|0;c[781999]=vs()|0;c[26544]=vs()|0;g=Bs(0,65538)|0;c[778903]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778904]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778905]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778906]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778907]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778908]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778909]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778910]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778911]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778912]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778913]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778914]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778915]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778916]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778917]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778918]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;c[778919]=c[778903];jb();c[535868]=0;ku(3118768,rc(40174)|0)|0;g=0;while(1){if(!(Gr(3118768)|0)){i=7;break}g=g+1|0;c[d>>2]=g;wt(f,40187,d)|0;ku(3118768,rc(f)|0)|0;if(g>>>0>=1e3){i=7;break}}if((i|0)==7){Kb(c[26544]|0,3119792);Ia=b;return}}function Cb(a){a=a|0;if((c[742800]|0)>0)return 0;else{Qd(c[554360]|0,a)|0;tf(c[554360]|0)|0}return 0}function Db(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[742800]|0;if(!b)return;d=(b|0)<(((c[798454]|0)==60?12:6)|0)?b+1|0:0;c[742800]=d;if((d|0)==2){b=$k(2971096,c[781999]|0,24366)|0;if(!(tp(8)|0))c[781033]=tp(4)|0;e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);if(!(tp(4)|0)){e=c[781999]|0;_k(2971096,e,24414,tp(16)|0|240)}tp(3)|0;tp(10)|0;e=(c[535463]|0)==0?4:c[535464]<<1;f=e*10|0;if((e|0)>0){g=0;do{h=c[781999]|0;i=tp(12288)|0;_k(2971096,h,i,tp(256)|0);g=g+1|0}while((g|0)<(f|0))}f=c[781999]|0;g=(tp(32)|0)+24320|0;_k(2971096,f,g,tp(140)|0);g=c[781999]|0;f=(tp(32)|0)+24320|0;_k(2971096,g,f,tp(140)|0);if(!(tp(4)|0)){f=c[781999]|0;_k(2971096,f,24369,tp(256)|0);f=c[781999]|0;_k(2971096,f,24370,tp(256)|0);f=c[781999]|0;_k(2971096,f,24371,tp(256)|0)}if(!(tp(4)|0)){f=c[781999]|0;_k(2971096,f,24408,tp(256)|0);f=c[781999]|0;_k(2971096,f,24409,tp(256)|0);f=c[781999]|0;_k(2971096,f,24410,tp(256)|0);f=c[781999]|0;_k(2971096,f,24411,tp(256)|0)}f=(e|0)/2|0;g=(e|0)>1;if(g){e=0;do{i=(tp(10240)|0)+1024|0;h=c[781999]|0;j=(tp(2048)|0)+i|0;k=j-(tp(2048)|0)|0;cl(2971096,h,i,k,tp(1024)|0);k=c[781999]|0;i=tp(11264)|0;h=tp(11264)|0;cl(2971096,k,i,h,tp(1024)|0);e=e+1|0}while((e|0)!=(f|0));if(g){g=0;do{e=tp(11776)|0;h=c[781999]|0;i=tp(256)|0;dl(2971096,h,e,i,tp(512)|0);g=g+1|0}while((g|0)!=(f|0))}}_k(2971096,c[781999]|0,24366,b);l=c[742800]|0}else l=d;if(l|0)return;c[780900]=1;if(a[3126573]|0)return;Rs(3126573,3125548)|0;return}function Eb(){var a=0,b=0,d=0,e=0,f=0,g=0;a=c[780900]|0;if(!a)return;c[742800]=0;if((a|0)==1){fh();if((c[780894]|0)==2)c[780894]=0;b=c[780900]|0}else b=a;if((b|0)==2){ah();d=c[780900]|0}else d=b;if((d|0)==3){Bb();e=c[780900]|0}else e=d;if((e|0)==4){ah();Rg();Lg(3196396);Lg(174160);f=c[780900]|0}else f=e;if((f|0)==5){Bb();g=c[780900]|0}else g=f;if((g|0)==6)Rg();c[780900]=0;return}function Fb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Ia;Ia=Ia+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[484717]|0){case 1:{f=2;break}case 0:{Ia=a;return}default:{}}if((f|0)==2){g=Xr()|0;if((g|0)>(((c[555283]|0)*1e3|0)+(c[484718]|0)|0)?(Pm(0),Gg(),(c[780901]|0)==0):0){c[781024]=(c[781024]|0)+-6;Mg(41184,0,0)}if(!(c[484717]|0)){Ia=a;return}}if((qo(41)|0)==0?!((c[780901]|0)!=0&(c[781053]|0)!=0):0){g=c[484717]|0;if((g|0)==2){c[484717]=0;h=(bv(1940168,41227)|0)!=0;i=c[484719]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){Sm(1940168)|0;break}if(h&(i|0)==2){Im(1940168)|0;break}if((i|0)!=3){j=Tb(1940168)|0;if(j|0){Zb(j,1940168);c[484720]=6;if((c[780901]|0)==0|(c[742801]|0)!=0){c[781024]=(c[781024]|0)+-6;Mg(41259,0,0);Jg(2008174,14);k=dh(1940168)|0;l=bu(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;wt(1719968,41276,b)|0;Mg(1719968,0,0);break}else{Hg();c[780900]=1;c[780903]=20;break}}l=c[484618]|0;c[484720]=-10-l;if((l|0)==1){Rs(2141888,41298)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;m=c[484618]|0}else m=l;if((m|0)==2){Rs(2141888,60936)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;n=c[484618]|0}else n=m;if((n|0)==3){Rs(2141888,41323)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;o=c[484618]|0}else o=n;if((o|0)==4){Rs(2141888,44078)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15}}}else{l=Mp(1940168)|0;Rs(e,1940168)|0;k=bv(1940168,41232)|0;if(k|0)Rs(e+(k-1940168)+1|0,k+6|0)|0;do if(l)if((bu(Lp(l,93404,0)|0)|0)>>>0<=1)if(!(au(Lp(l,93425,0)|0,97411)|0)){p=l;break}else{f=19;break}else{ep(1940168,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=Mp(e)|0;if(!l){if(!(c[780901]|0))Mg(41298,0,0);Gg();c[484720]=-3;break}else p=l}l=Lp(p,93404,0)|0;if((bu(l)|0)>>>0<2){k=(au(Lp(p,93425,0)|0,97411)|0)==0;j=(c[780901]|0)!=0;do if(k)if(j)q=-1;else{Mg(41239,0,0);q=-1}else if(j){Rs(2141888,39175)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;q=-2;break}else{Mg(39175,0,0);q=-2;break}while(0);c[484720]=q;Gg();c[780903]=0}else{j=bc(vm(l)|0)|0;_m(p);do if(!j){c[484720]=5;if((c[780901]|0)==0|(c[742801]|0)!=0){c[781024]=(c[781024]|0)+-6;Mg(41259,0,0);Rs(1719968,Lp(p,93408,0)|0)|0;nm(1719968);Jg(1719968,14);k=bu(c[c[26544]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;wt(1719968,41276,d)|0;Mg(1719968,0,0);break}else{Hg();c[780900]=1;c[780903]=20;break}}else{Jm(l);Rs(2008174,Lp(p,93408,0)|0)|0;nm(2008174)}while(0);Kp(p)}c[798801]=0}while(0);r=c[484717]|0}else r=g;if((r|0)!=3){Ia=a;return}c[484717]=0;c[484720]=-3;Gg();if(!(c[780901]|0)){Mg(93388,0,0);Ia=a;return}else{Rs(2141888,93388)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;Ia=a;return}}Pm(0);Gg();if(!(c[780901]|0)){c[781024]=(c[781024]|0)+-6;Mg(41203,0,0)}c[781053]=0;c[781181]=1;Ia=a;return}function Gb(){var a=0,b=0,d=0;a=sr(0,Xr()|0)|0;c[485561]=c[a>>2];c[485562]=c[a+4>>2];c[485563]=c[a+8>>2];c[485564]=c[a+12>>2];c[485565]=c[a+16>>2];c[485566]=c[a+20>>2];if(!(c[485563]|0)){a=sr(4,Xr()|0)|0;c[485561]=c[a>>2];c[485562]=c[a+4>>2];c[485563]=c[a+8>>2];c[485564]=c[a+12>>2];c[485565]=c[a+16>>2];c[485566]=c[a+20>>2]}a=sr(1,Xr()|0)|0;c[485567]=c[a>>2];c[485568]=c[a+4>>2];c[485569]=c[a+8>>2];c[485570]=c[a+12>>2];c[485571]=c[a+16>>2];c[485572]=c[a+20>>2];if(!(c[485569]|0)){a=sr(5,Xr()|0)|0;c[485567]=c[a>>2];c[485568]=c[a+4>>2];c[485569]=c[a+8>>2];c[485570]=c[a+12>>2];c[485571]=c[a+16>>2];c[485572]=c[a+20>>2]}a=sr(2,Xr()|0)|0;c[485573]=c[a>>2];c[485574]=c[a+4>>2];c[485575]=c[a+8>>2];c[485576]=c[a+12>>2];c[485577]=c[a+16>>2];c[485578]=c[a+20>>2];if(!(c[485575]|0)){a=sr(6,Xr()|0)|0;c[485573]=c[a>>2];c[485574]=c[a+4>>2];c[485575]=c[a+8>>2];c[485576]=c[a+12>>2];c[485577]=c[a+16>>2];c[485578]=c[a+20>>2]}a=sr(3,Xr()|0)|0;c[485579]=c[a>>2];c[485580]=c[a+4>>2];c[485581]=c[a+8>>2];c[485582]=c[a+12>>2];c[485583]=c[a+16>>2];c[485584]=c[a+20>>2];if(c[485581]|0){b=Xr()|0;d=sr(-1,b)|0;c[485585]=c[d>>2];c[485586]=c[d+4>>2];c[485587]=c[d+8>>2];c[485588]=c[d+12>>2];c[485589]=c[d+16>>2];c[485590]=c[d+20>>2];return}a=sr(7,Xr()|0)|0;c[485579]=c[a>>2];c[485580]=c[a+4>>2];c[485581]=c[a+8>>2];c[485582]=c[a+12>>2];c[485583]=c[a+16>>2];c[485584]=c[a+20>>2];b=Xr()|0;d=sr(-1,b)|0;c[485585]=c[d>>2];c[485586]=c[d+4>>2];c[485587]=c[d+8>>2];c[485588]=c[d+12>>2];c[485589]=c[d+16>>2];c[485590]=c[d+20>>2];return}function Hb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;b=Ia;Ia=Ia+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;if(c[554811]|0){Nn(c[742782]|0);or();lr(0,0);Ia=b;return}m=c[8719]|0;do if((c[780894]|0)!=2&(m|0)!=-1){if((c[535610]|0)==(m|0)?(c[555247]|0)==(c[8720]|0):0)break;Xo()}while(0);c[8719]=c[535610];c[8720]=c[555247];Zg();do if((c[485555]|0)==0&(c[780894]|0)==1&(c[780901]|0)!=0){if((ml(6,0)|0)==0?(kl(6,0)|0)<=128:0){c[554338]=Xr()|0;c[554339]=0;break}m=c[554339]|0;c[554339]=m+1;if((m|0)>4?(m=Xr()|0,(m|0)>((c[554338]|0)+500|0)):0){c[485555]=1;c[485557]=0;vb();nl();a[1724745]=1}}else c[554338]=Xr()|0;while(0);oc();Zk();m=c[555247]|0;if(m|0)c[535610]=m;c[555248]=256;m=(($k(2971096,c[781999]|0,24365)|0)&5|0)==5;is((c[485555]|0)==0&((c[780894]|0)==1&m)&1);m=c[535463]|0;n=c[780894]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[535463]=o;if((o|0)==12)c[742800]=1;if((c[780900]|0)==1){gc(c[742795]|0,0,0)|0;c[535463]=1;o=(c[535464]|0)+1|0;c[535464]=o;if((o|0)==48)ya(0);else{p=c[780894]|0;break}}else p=1}else p=n;while(0);if(!((c[780895]|0)>>>0>1&((c[484699]|0)!=0&(p|0)==0))){c[554966]=0;c[554965]=0}if(qo(-5)|0?(qo(16)|0)==3:0){if(!(c[555247]|0)){p=c[535610]|0;c[555247]=(p|0)==0?256:p;Rs(2141888,41123)|0}else{c[555247]=0;Rs(2141888,41104)|0}c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[555248]=256;vb()}if(qo(-5)|0?(qo(45)|0)==3:0){p=(c[535610]|0)+-32|0;n=(p|0)<256?p:256;p=(n|0)>0?n:0;c[535610]=p;c[555247]=p;q=1719968;r=41354;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1719979]=(p|0)>31?16:45;a[1719980]=(p|0)>63?16:45;a[1719981]=(p|0)>95?16:45;a[1719982]=(p|0)>127?16:45;a[1719983]=(p|0)>159?16:45;a[1719984]=(p|0)>191?16:45;a[1719985]=(p|0)>223?16:45;a[1719986]=(p|0)>255?16:45;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[535536]=(c[535536]|0)+-1e3;vb();if(no()|0)do oo()|0;while((no()|0)!=0)}if(qo(-5)|0?(qo(46)|0)==3:0){p=(c[535610]|0)+32|0;n=(p|0)<256?p:256;p=(n|0)>0?n:0;c[535610]=p;c[555247]=p;q=1719968;r=41354;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1719979]=(p|0)>31?16:45;a[1719980]=(p|0)>63?16:45;a[1719981]=(p|0)>95?16:45;a[1719982]=(p|0)>127?16:45;a[1719983]=(p|0)>159?16:45;a[1719984]=(p|0)>191?16:45;a[1719985]=(p|0)>223?16:45;a[1719986]=(p|0)>255?16:45;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[535536]=(c[535536]|0)+-1e3;vb();if(no()|0)do oo()|0;while((no()|0)!=0)};c[781307]=-1;c[781308]=-1;c[781309]=-1;c[781310]=-1;c[781311]=-1;c[781312]=-1;c[781313]=-1;c[781314]=-1;p=c[485555]|0;r=c[555247]|0;q=c[742775]|0;s=ns()|0;n=(($k(2971096,c[781999]|0,24365)|0)&5|0)==5;pa(10,p|0,r|0,q|0,s|0,1,(c[485555]|0)==0&((c[780894]|0)==1&n)&1|0,c[484610]|0,c[554811]|0)|0;c[554341]=(c[554341]|0)+1;n=ka(11)|0;a:do if((n|0)>0){s=ka(12)|0;do switch(n|0){case 1:{c[780900]=1;break a;break}case 2:{q=(s|0)<256?s:256;c[555247]=(q|0)>0?q:0;c[555248]=256;break a;break}case 3:{if(!(c[555247]|0)){q=c[535610]|0;c[555247]=(q|0)==0?256:q;Rs(2141888,41123)|0}else{c[555247]=0;Rs(2141888,41104)|0}c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[555248]=256;break a;break}case 4:{if(!(c[485555]|0)){c[485591]=1;c[554338]=0;break a}else{c[798930]=0;c[485555]=0;break a}break}case 5:{q=(s|0)==0;r=(c[485555]|0)!=0;if(!(q|r)){c[485555]=1;vb();c[485557]=0;break a}if(!(q&r))break a;c[798930]=0;c[485555]=0;break a;break}case 6:{Wv(1937144,0,1024)|0;la(3,0)|0;a[104896]=0;r=0;do{q=ka(4)|0;a[104896+r>>0]=q;r=r+1|0;a[104896+r>>0]=0}while((q|0)!=0&r>>>0<1023);Rs(1937144,xm(3196396,104896)|0)|0;Bb();Nn(c[742765]|0);Nn(c[742795]|0);Nn(c[742782]|0);break a;break}case 7:{r=c[485555]|0;if((r|1|0)!=3){c[485555]=3;gm();break a}if(r|0)c[798930]=0;c[485555]=0;break a;break}case 9:{c[536395]=0;pc();break a;break}case 10:{c[536395]=1;break a;break}case 11:{c[536395]=0;break a;break}default:break a}while(0)}while(0);ka(13)|0;c[781307]=ka(14)|0;c[781308]=ka(14)|0;c[781309]=ka(14)|0;c[781310]=ka(14)|0;c[781311]=ka(14)|0;c[781312]=ka(14)|0;c[781313]=ka(14)|0;c[781314]=ka(14)|0;c[535611]=ka(15)|0;c[798591]=89;Eb();if((c[780894]|0)!=1){c[554962]=0;if(c[485555]|0)c[798930]=0;c[485555]=0;c[798454]=30}n=(Xr()|0)+72e6|0;s=(c[485555]|c[554962]|0)==0;r=c[798454]|0;q=n-(c[554342]|0)|0;p=B((((q|0)<32e3?q:32e3)<<16|0)/1e3|0,s?r:30)|0;q=p+(c[535606]|0)|0;p=(q|0)>0?q:0;c[535606]=p;c[554342]=n;if(!(c[535463]|0))t=p;else{c[535606]=65536;t=65536}p=(r|0)==60?131072:131071;r=t>>>0<p>>>0?t:p;p=(r|0)>0?r:0;c[535606]=p;if(s){cs(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[554344]|0)|(l|0)!=(c[554343]|0);c[554343]=l;c[554344]=j;j=(qo(225)|0)==0;l=(c[780894]|0)!=1;s=c[535606]|0;if((s|0)<65536&(l&(k&j)^1)|l&(s|0)<32768){l=2143500+(c[536387]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(ns()|0)==0;j=l?c[555250]|0:c[555249]|0;if((j|0)>0)u=100/(((j|0)<50?j:50)>>>0)|0;else u=1e4;j=c[554345]|0;if((j|0)<(u|0)){Hn();v=c[554345]|0}else v=j;w=c[535606]|0;x=v+1|0}else{w=s;x=0}c[554345]=x;if((w|0)>65535)do{do if((c[780894]|0)==1){if((c[484717]|0)>0|(c[537596]|0)!=0){pl();if((c[484717]|0)>0)Fb();w=c[780903]|0;if((w|0)<=10)break;c[780903]=w+-1;break}w=c[780903]|0;if((w|0)>0){c[780903]=w+-1;break}Gb();w=(c[780904]|0)+-1|0;x=(w|0)<150?w:150;c[780904]=(x|0)>0?x:0;xb();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;cs(g,h,i);x=c[8716]|0;w=c[g>>2]|0;do if((x|0)==-1){y=c[h>>2]|0;z=c[i>>2]|0}else{if((x|0)!=(w|0))c[781042]=c[781042]|1;s=c[h>>2]|0;if((c[8717]|0)!=(s|0))c[781042]=c[781042]|2;v=c[8718]|0;j=c[i>>2]|0;if((v|0)==(j|0)){y=s;z=v;break}c[781042]=c[781042]|4;y=s;z=j}while(0);c[8716]=w;c[8717]=y;c[8718]=z;if((c[780901]|0)==0|(c[781379]|0)<2){pl();if(c[780901]|0)c[742775]=((c[798454]|0)==30?2:1)+(c[742775]|0);wb();Yg()}if((c[742800]|0)>2)break;c[536392]=1;ih();c[536392]=0;if(!(c[742797]|0))break;c[535607]=1;if(!((c[780901]|0)!=0&(c[781379]|0)==2))break;if((Qg(0)|0)<=2097152)break;ol();wb();Yg()}else{pl();x=c[798799]|0;if((x|0)==1){km();A=c[798799]|0}else A=x;c[780903]=0}while(0);x=c[780894]|0;if((x|0)==2){xn();C=c[780894]|0}else C=x;do if((C|0)==3){x=po()|0;if(!(c[781047]|x|c[781048]|c[781049]|c[781050]|c[781051]|c[781052]|c[781053]))break;jb()}while(0);Db();c[535606]=(c[535606]|0)+-65536;c[742774]=(c[742774]|0)+1;c[798801]=(c[798801]|0)+1;x=c[554346]&1^1;c[554346]=x;do if(!(c[484703]|0)){j=c[554962]|0;s=c[485555]|0;v=c[798454]|0;if((v|0)==60&(j|x|s|0)==0){Lh(c[535604]|0);D=c[485555]|0;E=c[554962]|0;F=c[798454]|0}else{D=s;E=j;F=v}if((F|0)==30|(D|E|0)!=0){Lh(c[535604]|0);G=c[485555]|0;H=c[554962]|0;I=c[798454]|0}else{G=D;H=E;I=F}if(!((G|H|0)==0&(I|0)==15))break;Lh(c[535604]|0);Lh(c[535604]|0)}while(0)}while((c[535606]|0)>65535)}else if((p|0)>65535){pl();Gb();switch(c[485555]|0){case 2:{km();break}case 3:{if(ql(6,0)|0){if(c[485555]|0)c[798930]=0;c[485555]=0;nl()}break}default:{xb();yb()}}c[535606]=(c[535606]|0)+-65536;if(!(c[484703]|0))Lh(c[535604]|0)}if(!(c[780895]|c[780894])){zb();p=c[798797]|0;I=c[798798]|0;if((p|0)!=0&(I|0)>0){ub(0);J=c[798797]|0;K=c[798798]|0}else{J=p;K=I}if((J|0)!=0&(K|0)>0)ub(0)}if((c[780894]|0)==1&(c[780895]|0)==0&(c[485555]|0)==2?(qo(41)|0)==3:0)hm();if(c[780902]|0)c[780902]=0;do if(!(c[484624]|0))L=0;else{if((qo(63)|0)!=3?(qo(58)|0)!=3:0)M=0;else M=1;if((qo(64)|0)!=3?(qo(59)|0)!=3:0)N=M;else N=2;if((qo(65)|0)!=3?(qo(60)|0)!=3:0)O=N;else O=3;if((qo(66)|0)!=3?(qo(61)|0)!=3:0)P=O;else P=4;if((qo(67)|0)!=3?(qo(62)|0)!=3:0){L=P;break}L=5}while(0);if(!(qo(-5)|0))Q=L;else{P=(qo(35)|0)==3;Q=P?1:L}if(!(qo(-5)|0))R=Q;else{L=(qo(36)|0)==3;R=L?2:Q}if(!(qo(-5)|0))S=R;else{Q=(qo(37)|0)==3;S=Q?3:R}if(!(qo(-5)|0))T=S;else{R=(qo(38)|0)==3;T=R?4:S}if(!(qo(-5)|0))U=T;else{S=(qo(39)|0)==3;U=S?5:T}b:do if(!(qo(-4)|0))switch(U|0){case 1:{if(!(gc(c[742795]|0,0,0)|0)){Rs(2141888,60414)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;break b}else{Rs(2141888,42155)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break b}break}case 3:{Mh();Rs(2141888,42184)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;break b;break}case 4:{T=Kh(0,0)|0;do if((T|0)!=9)if((T|0)>0){Rs(2141888,42241)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break}else{c[f>>2]=Qh()|0;c[f+4>>2]=0;wt(g,60572,f)|0;Rs(2141888,g)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break}else{Rs(2141888,42209)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15}while(0);if((c[484702]|0)!=1)break b;Mh();break b;break}default:break b}while(0);if(c[502428]|0){Vv(1724192,2009198,512)|0;c[502428]=0}if(!(c[484717]|c[780903]|c[780904]))c[798801]=0;g=c[780894]|0;if((g|0)==1&(c[780901]|0)!=0){f=$k(2971096,c[781999]|0,24367)|0;U=(f|0)==1|((f|0)!=2?(c[485558]|c[485555]|0)!=0:0);f=c[554964]|0;c[554964]=(f+-1|0)>>>0<4&(U^1)?f+1|0:U&1;V=c[780894]|0}else V=g;do if((V|1|0)==3){c[554980]=0;W=199}else{g=c[554980]|0;if(g|0){c[e>>2]=g&255;wt(1719968,42265,e)|0;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[554980]=0}g=c[554981]|0;if(!g)break;c[d>>2]=g&255;wt(1719968,42287,d)|0;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;W=199}while(0);if((W|0)==199)c[554981]=0;W=c[536397]|0;if(W|0)Nu(W)|0;Nu(c[8745]|0)|0;Ia=b;return}function Ib(){var a=0;$l()|0;if(c[798797]|0)Fr(3194372)|0;a=c[536396]|0;if(a|0)Lu(a)|0;a=c[536397]|0;if(!a){Dn()|0;return}Lu(a)|0;Dn()|0;return}function Jb(a,b){a=a|0;b=b|0;ka(16)|0;return Jn(a,b)|0}function Kb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+1024|0;f=e;g=d;h=g+40|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));i=d+40|0;a[i>>0]=0;if(!b){Ia=e;return}j=vq(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;Gq(g,bu(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Lb(b,j,0)|0;c[b>>2]=g;if(!h)Gq(j,32768,d)|0;else Rs(d,f)|0;a[i>>0]=0;zq(j);Ia=e;return}function Lb(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;wq(d,0,32768);Rq();f=0;do{a[d+f>>0]=$k(0,b,f)|0;f=f+1|0}while((f|0)!=17152);Sq();f=vq(262144)|0;g=c[b>>2]|0;do if(!e){h=f;i=Ml(g,f,bu(g)|0)|0;j=0}else{if(!(hn(g,f)|0)){b=vq(262144)|0;h=b;i=Ml(f,b,bu(f)|0)|0;j=f;break}zq(f);k=2;return k|0}while(0);c[554347]=i;if((i|0)>15616){zq(h);zq(j);k=1;return k|0}else{Vv(d+17152|0,h|0,i|0)|0;zq(h);zq(j);k=0;return k|0}return 0}function Mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+1056|0;d=b+1040|0;e=b+1024|0;f=b+768|0;g=b+512|0;h=b;i=Vo(a)|0;Zo(a,0,f,g);c[e>>2]=f;c[e+4>>2]=g;wt(h,104363,e)|0;if(!i){c[d>>2]=a;vv(42417,d)|0;Ia=b;return}c[484610]=0;if((bv(a,58348)|0)==0?(bv(a,92099)|0)==0:0){j=i+12|0;k=i+16|0}else{a=vq(20971520)|0;Rh(e);d=i+12|0;g=i+16|0;Th(c[d>>2]|0,c[g>>2]|0,a,e)|0;Uh(a+(bu(a)|0)|0,e)|0;c[i+20>>2]=0;c[g>>2]=0;Ho(a,bu(a)|0,1,i)|0;zq(a);j=d;k=g}g=bu(h)|0;na(17,h|0,g|0,c[j>>2]|0,c[k>>2]|0)|0;Cq(i);Ia=b;return}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ia;Ia=Ia+16|0;g=f;h=f+4|0;i=Vo(a)|0;j=i+16|0;k=vq(((c[j>>2]<<3|0)/6|0)+256|0)|0;wq(h,0,12);c[g>>2]=b;wt(k,42530,g)|0;g=k+(bu(k)|0)|0;if(i|0){Rh(h);Th(c[i+12>>2]|0,c[j>>2]|0,g,h)|0;Uh(g+(bu(g)|0)|0,h)|0}h=bu(k)|0;oa(18,k|0,h|0,d|0,e|0,a|0,bu(a)|0)|0;zq(k);Ro(i);Ia=f;return}function Ob(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=Ia;Ia=Ia+16|0;h=g;i=xq(32768)|0;wq(i,0,32768);if(Lb(b,i,1)|0){Jg(43954,8);zq(i);j=1;Ia=g;return j|0}if(bv(e,59915)|0){b=c[554347]|0;k=xq((b<<1|1)+1024|0)|0;if((b|0)>0){l=k;m=0;n=0;while(1){c[h>>2]=d[i+(m+17152)>>0];wt(l,104626,h)|0;o=n+2|0;if((m&31|0)==31){a[k+o>>0]=10;p=n+3|0}else p=o;m=m+1|0;o=k+p|0;if((m|0)==(b|0)){q=o;break}else{l=o;n=p}}}else q=k;a[q>>0]=0;os(k)|0;zq(k);zq(i);Mg(43979,b,0);j=0;Ia=g;return j|0}b=Po(e,104706)|0;if(!b){zq(i);j=1;Ia=g;return j|0}if(!f){Ho(i,1,32768,b)|0;Mg(44038,32768,0)}else{Ho(i+17152|0,1,c[554347]|0,b)|0;Mg(44009,c[554347]|0,0)}Ro(b);zq(i);j=0;Ia=g;return j|0}function Pb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=Ia;Ia=Ia+256|0;h=g+64|0;i=g+240|0;j=g+232|0;k=g+224|0;l=g+216|0;m=g+208|0;n=g+200|0;o=g+192|0;p=g+184|0;q=g+176|0;r=g+168|0;s=g+160|0;t=g+152|0;u=g+144|0;v=g+136|0;w=g+128|0;x=g+120|0;y=g+112|0;z=g+104|0;A=g+96|0;B=g;C=g+244|0;D=B;E=D+64|0;do{c[D>>2]=0;D=D+4|0}while((D|0)<(E|0));D=xq(32800)|0;wq(D,0,32800);if(Lb(b,D,f)|0){zq(D);Jg(43954,8);F=2;Ia=g;return F|0}a[D+32768>>0]=43;a[D+32769>>0]=0;a[D+32770>>0]=2;a[D+32771>>0]=7;a[D+32772>>0]=Qm()|0;a[D+32773>>0]=0;Gq(D,32768,B)|0;c[C>>2]=0;c[A>>2]=C;Su(B,44055,A)|0;a[D+32774>>0]=c[C>>2];c[C>>2]=0;c[z>>2]=C;Su(B+2|0,44055,z)|0;a[D+32775>>0]=c[C>>2];c[C>>2]=0;c[y>>2]=C;Su(B+4|0,44055,y)|0;a[D+32776>>0]=c[C>>2];c[C>>2]=0;c[x>>2]=C;Su(B+6|0,44055,x)|0;a[D+32777>>0]=c[C>>2];c[C>>2]=0;c[w>>2]=C;Su(B+8|0,44055,w)|0;a[D+32778>>0]=c[C>>2];c[C>>2]=0;c[v>>2]=C;Su(B+10|0,44055,v)|0;a[D+32779>>0]=c[C>>2];c[C>>2]=0;c[u>>2]=C;Su(B+12|0,44055,u)|0;a[D+32780>>0]=c[C>>2];c[C>>2]=0;c[t>>2]=C;Su(B+14|0,44055,t)|0;a[D+32781>>0]=c[C>>2];c[C>>2]=0;c[s>>2]=C;Su(B+16|0,44055,s)|0;a[D+32782>>0]=c[C>>2];c[C>>2]=0;c[r>>2]=C;Su(B+18|0,44055,r)|0;a[D+32783>>0]=c[C>>2];c[C>>2]=0;c[q>>2]=C;Su(B+20|0,44055,q)|0;a[D+32784>>0]=c[C>>2];c[C>>2]=0;c[p>>2]=C;Su(B+22|0,44055,p)|0;a[D+32785>>0]=c[C>>2];c[C>>2]=0;c[o>>2]=C;Su(B+24|0,44055,o)|0;a[D+32786>>0]=c[C>>2];c[C>>2]=0;c[n>>2]=C;Su(B+26|0,44055,n)|0;a[D+32787>>0]=c[C>>2];c[C>>2]=0;c[m>>2]=C;Su(B+28|0,44055,m)|0;a[D+32788>>0]=c[C>>2];c[C>>2]=0;c[l>>2]=C;Su(B+30|0,44055,l)|0;a[D+32789>>0]=c[C>>2];c[C>>2]=0;c[k>>2]=C;Su(B+32|0,44055,k)|0;a[D+32790>>0]=c[C>>2];c[C>>2]=0;c[j>>2]=C;Su(B+34|0,44055,j)|0;a[D+32791>>0]=c[C>>2];c[C>>2]=0;c[i>>2]=C;Su(B+36|0,44055,i)|0;a[D+32792>>0]=c[C>>2];c[C>>2]=0;c[h>>2]=C;Su(B+38|0,44055,h)|0;a[D+32793>>0]=c[C>>2];C=Sn(160,205,32)|0;Gp(c[(c[c[742804]>>2]|0)+580>>2]|0,C,0,0,0,0,160,205);B=c[b+45856>>2]|0;if(B|0)Gp(B,C,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){i=a[b>>0]|0;G=i<<24>>24==10;H=b+1|0;if(G^i<<24>>24!=0)b=H;else break}i=G?H:b;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;H=(a[b>>0]|0)==32?B+3|0:b;b=0;a:while(1){B=a[H>>0]|0;switch(B<<24>>24){case 10:case 0:{break a;break}default:{}}if(b>>>0>=31)break;a[h+b>>0]=B;H=H+1|0;b=b+1|0}Bo(C,h,c[742805]|0,18,167,1,-1808)|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[i>>0]|0)==45?(a[i+1>>0]|0)==45:0){b=i+2|0;H=(a[b>>0]|0)==32?i+3|0:b;b=0;b:while(1){i=a[H>>0]|0;switch(i<<24>>24){case 10:case 0:{break b;break}default:{}}if(b>>>0>=31)break;a[h+b>>0]=i;H=H+1|0;b=b+1|0}Bo(C,h,c[742805]|0,18,175,1,-1808)|0}Bo(C,104368,c[742805]|0,18,187,1,-6250336)|0;h=0;b=c[C+12>>2]|0;while(1){H=a[b>>0]&-4;a[b>>0]=H;a[b>>0]=(d[D+(h>>>2)>>0]|0)>>>(h<<1&6)&3|H&255;h=h+1|0;if((h|0)==131200)break;else b=b+1|0}bp(e,C)|0;Tn(C)|0;zq(D);F=0;Ia=g;return F|0}function Qb(a,b){a=a|0;b=b|0;return Pb(a,b,0)|0}function Rb(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{_k(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=xq(65538)|0;c[a>>2]=e;wq(e,0,65538)}e=b+17152|0;b=(Ll(e)|0)==0;f=c[a>>2]|0;if(b){Vv(f|0,e|0,15616)|0;return}else{wq(f,0,65538);Nl(e,c[a>>2]|0,65537)|0;return}}function Sb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[484618]=0;if(!b){c[484618]=2;j=0;Ia=e;return j|0}k=$o(b)|0;if(!k){c[484618]=1;j=0;Ia=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=vs()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+45860>>2]=d[m>>0];n=a[m>>0]|0;if(!((n&255)<44|(c[484612]|0)!=0)){c[g>>2]=n&255;wt(1719968,44059,g)|0;Lg(1719968);c[484618]=3;Tn(k)|0;j=0;Ia=e;return j|0}Rb(b,l);Gq(l,32768,h)|0;g=0;n=0;m=0;do{c[i>>2]=0;c[f>>2]=i;Su(h+(m<<1)|0,44055,f)|0;o=a[l+(m+32774)>>0]|0;n=o<<24>>24==0?n:1;g=(c[i>>2]|0)==(o&255|0)?g:1;m=m+1|0}while((m|0)!=20);Tn(k)|0;if((n|0)!=0&(g|0)!=0){Lg(44078);p=0;q=4}else{p=b;q=0}c[484618]=q;j=p;Ia=e;return j|0}Tn(k)|0;c[484618]=5;j=0;Ia=e;return j|0}function Tb(a){a=a|0;var b=0,d=0;b=Po(a,96074)|0;d=Sb(b)|0;Ro(b);if(!d)return d|0;c[d+45856>>2]=zm(a)|0;return d|0}function Ub(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ia;Ia=Ia+16|0;e=d;f=Po(b,96074)|0;if(!f){g=0;Ia=d;return g|0}b=vs()|0;h=vq(262144)|0;i=vq(65536)|0;j=Fo(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=h+3|0;l=0;m=1}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=h+4|0;l=3;m=4}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=h+4|0;l=0;m=4;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=h;l=0;m=1;break a}k=o;l=0;m=2}else{k=h;l=0;m=1}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=o;l=1;m=2}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=h;l=0;m=1}n=(j+h-k|0)/(m|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(j,m)|0;q=a[k+(p+l)>>0]|0;r=0;s=0;while(1){if((s|0)==(l|0))t=r;else t=(a[k+(s+p)>>0]|0)==0?r:1;s=s+1|0;if(s>>>0>=m>>>0)break;else r=t}if(!t)if(q<<24>>24==13)u=o;else{a[k+o>>0]=q;u=o+1|0}else{a[k+o>>0]=95;a[k+(o+1)>>0]=120;r=0;s=o+2|0;while(1){c[e>>2]=a[k+(r+p)>>0];wt(k+s|0,104626,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=m>>>0){u=v;break}else s=v}}j=j+1|0;if((j|0)==(n|0)){w=u;break}else o=u}}else w=0;a[k+w>>0]=10;a[k+(w+1)>>0]=0;w=vq(131072)|0;Ls(k,w)|0;a[w+65534>>0]=0;Ro(f);zq(h);zq(i);i=w+(bu(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;Rs(c[b>>2]|0,w)|0;zq(w);g=b;Ia=d;return g|0}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+3120|0;e=d+3104|0;f=d+3088|0;g=d+3072|0;h=d+2048|0;i=d+1024|0;j=d;Rs(b,a)|0;if(Ts(b,93459)|0){Ia=d;return}Zo(a,h,i,j);if(Ts(j,92808)|0){c[g>>2]=h;c[g+4>>2]=i;c[g+8>>2]=j;wt(b,44106,g)|0;Ia=d;return}if(!(Ts(j,44116)|0)){c[e>>2]=h;c[e+4>>2]=i;c[e+8>>2]=j;wt(b,44121,e)|0;Ia=d;return}else{c[f>>2]=h;c[f+4>>2]=i;c[f+8>>2]=j;wt(b,44106,f)|0;Ia=d;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+4160|0;g=f+4096|0;h=f+2048|0;i=f+1024|0;j=f;k=f+4120|0;if(!(a[b>>0]|0)){Rs(h,44131)|0;Rs(i,93459)|0}else Zo(b,f+3072|0,h,i);ds(44140,j);if(e|0){Ir(k,0);e=c[k+8>>2]|0;l=c[k+12>>2]|0;m=c[k+16>>2]|0;n=c[k+20>>2]|0;o=c[k+24>>2]|0;c[g>>2]=c[k+4>>2];c[g+4>>2]=e;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;c[g+20>>2]=o;wt(1719968,44148,g)|0;lu(j,1719968)|0}lu(j,h)|0;lu(j,i)|0;if(d|0){d=xq(1048576)|0;i=Po(b,96074)|0;h=Fo(d,1,1048576,i)|0;Ro(i);i=Po(j,104706)|0;Ho(d,1,h,i)|0;Ro(i);zq(d);Ia=f;return 0}bh();if(Ts(b,92808)|0){Pb(c[26544]|0,j,0)|0;Ia=f;return 0}d=(Ts(b,44116)|0)==0;b=c[26544]|0;if(d){As(b,j)|0;Ia=f;return 0}else{Ob(b,j,0)|0;Ia=f;return 0}return 0}function Xb(a,b){a=a|0;b=b|0;Wb(a,b,1)|0;return 0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ia;Ia=Ia+1024|0;e=d;bh();f=vq(262144)|0;do if(hn(c[c[26544]>>2]|0,f)|0){if((Ts(b,92808)|0)==0?(Ts(b,44116)|0)==0:0){Rs(f,c[c[26544]>>2]|0)|0;break}zq(f);g=1;Ia=d;return g|0}while(0);h=bu(f)|0;i=bu(c[c[26544]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){Lg(44174);zq(f);g=1;Ia=d;return g|0}i=vq(262144)|0;wq(i,0,262144);h=Ml(f,i,bu(f)|0)|0;zq(i);if((Ts(b,92808)|0)==0?(Ts(b,44116)|0)==0:0){if((h|0)>15616){Jg(44245,9);Jg(44278,9);Mg(44231,h,15616);Lg(44309)}}else k=12;do if((k|0)==12){if((h|0)>15616){Jg(44199,8);Mg(44231,h,15616);zq(f);g=1;Ia=d;return g|0}if(Ts(b,92808)|0){i=c[(c[26544]|0)+45856>>2]|0;if(i|0){l=c[i+12>>2]|0;i=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==i<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}Jg(59953,9);Jg(59977,10)}}while(0);Vb(b,e);if(au(e,3118768)|0?Gr(e)|0:0)Wb(e,1,1)|0;do if(!(Ts(e,92808)|0)){b=(Ts(e,44116)|0)==0;h=c[26544]|0;if(b){o=As(h,e)|0;break}else{Rs(c[h>>2]|0,f)|0;ch();o=Ob(c[26544]|0,e,0)|0;break}}else{Rs(c[c[26544]>>2]|0,f)|0;ch();o=Pb(c[26544]|0,e,0)|0}while(0);if(!o){Rs(3118768,e)|0;Kb(c[26544]|0,3119792);if(!j)Jg(44329,9)}else if(c[780895]|0)fb(44349,1500);zq(f);g=o;Ia=d;return g|0}function Zb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Ia=f;return}ws(c[26544]|0);c[26544]=b;_b(b);j=c[(c[b+12>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=k;o=0;do{n=(a[m+o>>0]|0)==0?n:1;o=o+1|0}while((o|0)!=128);l=l+1|0;if((l|0)==64)break;else k=n}if(!n)Fh(b);else Gh(b);c[484610]=0;Kb(c[26544]|0,3119874);ch();bh();Kb(c[26544]|0,3119792);a[184176]=0;c[h>>2]=44393;c[h+4>>2]=3119792;wt(184176,44370,h)|0;h=184176+(bu(184176)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;Rs(i,184176)|0;if(!e)Rs(3118768,i)|0;else Rs(3118768,e)|0;do if(eh(e)|0){c[g>>2]=i;wt(1715360,44396,g)|0;Cn(1715360);h=ys(i)|0;if(!h){Cn(44464);break}Cn(44455);n=0;do{if(1<<(n&7)&d[(n>>>3)+(h+45884)>>0]|0)_k(0,b,n,$k(0,h,n)|0);n=n+1|0}while((n|0)!=17152)}while(0);kb();Os(c[(c[778903]|0)+364>>2]|0);i=c[778903]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778904]|0)+364>>2]|0);i=c[778904]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778905]|0)+364>>2]|0);i=c[778905]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778906]|0)+364>>2]|0);i=c[778906]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778907]|0)+364>>2]|0);i=c[778907]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778908]|0)+364>>2]|0);i=c[778908]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778909]|0)+364>>2]|0);i=c[778909]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778910]|0)+364>>2]|0);i=c[778910]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778911]|0)+364>>2]|0);i=c[778911]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778912]|0)+364>>2]|0);i=c[778912]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778913]|0)+364>>2]|0);i=c[778913]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778914]|0)+364>>2]|0);i=c[778914]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778915]|0)+364>>2]|0);i=c[778915]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778916]|0)+364>>2]|0);i=c[778916]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778917]|0)+364>>2]|0);i=c[778917]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778918]|0)+364>>2]|0);i=c[778918]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;c[535868]=0;c[484715]=0;i=0;do{if(c[b+16+(i*680|0)>>2]&294|0)c[484715]=1;i=i+1|0}while((i|0)!=64);if(c[780901]|0){Ia=f;return}a[3125548]=0;Ia=f;return}function _b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Ia;Ia=Ia+16|0;d=b;e=a+45864|0;if(c[e>>2]|0){Ia=b;return}c[e>>2]=1;e=a+45860|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(bv(c[a>>2]|0,48241)|0)){Ia=b;return}else{fb(44477,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+43536+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+16+(i*680|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+16+(i*680|0)+16>>2]|0)>(c[a+16+(i*680|0)+12>>2]|0);m=l;n=k?0:l;o=k<<31>>31}else{m=0;n=0;o=-1}k=c[a+43536+(f<<4)+4>>2]|0;l=k>>>0<64;if(l){p=c[a+16+(k*680|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(m|0)>(q|0)?m:q;if((o|0)==-1){r=(c[a+16+(k*680|0)+16>>2]|0)>(c[a+16+(k*680|0)+12>>2]|0);s=p;t=r?n:q;u=r?-1:1}else{s=p;t=n;u=0}}else{s=m;t=n;u=o}p=c[a+43536+(f<<4)+8>>2]|0;r=p>>>0<64;if(r){q=c[a+16+(p*680|0)+8>>2]|0;v=((q|0)>1?q:1)<<5;q=(s|0)>(v|0)?s:v;if((u|0)==-1){w=(c[a+16+(p*680|0)+16>>2]|0)>(c[a+16+(p*680|0)+12>>2]|0);x=q;y=w?t:v;z=w?-1:2}else{x=q;y=t;z=u}}else{x=s;y=t;z=u}q=c[a+43536+(f<<4)+12>>2]|0;w=q>>>0<64;if(w){v=c[a+16+(q*680|0)+8>>2]|0;A=((v|0)>1?v:1)<<5;v=(x|0)>(A|0)?x:A;if((z|0)==-1){B=(c[a+16+(q*680|0)+16>>2]|0)>(c[a+16+(q*680|0)+12>>2]|0);C=v;D=B?y:A;E=B?-1:3}else{C=v;D=y;E=z}}else{C=x;D=y;E=z}a:do if((C|0)!=(D|0)&(E|0)!=-1){if((j?(c[a+16+(i*680|0)+16>>2]|0)<=(c[a+16+(i*680|0)+12>>2]|0):0)?(v=c[a+16+(i*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0)break;if((l?(c[a+16+(k*680|0)+16>>2]|0)<=(c[a+16+(k*680|0)+12>>2]|0):0)?(v=c[a+16+(k*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((r?(c[a+16+(p*680|0)+16>>2]|0)<=(c[a+16+(p*680|0)+12>>2]|0):0)?(v=c[a+16+(p*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0){F=2;break}if(!w)break a;if((c[a+16+(q*680|0)+16>>2]|0)>(c[a+16+(q*680|0)+12>>2]|0))break a;v=c[a+16+(q*680|0)+8>>2]|0;if((((v|0)>1?v:1)<<5|0)==(C|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;wt(1719968,44509,d)|0;Lg(1719968);v=c[h>>2]|0;B=a+43536+(f<<4)+(F<<2)|0;c[h>>2]=c[B>>2];c[B>>2]=v}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+16+(F*680|0)+20+(d*20|0)+4>>2]|0)==6?(C=a+16+(F*680|0)+20+(d*20|0)+8|0,(c[C>>2]|0)>5):0)c[C>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(bv(c[a>>2]|0,44541)|0){F=vq(65538)|0;Rs(F,c[a>>2]|0)|0;Rs(c[a>>2]|0,44566)|0;lu(c[a>>2]|0,F)|0;Lg(45837);zq(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Ia=b;return}H=0;g=0;do{H=H+((c[a+16+(g*680|0)+4>>2]|0)>1&1)+((c[a+16+(g*680|0)+12>>2]|0)>63&1)+((c[a+16+(g*680|0)+16>>2]|0)>63&1)+((c[a+16+(g*680|0)+36>>2]|0)!=0&1)+((c[a+16+(g*680|0)+56>>2]|0)!=0&1)+((c[a+16+(g*680|0)+76>>2]|0)!=0&1)+((c[a+16+(g*680|0)+96>>2]|0)!=0&1)+((c[a+16+(g*680|0)+116>>2]|0)!=0&1)+((c[a+16+(g*680|0)+136>>2]|0)!=0&1)+((c[a+16+(g*680|0)+156>>2]|0)!=0&1)+((c[a+16+(g*680|0)+176>>2]|0)!=0&1)+((c[a+16+(g*680|0)+196>>2]|0)!=0&1)+((c[a+16+(g*680|0)+216>>2]|0)!=0&1)+((c[a+16+(g*680|0)+236>>2]|0)!=0&1)+((c[a+16+(g*680|0)+256>>2]|0)!=0&1)+((c[a+16+(g*680|0)+276>>2]|0)!=0&1)+((c[a+16+(g*680|0)+296>>2]|0)!=0&1)+((c[a+16+(g*680|0)+316>>2]|0)!=0&1)+((c[a+16+(g*680|0)+336>>2]|0)!=0&1)+((c[a+16+(g*680|0)+356>>2]|0)!=0&1)+((c[a+16+(g*680|0)+376>>2]|0)!=0&1)+((c[a+16+(g*680|0)+396>>2]|0)!=0&1)+((c[a+16+(g*680|0)+416>>2]|0)!=0&1)+((c[a+16+(g*680|0)+436>>2]|0)!=0&1)+((c[a+16+(g*680|0)+456>>2]|0)!=0&1)+((c[a+16+(g*680|0)+476>>2]|0)!=0&1)+((c[a+16+(g*680|0)+496>>2]|0)!=0&1)+((c[a+16+(g*680|0)+516>>2]|0)!=0&1)+((c[a+16+(g*680|0)+536>>2]|0)!=0&1)+((c[a+16+(g*680|0)+556>>2]|0)!=0&1)+((c[a+16+(g*680|0)+576>>2]|0)!=0&1)+((c[a+16+(g*680|0)+596>>2]|0)!=0&1)+((c[a+16+(g*680|0)+616>>2]|0)!=0&1)+((c[a+16+(g*680|0)+636>>2]|0)!=0&1)+((c[a+16+(g*680|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Ia=b;return}H=0;do{g=0;do{f=a+16+(H*680|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+16+(H*680|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Ia=b;return}function $b(b){b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;a[184176]=0;c[e>>2]=44393;c[e+4>>2]=b;wt(184176,44370,e)|0;e=184176+(bu(184176)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ia=d;return 184176}function ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Po(b,96074)|0;e=Sb(d)|0;Ro(d);if(e|0){c[e+45856>>2]=zm(b)|0;f=e;return f|0}e=ys(b)|0;if(e|0){f=e;return f|0}if(Ts(b,44116)|0?(e=Vo(b)|0,e|0):0){d=e+16|0;g=c[d>>2]|0;if((g|0)<32768){do Jo(0,e);while((c[d>>2]|0)<32768);if((g|0)<15617){g=e+12|0;d=0;do{h=c[g>>2]|0;a[h+(d+17152)>>0]=a[h+d>>0]|0;a[(c[g>>2]|0)+d>>0]=0;d=d+1|0}while((d|0)!=15616);i=g}else j=10}else j=10;if((j|0)==10)i=e+12|0;j=vs()|0;Rb(j,c[i>>2]|0);c[j+45860>>2]=43;Ro(e);if(j|0){f=j;return f|0}}if(!(Ts(b,45864)|0)){f=0;return f|0}f=Ub(b)|0;return f|0}function bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+1024|0;e=d;Rs(e,b)|0;f=ac(b)|0;g=c[779979]|0;h=c[484618]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Vb(b,e);i=ac(e)|0;j=c[779979]|0;k=c[484618]|0;l=i}else{j=g;k=h;l=f}if((l|0)==0&(j|0)!=1&(k|0)!=3){f=e+(bu(e)|0)|0;a[f>>0]=a[92808]|0;a[f+1>>0]=a[92809]|0;a[f+2>>0]=a[92810]|0;a[f+3>>0]=a[92811]|0;a[f+4>>0]=a[92812]|0;f=ac(e)|0;m=c[779979]|0;n=c[484618]|0;o=f}else{m=j;n=k;o=l}if((o|0)==0&(m|0)!=1&(n|0)!=3){Rs(e,b)|0;b=e+(bu(e)|0)|0;a[b>>0]=a[92808]|0;a[b+1>>0]=a[92809]|0;a[b+2>>0]=a[92810]|0;a[b+3>>0]=a[92811]|0;a[b+4>>0]=a[92812]|0;p=ac(e)|0}else p=o;if(!p){q=1;Ia=d;return q|0}Zb(p,e);q=0;Ia=d;return q|0}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(au(a,3122552)|0){Rs(3122552,a)|0;f=30-(c[780904]|0)|0;g=(f|0)<30?f:30;c[780903]=(g|0)>2?g:2;c[780904]=150}g=ac(a)|0;if(!g){h=1;return h|0}if((e|0)>0){a=0;do{f=c[781999]|0;_k(2971096,f,a+b|0,$k(0,g,a+d|0)|0);a=a+1|0}while((a|0)!=(e|0))}ws(g);h=0;return h|0}function dc(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Ia;Ia=Ia+1040|0;k=j+1024|0;l=j;c[k>>2]=b;wt(l,61063,k)|0;do if(!(bv(2009716,l)|0)){k=0;m=0;a:while(1){switch(a[2009716+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>63){o=3;Ia=j;return o|0}else{lu(2009716,l)|0;break}}while(0);Rs(3122552,b)|0;c[780903]=30;l=ac(b)|0;if(!l){n=vs()|0;if(!i)p=n;else{Wv(n+45884|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{_k(0,p,h+e|0,$k(2971096,c[781999]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;_k(0,p,n,$k(2971096,c[781999]|0,m)|0);q=c[26544]|0;_k(0,q,n,$k(2971096,c[781999]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{if(l>>>0<17152){e=(l>>>3)+(p+45884)|0;a[e>>0]=1<<(l&7)|d[e>>0]}l=l+1|0}while((l|0)<(i|0))}i=As(p,b)|0;ws(p);o=(i|0)==0?0:2;Ia=j;return o|0}function ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[3118768]|0))if(!b){fb(45895,1500);Ia=d;return}else{Lg(45869);Ia=d;return}ds(92888,g);if(bv(3118768,g)|0)if(!b){fb(45954,1500);Ia=d;return}else{Lg(45927);Ia=d;return}if(Yb(3118768)|0)if(!b){fb(45998,1500);Ia=d;return}else{Lg(45986);Ia=d;return}Zo(3118768,g,h,i);c[f>>2]=h;c[f+4>>2]=i;wt(1719968,46020,f)|0;if(!b){fb(1719968,1500);Ia=d;return}b=bu(3115688)|0;f=(ut(g,3115688,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=bu(3116712)|0;b=(ut(j+1|0,3116712,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;wt(1719968,46045,e)|0;Lg(1719968);Ia=d;return}function fc(){return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+1040|0;g=f+1024|0;h=f;i=c[484697]|0;j=(i|0)<32?i:32;i=(d|0)<32?d:32;k=(d|0)>0?((i|0)>1?i:1):(j|0)>1?j:1;hc(46072,e)|0;ku(h,185200)|0;e=B(k,c[b>>2]|0)|0;j=Sn(e,B(k,c[b+4>>2]|0)|0,8)|0;k=j+4|0;_n(b,j,0,0,c[j>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)>0){b=j+16|0;e=c[j>>2]|0;i=0;while(1){if((e|0)>0){d=e;l=0;while(1){m=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+l|0;if(!(a[m>>0]|0)){a[m>>0]=16;n=c[j>>2]|0}else n=d;l=l+1|0;if((l|0)>=(n|0)){o=n;break}else d=n}}else o=e;i=i+1|0;if((i|0)>=(c[k>>2]|0))break;else e=o}}c[g>>2]=h;wt(1715360,46076,g)|0;Cn(1715360);bp(h,j)|0;Nb(h,46072,128,128);Tn(j)|0;j=(Gr(h)|0)==0&1;Ia=f;return j|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+2224|0;f=e+2208|0;g=e+2200|0;h=e+2192|0;i=e+2184|0;j=e+2176|0;k=e+2144|0;l=e+2112|0;m=e+1088|0;n=e+64|0;o=e;Wv(185200,0,1024)|0;c[l>>2]=$m()|0;c[l+4>>2]=b;wt(o,46102,l)|0;if(c[484704]|0){Ir(l,1);p=$m()|0;q=c[l+4>>2]|0;r=c[l+8>>2]|0;s=c[l+12>>2]|0;t=c[l+16>>2]|0;u=c[l+20>>2]|0;v=c[l+24>>2]|0;c[k>>2]=p;c[k+4>>2]=q;c[k+8>>2]=r;c[k+12>>2]=s;c[k+16>>2]=t;c[k+20>>2]=u;c[k+24>>2]=v;c[k+28>>2]=b;wt(o,46112,k)|0}if(a[3195728]|0){c[j>>2]=3195728;c[j+4>>2]=b;wt(o,46142,j)|0}j=(d|0)==0;if(!(nu(o,37)|0))if(j){fs(o,n);ku(185200,n)|0;Ia=e;return 185200}else{ds(3196396,n);d=n+(bu(n)|0)|0;b=d;a[b>>0]=97;a[b+1>>0]=112;a[b+2>>0]=112;a[b+3>>0]=100;b=d+4|0;a[b>>0]=97;a[b+1>>0]=116;a[b+2>>0]=97;a[b+3>>0]=0;hs(n)|0;b=n+(bu(n)|0)|0;a[b>>0]=47;a[b+1>>0]=0;lu(n,_a()|0)|0;hs(n)|0;b=n+(bu(n)|0)|0;a[b>>0]=47;a[b+1>>0]=0;lu(n,o)|0;c[f>>2]=n;wt(1715360,46148,f)|0;Cn(1715360);ku(185200,n)|0;Ia=e;return 185200}if(j){j=0;while(1){c[i>>2]=j;wt(m,o,i)|0;fs(m,n);if(!(Gr(n)|0))break;else j=j+1|0}ku(185200,n)|0;Ia=e;return 185200}else{j=0;while(1){c[h>>2]=j;wt(m,o,h)|0;ds(3196396,n);i=n+(bu(n)|0)|0;f=i;a[f>>0]=97;a[f+1>>0]=112;a[f+2>>0]=112;a[f+3>>0]=100;f=i+4|0;a[f>>0]=97;a[f+1>>0]=116;a[f+2>>0]=97;a[f+3>>0]=0;hs(n)|0;f=n+(bu(n)|0)|0;a[f>>0]=47;a[f+1>>0]=0;lu(n,_a()|0)|0;hs(n)|0;f=n+(bu(n)|0)|0;a[f>>0]=47;a[f+1>>0]=0;lu(n,m)|0;c[g>>2]=n;wt(1715360,46148,g)|0;Cn(1715360);if(!(Gr(n)|0))break;else j=j+1|0}ku(185200,n)|0;Ia=e;return 185200}return 0}function ic(){c[554348]=0;return}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[554348]|0;if((f|0)==32){Ia=d;return}c[554348]=f+1;Rs(174672+(f*297|0)+41|0,b)|0;g=174672+(f*297|0)|0;Kb(a,g);f=bu(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;wt(1715360,46170,e)|0;Cn(1715360);e=ts(b,96789)|0;if(!e){Cn(46209);Ia=d;return}else{zs(a,e,0)|0;Ro(e);Ia=d;return}}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+1024|0;f=e;g=c[554348]|0;if((g|0)<=0){h=0;Ia=e;return h|0}a:do if(d){i=0;while(1){j=174672+(i*297|0)+41|0;if(!(au(b,j)|0)){k=i;break a}Vb(b,f);if(!(au(f,j)|0)){l=10;break}m=f+(bu(f)|0)|0;a[m>>0]=a[92808]|0;a[m+1>>0]=a[92809]|0;a[m+2>>0]=a[92810]|0;a[m+3>>0]=a[92811]|0;a[m+4>>0]=a[92812]|0;if(!(au(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[554348]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=174672+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==12){h=174672+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==14){Ia=e;return h|0}}else{j=0;while(1){if(!(au(b,174672+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ia=e;return h|0}while(0);h=174672+(k*297|0)|0;Ia=e;return h|0}function lc(){return 0}function mc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+128|0;d=b+64|0;e=b;if(!(a[3118768]|0)){f=0;Ia=b;return f|0}g=ac(3118768)|0;if(!g){f=0;Ia=b;return f|0}_b(g);h=c[(c[g+12>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=i;m=0;do{l=(a[k+m>>0]|0)==0?l:1;m=m+1|0}while((m|0)!=128);j=j+1|0;if((j|0)==64)break;else i=l}if(!l)Fh(g);else Gh(g);Kb(g,d);Kb(c[26544]|0,e);ws(g);if(!(au(d,e)|0)){f=0;Ia=b;return f|0}if(!(au(d,3119792)|0)){f=0;Ia=b;return f|0}f=(au(d,3119874)|0)!=0&1;Ia=b;return f|0}function nc(a){a=a|0;return 0}function oc(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2219928]|0)){a[2219928]=0;return}b=ac(2219928)|0;d=(b|0)!=0;if((c[780895]|c[780894]|0)==0&((d|(c[780901]|0)!=0)^1)){Lg(46249);a[2219928]=0;return}if(d){ws(b);fb(46274,2e3);a[2219928]=0;return}if(Ts(2219928,46287)|0){fb(46295,2e3);a[2219928]=0;return}if(!(Ts(2219928,92808)|0)){if(!(a[2219928]|0)){a[2219928]=0;return}b=Vo(2219928)|0;if((c[b+16>>2]|0)>524288)fb(46346,2e3);else sn(b);Cq(b);a[2219928]=0;return}b=ap(2219928)|0;if(!b){a[2219928]=0;return}vh();d=b+4|0;e=Sn(c[b>>2]|0,c[d>>2]|0,8)|0;Pk(b,e,c[742761]|0);do if((c[780894]|0)!=1&(c[780895]|0)==2){f=c[798472]|0;g=(f|0)/16|0;Gp(e,c[(c[26544]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){tn(e);break}fb(46317,2e3)}while(0);Tn(b)|0;Tn(e)|0;a[2219928]=0;return}function pc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b+8|0;f=b;g=b+24|0;h=Aq(139392)|0;i=ka(19)|0;j=i;ka(20)|0;do if(i){c[f>>2]=j;vv(46841,f)|0;k=bv(j,46862)|0;if(k|0){l=k+7|0;Wh(g);k=bu(l)|0;m=h+16|0;c[m>>2]=Xh(l,k,c[h+12>>2]|0,g)|0;k=h+20|0;c[k>>2]=0;l=Sb(h)|0;if(!l)n=xs(h,0)|0;else n=l;l=(n|0)!=0;if((c[780894]|0)==0&((l|(c[780901]|0)!=0)^1)){Lg(46249);a[2219928]=0;Ia=b;return}if(l){ws(n);fb(46274,2e3);break}c[k>>2]=0;k=$o(h)|0;if(!k){c[d>>2]=c[m>>2];vv(46906,d)|0;if((c[m>>2]|0)>524288){fb(46346,2e3);break}else{sn(h);break}}vh();m=k+4|0;l=Sn(c[k>>2]|0,c[m>>2]|0,8)|0;Pk(k,l,c[742761]|0);do if((c[780894]|0)!=1&(c[780895]|0)==2){o=c[798472]|0;p=(o|0)/16|0;Gp(l,c[(c[26544]|0)+4>>2]|0,0,0,o-(p<<4)<<3,p<<3,c[k>>2]|0,c[m>>2]|0)}else{p=c[l>>2]|0;if((p|0)<=128?(o=c[l+4>>2]|0,(o|0)<=128):0){c[e>>2]=p;c[e+4>>2]=o;vv(46870,e)|0;tn(l);break}fb(46317,2e3)}while(0);Tn(k)|0;Tn(l)|0}}else Lg(46946);while(0);Ro(h);Ia=b;return}function qc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+2048|0;e=d+1024|0;f=d;if((a[b>>0]|0)==47)ku(c,b)|0;else{a[c>>0]=47;a[c+1>>0]=0;lu(c,3116712)|0;lu(c,b)|0}b=a[c>>0]|0;if(b<<24>>24==47?(a[c+1>>0]|0)==0:0){Ia=d;return c|0}a[e>>0]=0;if(b<<24>>24==47){g=c;while(1){h=g+1|0;i=a[h>>0]|0;if(i<<24>>24==47)g=h;else{j=i;k=h;break}}}else{j=b;k=c}a:do if(j<<24>>24){b=j;g=k;h=0;while(1){i=b;l=g;b:while(1){switch(i<<24>>24){case 0:case 47:{break b;break}default:{}}m=l+1|0;i=a[m>>0]|0;l=m}i=l-g|0;c:do switch(i|0){case 1:{if(b<<24>>24==46)n=h;else o=26;break}case 2:{if(b<<24>>24==46?(a[g+1>>0]|0)==46:0)if((h|0)>1){m=e+h+-1|0;if(m>>>0>e>>>0){p=m;q=h;while(1){if((a[p>>0]|0)==47){r=p;s=q;break}a[p>>0]=0;t=q+-1|0;a[e+t>>0]=0;u=p+-1|0;if(u>>>0>e>>>0){p=u;q=t}else{r=u;s=t;break}}if((s|0)>0){v=r;w=s}else{n=s;break c}}else{v=m;w=h}q=w+-1|0;a[v>>0]=0;a[e+q>>0]=0;n=q}else n=h;else o=26;break}default:o=26}while(0);if((o|0)==26){o=0;Wv(f+i|0,0,(i>>>0>1023?0:1024-i|0)|0)|0;Vv(f|0,g|0,i|0)|0;q=e+(bu(e)|0)|0;a[q>>0]=47;a[q+1>>0]=0;lu(e,f)|0;n=bu(e)|0}q=l;d:while(1){x=a[q>>0]|0;switch(x<<24>>24){case 0:{break a;break}case 47:{q=q+1|0;break}default:break d}}b=x;g=q;h=n}}while(0);ku(c,e)|0;Ia=d;return c|0}function rc(a){a=a|0;ku(186224,3115688)|0;qc((a|0)==0?3196396:a,186224+(bu(186224)|0)+-1|0)|0;return 186224}function sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;ds(3196396,d);g=d+(bu(d)|0)|0;h=g;a[h>>0]=97;a[h+1>>0]=112;a[h+2>>0]=112;a[h+3>>0]=100;h=g+4|0;a[h>>0]=97;a[h+1>>0]=116;a[h+2>>0]=97;a[h+3>>0]=0;hs(d)|0;h=d+(bu(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;lu(d,_a()|0)|0;hs(d)|0;h=d+(bu(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;lu(d,b)|0;c[f>>2]=d;wt(1715360,46148,f)|0;Cn(1715360);Ia=e;return}function tc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d;f=d+4|0;g=xq(32768)|0;wq(g,0,32768);if(Lb(b,g,1)|0){Jg(43954,8);zq(g);Ia=d;return}h=vq(62464)|0;i=h;j=46974;k=i+27|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));c[537424]=1;wq(f,0,12);Rh(f);j=c[554347]|0;Th(g+17152|0,j,h+(bu(h)|0)|0,f)|0;Uh(h+(bu(h)|0)|0,f)|0;f=b+4|0;b=c[(c[f>>2]|0)+12>>2]|0;j=0;g=0;do{i=j;j=j+1|0;g=(a[b+i>>0]&15)==0?g:j}while((j|0)!=16384);if((g|0)>0){j=h+(bu(h)|0)|0;a[j>>0]=38;a[j+1>>0]=103;a[j+2>>0]=61;a[j+3>>0]=0;j=h+(bu(h)|0)|0;b=0;while(1){i=c[(c[f>>2]|0)+12>>2]|0;k=a[i+b>>0]|0;l=k&15;m=l&255;if((b|0)<(g|0)){a:do if((k&15)==l<<24>>24){n=b;o=0;while(1){p=n+1|0;q=o+1|0;if((p|0)>=(g|0)){r=p;s=q;break a}if(q>>>0<67?(a[i+p>>0]&15)==l<<24>>24:0){n=p;o=q}else{r=p;s=q;break}}}else{r=b;s=0}while(0);if(s>>>0<4){t=r;u=s;v=13}else{a[j>>0]=Sh((m|48)&255)|0;w=2;x=j+1|0;y=r;z=s+252|0}}else{t=b;u=0;v=13}if((v|0)==13){v=0;w=1;x=j;y=t;z=(u<<4)+240|m}a[x>>0]=Sh(z&255)|0;j=j+w|0;a[j>>0]=0;if((y|0)>=(g|0))break;else b=y}}c[537424]=0;if((bu(h)|0)>>>0<2040){y=vq(65536)|0;c[e>>2]=h+23;wt(y,47001,e)|0;va(y|0);zq(y)}else Jg(47097,9);Mg(47124,bu(h)|0,0);zq(h);Ia=d;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;c[537424]=1;if(b|0?a[b>>0]|0:0){g=vq(16384)|0;Wh(f);Xh(b,bu(b)|0,g,f)|0;wq(c[c[26544]>>2]|0,0,65538);Nl(g,c[c[26544]>>2]|0,65537)|0;zq(g);ch()}if(!d){c[537424]=0;Ia=e;return}g=a[d>>0]|0;if(!(g<<24>>24)){c[537424]=0;Ia=e;return}f=g;g=d;d=0;while(1){b=Vh(f)|0;h=g+1|0;i=b&15;j=(b>>>4&3)+1|0;if((j|0)==4){b=a[h>>0]|0;if(!(b<<24>>24)){k=h;l=4}else{k=g+2|0;l=(Vh(b)|0)+4|0}}else{k=h;l=j}if((l|0)>0&(d|0)<16384){j=i&255;i=d;h=l;while(1){a[(c[(c[(c[26544]|0)+4>>2]|0)+12>>2]|0)+i>>0]=j;b=i+1|0;if((h|0)>1&(i|0)<16383){i=b;h=h+-1|0}else{m=b;break}}}else m=d;f=a[k>>0]|0;if(!(f<<24>>24))break;else{g=k;d=m}}Fh(c[26544]|0);c[537424]=0;Ia=e;return}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;f=c[a+16>>2]|0;g=a+8|0;h=c[g>>2]|0;do if(((c[a+24>>2]|0)-h>>3|0)<=(b|0)){if(((h-(c[a+28>>2]|0)>>3)+5|0)>(1e6-b|0)){i=0;Ia=d;return i|0}if(!(xc(a,2,e)|0)){j=c[g>>2]|0;k=c[e>>2]|0;break}else{i=0;Ia=d;return i|0}}else{j=h;k=b}while(0);b=f+4|0;f=j+(k<<3)|0;if((c[b>>2]|0)>>>0>=f>>>0){i=1;Ia=d;return i|0}c[b>>2]=f;i=1;Ia=d;return i|0}function wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)yc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){zc(a,1000200);Ac(a,47184,d)}else{zc(a,b);Ia=d;return}}function xc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Ia;Ia=Ia+176|0;g=4;h=Ys(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Sv(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Tv(c[p>>2]|0,h|0,g|0)|0;if(!q)Da(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Tv(c[p>>2]|0,h|0,g|0)|0;if(!t)Da(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Zs(h|0);Ia=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Zs(h|0);Ia=f;return v|0}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Da(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];yc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();La[d&255](b)|0;ja()}function zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)Lc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Pa[c[k>>2]&3](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);o=Pa[c[k>>2]&3](c[m>>2]|0,f,i,j)|0;if(!o)yc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;Cc(a,Bc(a,b,f)|0);Dc(a)}function Bc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Ia;Ia=Ia+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=nu(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=o;u=q;v=l;w=d;x=0;y=p;a:while(1){if((y|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(t-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}zc(b,C);D=c[n>>2]|0}else D=u;c[n>>2]=D+8;C=xd(b,w,v-w|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[v+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?104822:z;z=bu(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=xd(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=bd(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=wt(k,47853,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=xd(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=bd(b,73254,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=x+2|0;H=v+2|0;F=nu(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=I;u=I;v=F;w=H;x=G;y=J}}if((A|0)==5)yc(b,6);else if((A|0)==7){zc(b,1000200);Ac(b,47184,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;Ac(b,47858,h)}else if((A|0)==18){K=I;L=I;M=H;N=G;O=J;break}}else{K=o;L=q;M=d;N=0;O=p}while(0);do if((O|0)<16){p=c[b+32>>2]|0;if((p|0)>1e6)yc(b,6);d=(K-(c[b+28>>2]|0)>>3)+6|0;q=p<<1;p=(q|0)<1e6?q:1e6;q=(p|0)<(d|0)?d:p;if((q|0)>1e6){zc(b,1000200);Ac(b,47184,g)}else{zc(b,q);P=c[n>>2]|0;break}}else P=L;while(0);L=bu(M)|0;c[n>>2]=P+8;g=xd(b,M,L)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!N){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}Rc(b,N|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Ia;Ia=Ia+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ia=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=bu(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Vv(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[74024]|0;a[g+1>>0]=a[74025]|0;a[g+2>>0]=a[74026]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Vv(g|0,i+1|0,j|0)|0;break a}break}default:{l=nu(i,10)|0;m=g;n=47837;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Vv(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Vv(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[74024]|0;a[s+1>>0]=a[74025]|0;a[s+2>>0]=a[74026]|0;r=s+3|0};a[r>>0]=a[47847]|0;a[r+1>>0]=a[47848]|0;a[r+2>>0]=a[47849]|0;break a}}}while(0);c[f>>2]=d;wd(b,47850,f)|0;c[554351]=k;Ia=e;return}function Dc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+68>>2]|0;if(!d)yc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)yc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)Ac(a,47199,e);if((h&65535)>224)yc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(Ec(a,g,1)|0))Fc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;yc(a,2)}function Ec(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,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=Ia;Ia=Ia+32|0;i=h+24|0;j=h+16|0;k=h+8|0;l=h;m=e+28|0;n=e+12|0;o=e+8|0;p=e+24|0;q=e+32|0;r=f;a:while(1){s=c[m>>2]|0;t=r-s|0;f=c[r+4>>2]|0;u=(f&63)+-6|0;switch(u>>>4|u<<28|0){case 3:{v=3;break a;break}case 1:{v=6;break a;break}case 2:{v=7;break a;break}case 0:{v=33;break a;break}default:{}}switch(f&15){case 5:{w=(c[r>>2]|0)+8|0;break}case 7:{w=(c[r>>2]|0)+8|0;break}default:w=(c[n>>2]|0)+276+((f&15)<<2)|0}f=c[w>>2]|0;b:do if(!f)x=2217396;else{u=c[(c[n>>2]|0)+272>>2]|0;y=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[u+8>>2])*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(u|0):0)break;z=c[y+16>>2]|0;if(!z){x=2217396;break b}else y=z}x=y}while(0);f=x+4|0;if((c[f>>2]&15|0)!=6){v=77;break}u=c[o>>2]|0;if(u>>>0>r>>>0){z=u;do{A=z;z=z+-8|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[A+-4>>2]}while(z>>>0>r>>>0);B=c[o>>2]|0}else B=u;z=B+8|0;c[o>>2]=z;A=z;if(((c[p>>2]|0)-A|0)<8){z=c[q>>2]|0;if((z|0)>1e6){v=84;break}C=(A-(c[m>>2]|0)>>3)+5|0;A=z<<1;z=(A|0)<1e6?A:1e6;A=(z|0)<(C|0)?C:z;if((A|0)>1e6){v=86;break}zc(e,A)}A=(c[m>>2]|0)+t|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[f>>2];r=A}if((v|0)==3){c[e+112>>2]=((c[o>>2]|0)-r>>3)+-1;c[r>>2]=La[c[r>>2]&255](e)|0;c[r+4>>2]=3;c[o>>2]=r+8;if((g|0)<=1){D=1;Ia=h;return D|0}x=r;B=g;while(1){c[x+12>>2]=0;if((B|0)>2){x=x+8|0;B=B+-1|0}else{D=1;break}}Ia=h;return D|0}else if((v|0)==6)E=r;else if((v|0)==7)E=(c[r>>2]|0)+12|0;else if((v|0)==33){B=c[(c[r>>2]|0)+12>>2]|0;x=c[o>>2]|0;w=x-r>>3;A=w+-1|0;z=B+78|0;C=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(C|0)){F=c[q>>2]|0;if((F|0)>1e6)yc(e,6);G=(x-s>>3)+5+C|0;H=F<<1;F=(H|0)<1e6?H:1e6;H=(F|0)<(G|0)?G:F;if((H|0)>1e6){zc(e,1000200);Ac(e,47184,k)}else{zc(e,H);break}}while(0);k=a[B+76>>0]|0;C=k&255;if((w|0)>(C|0))I=A;else{w=c[o>>2]|0;x=A;do{A=w;w=w+8|0;c[A+4>>2]=0;x=x+1|0}while((x|0)<(C|0));c[o>>2]=w;I=x}if(!(a[B+77>>0]|0)){x=(c[m>>2]|0)+t|0;J=x+8|0;K=x}else{x=c[o>>2]|0;w=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(w|0)){A=c[q>>2]|0;if((A|0)>1e6)yc(e,6);H=w+5+(x-(c[m>>2]|0)>>3)|0;F=A<<1;A=(F|0)<1e6?F:1e6;F=(A|0)<(H|0)?H:A;if((F|0)>1e6){zc(e,1000200);Ac(e,47184,j)}else{zc(e,F);L=c[o>>2]|0;break}}else L=x;while(0);x=0-I|0;I=L+(x<<3)|0;if(k<<24>>24?(c[o>>2]=L+8,c[L>>2]=c[I>>2],j=L+(x<<3)+4|0,c[L+4>>2]=c[j>>2],c[j>>2]=0,k<<24>>24!=1):0){k=1;do{j=c[o>>2]|0;x=I+(k<<3)|0;c[o>>2]=j+8;c[j>>2]=c[x>>2];w=x+4|0;c[j+4>>2]=c[w>>2];c[w>>2]=0;k=k+1|0}while((k|0)!=(C|0))}J=L;K=(c[m>>2]|0)+t|0}L=e+16|0;C=c[(c[L>>2]|0)+12>>2]|0;if(!C){k=c[n>>2]|0;I=k+4|0;w=Pa[c[k>>2]&3](c[I>>2]|0,0,0,40)|0;if(!w){if(!(a[k+51>>0]|0))yc(e,4);Kc(e,1);j=Pa[c[k>>2]&3](c[I>>2]|0,0,0,40)|0;if(!j)yc(e,4);else M=j}else M=w;w=k+12|0;c[w>>2]=(c[w>>2]|0)+40;w=c[L>>2]|0;c[w+12>>2]=M;c[M+8>>2]=w;c[M+12>>2]=0;N=M}else N=C;c[L>>2]=N;b[N+16>>1]=g;c[N>>2]=K;c[N+24>>2]=J;K=J+(d[z>>0]<<3)|0;c[N+4>>2]=K;c[N+28>>2]=c[B+12>>2];a[N+18>>0]=1;c[o>>2]=K;K=c[n>>2]|0;N=K+12|0;B=c[N>>2]|0;if((B|0)<=0){D=0;Ia=h;return D|0}if(!(a[K+51>>0]|0)){z=K+8|0;c[z>>2]=B+1600+(c[z>>2]|0);c[N>>2]=-1600;D=0;Ia=h;return D|0}else{Oc(e);D=0;Ia=h;return D|0}}else if((v|0)==77)dd(e,r,47832);else if((v|0)==84)yc(e,6);else if((v|0)==86){zc(e,1000200);Ac(e,47184,i)}i=c[E>>2]|0;E=c[o>>2]|0;c[e+112>>2]=(E-r>>3)+-1;do if(((c[p>>2]|0)-E|0)<168){r=c[q>>2]|0;if((r|0)>1e6)yc(e,6);v=(E-s>>3)+25|0;N=r<<1;r=(N|0)<1e6?N:1e6;N=(r|0)<(v|0)?v:r;if((N|0)>1e6){zc(e,1000200);Ac(e,47184,l)}else{zc(e,N);break}}while(0);l=e+16|0;s=c[(c[l>>2]|0)+12>>2]|0;if(!s){E=c[n>>2]|0;q=E+4|0;p=Pa[c[E>>2]&3](c[q>>2]|0,0,0,40)|0;if(!p){if(!(a[E+51>>0]|0))yc(e,4);Kc(e,1);N=Pa[c[E>>2]&3](c[q>>2]|0,0,0,40)|0;if(!N)yc(e,4);else O=N}else O=p;p=E+12|0;c[p>>2]=(c[p>>2]|0)+40;p=c[l>>2]|0;c[p+12>>2]=O;c[O+8>>2]=p;c[O+12>>2]=0;P=O}else P=s;c[l>>2]=P;b[P+16>>1]=g;c[P>>2]=(c[m>>2]|0)+t;c[P+4>>2]=(c[o>>2]|0)+160;a[P+18>>0]=0;P=c[n>>2]|0;n=P+12|0;t=c[n>>2]|0;do if((t|0)>0)if(!(a[P+51>>0]|0)){m=P+8|0;c[m>>2]=t+1600+(c[m>>2]|0);c[n>>2]=-1600;break}else{Oc(e);break}while(0);n=La[i&255](e)|0;e=c[o>>2]|0;i=c[l>>2]|0;t=c[i>>2]|0;P=b[i+16>>1]|0;c[l>>2]=c[i+8>>2];c:do if(P<<16>>16){i=P<<16>>16;l=0-n|0;if((l|0)<0){m=e+(l<<3)|0;l=i;g=t;while(1){s=g+8|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];O=l+-1|0;if(!O){Q=s;break c}m=m+8|0;if(m>>>0>=(c[o>>2]|0)>>>0){R=O;S=s;break}else{l=O;g=s}}}else{R=i;S=t}if((R|0)>0){g=R;l=S;while(1){m=l+8|0;c[l+4>>2]=0;if((g|0)>1){g=g+-1|0;l=m}else{Q=m;break}}}else Q=S}else Q=t;while(0);c[o>>2]=Q;D=1;Ia=h;return D|0} 141 + function Si(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;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=i;l=c[g>>2]|0}else{h=Gd(g)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0}else{g=Gd(h)|0;m=c[b>>2]|0;n=g}if((m|0)>3){g=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[g+4>>2]|0)==3){o=n;p=c[g>>2]|0;q=j;r=l;break}else{o=n;p=Gd(g)|0;q=j;r=l;break}}else{o=n;p=0;q=j;r=l}}else{o=0;p=0;q=j;r=l}}else{o=0;p=0;q=j;r=0}}else{o=0;p=0;q=0;r=0}while(0);c[781044]=0;j=qk(a,5)|0;a=c[781030]<<16;l=q-a>>16;q=c[781031]<<16;n=r-q>>16;r=o-a>>16;a=p-q>>16;q=(r|0)<(l|0);p=q?r:l;o=q?l:r;r=(a|0)<(n|0);l=r?a:n;q=r?n:a;a=c[742782]|0;do if(!(c[781044]|0)){n=c[a+28>>2]|0;r=(p|0)>(n|0)?p:n;n=(c[a+32>>2]|0)+-1|0;m=(o|0)<(n|0)?o:n;n=c[a+36>>2]|0;b=(l|0)>(n|0)?l:n;n=(c[a+40>>2]|0)+-1|0;k=(q|0)<(n|0)?q:n;if((m|0)<(r|0)|(k|0)<(b|0))return 0;if((m-r|0)<8&(k-b|0)>4){n=Kk(a,r,b,k,j)|0;if((m|0)<=(r|0)){s=n;break}i=n;n=r;while(1){n=n+1|0;d=(Kk(c[742782]|0,n,b,k,j)|0)+i|0;if((n|0)>=(m|0)){s=d;break}else i=d}}else{i=xk(a,r,m,b,j)|0;if((k|0)<=(b|0)){s=i;break}n=i;i=b;while(1){i=i+1|0;d=(xk(c[742782]|0,r,m,i,j)|0)+n|0;if((i|0)>=(k|0)){s=d;break}else n=d}}}else{n=Ck(a,-1,-1,128,l+-1|0,j)|0;k=(Ck(c[742782]|0,-1,q+1|0,128,128,j)|0)+n|0;n=k+(Ck(c[742782]|0,-1,l,p+-1|0,q,j)|0)|0;s=n+(Ck(c[742782]|0,o+1|0,l,128,q,j)|0)|0}while(0);jh((s|0)/16|0);return 0}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[742782]|0;if((yd(a)|0)<2)return 0;if(!(Ed(a,1)|0))d=0;else d=(Fd(a,1,0)|0)>>16;if(!(Ed(a,2)|0))e=0;else e=(Fd(a,2,0)|0)>>16;if(!(Ed(a,3)|0))f=0;else f=(Fd(a,3,0)|0)>>16;if(!(Ed(a,4)|0))g=0;else g=(Fd(a,4,0)|0)>>16;if(!(Ed(a,5)|0))h=0;else h=(Fd(a,5,0)|0)>>16;i=pk(a,6,1)|0;a=d-(c[781030]|0)<<16>>16;d=e-(c[781031]|0)<<16>>16;if((f|0)<1|(g|0)<1)return 0;e=((((f|0)<(g|0)?f:g)|0)/2|0)+-1|0;j=(h|0)<(e|0)?h:e;if((j|0)<1){e=a+f+-1|0;h=d+g|0;k=h+-1|0;l=Ik(b,a,d,e,d,i)|0;if((k|0)==(d|0))m=l;else m=(Ik(b,a,k,e,k,i)|0)+l|0;l=k-d|0;k=d+1|0;n=h+-2|0;if((((l|0)<0?0-l|0:l)|0)>1){l=(Ik(b,a,k,a,n,i)|0)+m|0;o=l+(Ik(b,e,k,e,n,i)|0)|0}else o=m;jh((o|0)/2|0);return 0}else{o=j<<1;m=o+2|0;n=-2-o|0;o=Fk(b,a,d,a+m|0,d+m|0,f+-1+n|0,g+-1+n|0,i)|0;n=j+2|0;j=a+n|0;m=a+f|0;f=m-n|0;e=f+-1|0;k=d+n|0;l=d+g|0;g=l-n|0;n=g+-1|0;h=l+-1|0;if((f|0)>(j|0)){f=(Ik(b,j,d,e,d,i)|0)+o|0;p=f+(Ik(b,j,h,e,h,i)|0)|0}else p=o;o=m+-1|0;if((g|0)>(k|0)){g=(Ik(b,a,k,a,n,i)|0)+p|0;q=g+(Ik(b,o,k,o,n,i)|0)|0}else q=p;jh((q|0)/2|0);return 0}return 0}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[742782]|0;if((yd(a)|0)<2)return 0;if(!(Ed(a,1)|0))d=0;else d=(Fd(a,1,0)|0)>>16;if(!(Ed(a,2)|0))e=0;else e=(Fd(a,2,0)|0)>>16;if(!(Ed(a,3)|0))f=0;else f=(Fd(a,3,0)|0)>>16;if(!(Ed(a,4)|0))g=0;else g=(Fd(a,4,0)|0)>>16;if(!(Ed(a,5)|0))h=0;else h=(Fd(a,5,0)|0)>>16;i=d-(c[781030]|0)<<16>>16;d=e-(c[781031]|0)<<16>>16;c[781044]=0;e=pk(a,6,1)|0;if((f|0)<1|(g|0)<1){if(!(c[781044]|0))return 0;jh((Ck(b,0,0,(c[b>>2]|0)+-1|0,(c[b+4>>2]|0)+-1|0,e)|0)/16|0);return 0}a=((((f|0)<(g|0)?f:g)|0)/2|0)+-1|0;j=(h|0)<(a|0)?h:a;a=(c[781044]|0)==0?1:2;if((j|0)>=1){h=j<<1;k=h+2|0;l=-2-h|0;h=f+-1|0;m=Gk(b,i,d,i+k|0,d+k|0,h+l|0,g+-1+l|0,e)|0;l=d+(j+2)|0;k=d+g+(-2-j)|0;if((l|0)<(k|0)){j=h+i|0;h=m;n=l;while(1){l=(Qa[a&3](b,i,j,n,e)|0)+h|0;n=n+1|0;if((n|0)>=(k|0)){o=l;break}else h=l}}else o=m;jh((o|0)/16|0);return 0}o=d+g|0;g=f+-1+i|0;f=0;m=d;do{f=(Qa[a&3](b,i,g,m,e)|0)+f|0;m=m+1|0}while((m|0)<(o|0));if(!(c[781044]|0))p=f;else{m=(Ck(b,-1,-1,c[b>>2]|0,d+-1|0,e)|0)+f|0;p=m+(Ck(b,-1,o,c[b>>2]|0,c[b+4>>2]|0,e)|0)|0}jh((p|0)/16|0);return 0}function Vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=yd(b)|0;if((d|0)<2)return 0;e=Fd(b,1,0)|0;f=Fd(b,2,0)|0;if((d|0)!=2){d=Fd(b,3,0)|0;if((d|0)<0)return 0;else{g=(a[3152374]&2)==0?0:d>>>15&1;h=d>>16}}else{g=0;h=4}d=pk(b,4,1)|0;b=e-(c[781030]<<16)>>16;e=f-(c[781031]<<16)>>16;f=h+g|0;jh((zk(c[742782]|0,b-h|0,e-h|0,f+b|0,f+e|0,d)|0)/2|0);return 0}function Wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=yd(b)|0;if((d|0)<2)return 0;e=Fd(b,1,0)|0;f=Fd(b,2,0)|0;c[781044]=0;g=pk(b,4,1)|0;do if((d|0)==2){h=0;i=4}else{j=Fd(b,3,0)|0;if((j|0)>=0){h=(a[3152374]&2)==0?0:j>>>15&1;i=j>>>16;break}if(!(c[781044]|0))return 0;jh((Ck(c[742782]|0,0,0,127,127,g)|0)/16|0);return 0}while(0);b=e-(c[781030]<<16)>>16;e=f-(c[781031]<<16)>>16;f=h+i|0;jh((Ek(c[742782]|0,b-i|0,e-i|0,f+b|0,f+e|0,g)|0)/16|0);return 0}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;f=Fd(a,4,0)|0;g=pk(a,5,1)|0;a=c[781030]<<16;h=b-a>>16;b=c[781031]<<16;i=d-b>>16;d=e-a>>16;a=f-b>>16;b=(d|0)<(h|0);f=(a|0)<(i|0);jh((zk(c[742782]|0,b?d:h,f?a:i,b?h:d,f?i:a,g)|0)/2|0);return 0}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;f=Fd(a,4,0)|0;c[781044]=0;g=pk(a,5,1)|0;a=c[781030]<<16;h=b-a>>16;b=c[781031]<<16;i=d-b>>16;d=e-a>>16;a=f-b>>16;b=(d|0)<(h|0);f=(a|0)<(i|0);jh((Ek(c[742782]|0,b?d:h,f?a:i,b?h:d,f?i:a,g)|0)/16|0);return 0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(Fd(a,1,0)|0)>>16;d=(Fd(a,2,0)|0)>>16;if(!(yd(a)|0)){c[781041]=1;return 0}if((yd(a)|0)==1){c[781041]=1;pk(a,1,1)|0;return 0}do if((yd(a)|0)<4){if((yd(a)|0)==3)pk(a,3,1)|0;if(!(c[781041]&1)){e=c[781039]|0;f=c[781040]|0;c[781039]=b;c[781040]=d;g=e;h=f;break}c[781039]=b;c[781040]=d;c[781041]=0;return 0}else{f=(Fd(a,3,0)|0)>>16;e=(Fd(a,4,0)|0)>>16;c[781039]=f;c[781040]=e;c[781041]=0;g=f;h=e}while(0);e=pk(a,5,1)|0;a=c[781030]|0;f=b-a<<16>>16;b=c[781031]|0;i=d-b<<16>>16;d=g-a<<16>>16;a=h-b<<16>>16;if((f|0)==(d|0)){jh((Kk(c[742782]|0,f,i,a,e)|0)/16|0);return 0}b=c[742782]|0;if((i|0)==(a|0)){jh((xk(b,f,d,i,e)|0)/16|0);return 0}else{jh((Ik(b,f,i,d,a,e)|0)/2|0);return 0}return 0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[781045]|0;d=(b|0)==0?13:b;if((yd(a)|0)==1)c[781045]=(Fd(a,1,0)|0)>>16;if((yd(a)|0)<2){Od(a,d<<16);e=1;return e|0}b=Fd(a,1,0)|0;f=Fd(a,2,0)|0;g=Fd(a,3,0)|0;h=Fd(a,4,0)|0;if((yd(a)|0)>4)i=Fd(a,5,0)|0;else i=0;if((yd(a)|0)>5)j=Fd(a,6,0)|0;else j=0;if((yd(a)|0)>6)k=Fd(a,7,0)|0;else k=8192;if((yd(a)|0)>7)l=Fd(a,8,0)|0;else l=0;if((yd(a)|0)>8)m=(Fd(a,9,0)|0)>>16;else m=0;a=c[781030]<<16;n=c[781031]<<16;jh((Jk(c[742782]|0,b-a|0,f-n|0,g-a|0,h-n|0,i,j,k,l,m,d)|0)<<1);e=0;return e|0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=yd(a)|0;if((Cd(a,1)|0)==5){if((b|0)>1)d=(Fd(a,2,0)|0)>>16;else d=0;Nd(a);if(!(uf(a,1)|0)){e=0;return e|0}switch(d|0){case 0:{do{if((Cd(a,-2)|0)==3){f=Hd(a,-2,0)|0;g=Hd(a,-1,0)|0;h=3123880+((f&15)<<2)|0;c[h>>2]=c[h>>2]&16|g&15}zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}case 1:{do{if((Cd(a,-2)|0)==3?(g=Hd(a,-2,0)|0,h=Hd(a,-1,0)|0,c[3123944+((g&15)<<2)>>2]=h&255,h&128|0):0)nb();zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}default:{h=(d|0)==2;do{if((Cd(a,-2)|0)==3?(d=Hd(a,-2,0)|0,g=Hd(a,-1,0)|0,h):0)c[3124008+((d&15)<<2)>>2]=g&255;zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}}}if((b|0)>=2){h=(Fd(a,1,0)|0)>>>16;g=Fd(a,2,0)|0;d=g>>16;f=(Fd(a,3,0)|0)>>16;i=h&15;h=d&255;switch(f|0){case 0:{j=3123880+(i<<2)|0;k=c[j>>2]|0;c[j>>2]=k&16|d&15;l=k;break}case 1:{k=3123944+(i<<2)|0;d=c[k>>2]|0;c[k>>2]=h;if(!(g&8388608))l=d;else{nb();l=d}break}case 2:{d=3124008+(i<<2)|0;i=c[d>>2]|0;c[d>>2]=h;l=i;break}default:l=0}i=l<<16;Od(a,(f|0)==0?i&-1114112:i);e=1;return e|0}do if((b|0)==1?(Cd(a,1)|0)==3:0){i=(Fd(a,1,0)|0)>>16;if((i+1|0)>>>0<2){c[780970]=0;if((i|0)==-1){m=37;break}c[780971]=1;c[780972]=2;c[780973]=3;c[780974]=4;c[780975]=5;c[780976]=6;c[780977]=7;c[780978]=8;c[780979]=9;c[780980]=10;c[780981]=11;c[780982]=12;c[780983]=13;c[780984]=14;c[780985]=15;break}switch(i|0){case -1:{c[780986]=0;c[781002]=0;c[780987]=1;c[781003]=1;c[780988]=2;c[781004]=18;c[780989]=3;c[781005]=19;c[780990]=4;c[781006]=36;c[780991]=5;c[781007]=21;c[780992]=6;c[781008]=214;c[780993]=7;c[781009]=103;c[780994]=8;c[781010]=72;c[780995]=9;c[781011]=73;c[780996]=10;c[781012]=154;c[780997]=11;c[781013]=59;c[780998]=12;c[781014]=220;c[780999]=13;c[781015]=93;c[781e3]=14;c[781016]=142;c[781001]=15;c[781017]=239;e=0;return e|0}case 1:{c[780986]=0;c[780987]=1;c[780988]=2;c[780989]=3;c[780990]=4;c[780991]=5;c[780992]=6;c[780993]=7;c[780994]=8;c[780995]=9;c[780996]=10;c[780997]=11;c[780998]=12;c[780999]=13;c[781e3]=14;c[781001]=15;e=0;return e|0}case 2:{c[781002]=0;c[781003]=1;c[781004]=18;c[781005]=19;c[781006]=36;c[781007]=21;c[781008]=214;c[781009]=103;c[781010]=72;c[781011]=73;c[781012]=154;c[781013]=59;c[781014]=220;c[781015]=93;c[781016]=142;c[781017]=239;e=0;return e|0}default:{e=0;return e|0}}}else m=23;while(0);if((m|0)==23){c[780970]=0;m=37}if((m|0)==37){c[780986]=0;c[781002]=0;c[780971]=1;c[780987]=1;c[781003]=1;c[780972]=2;c[780988]=2;c[781004]=18;c[780973]=3;c[780989]=3;c[781005]=19;c[780974]=4;c[780990]=4;c[781006]=36;c[780975]=5;c[780991]=5;c[781007]=21;c[780976]=6;c[780992]=6;c[781008]=214;c[780977]=7;c[780993]=7;c[781009]=103;c[780978]=8;c[780994]=8;c[781010]=72;c[780979]=9;c[780995]=9;c[781011]=73;c[780980]=10;c[780996]=10;c[781012]=154;c[780981]=11;c[780997]=11;c[781013]=59;c[780982]=12;c[780998]=12;c[781014]=220;c[780983]=13;c[780999]=13;c[781015]=93;c[780984]=14;c[781e3]=14;c[781016]=142;c[780985]=15;c[781001]=15;c[781017]=239}c[780970]=16;e=0;return e|0}function aj(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=yd(a)|0;d=c[780970]|0;e=c[780971]|0;f=c[780972]|0;g=c[780973]|0;h=c[780974]|0;i=c[780975]|0;j=c[780976]|0;k=c[780977]|0;l=c[780978]|0;m=c[780979]|0;n=c[780980]|0;o=c[780981]|0;p=c[780982]|0;q=c[780983]|0;r=c[780984]|0;s=c[780985]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[780971]=e&15;c[780972]=f&15;c[780973]=g&15;c[780974]=h&15;c[780975]=i&15;c[780976]=j&15;c[780977]=k&15;c[780978]=l&15;c[780979]=m&15;c[780980]=n&15;c[780981]=o&15;c[780982]=p&15;c[780983]=q&15;c[780984]=r&15;c[780985]=s&15;c[780970]=d&15|16;Od(a,t<<16);return 1}d=Fd(a,1,0)|0;if((b|0)==1){b=c[780970]&15;c[780970]=(d|0)>-1?b:b|16;c[780971]=d>>>26&16|c[780971]&15;c[780972]=d>>>25&16|c[780972]&15;c[780973]=d>>>24&16|c[780973]&15;c[780974]=d>>>23&16|c[780974]&15;c[780975]=d>>>22&16|c[780975]&15;c[780976]=d>>>21&16|c[780976]&15;c[780977]=d>>>20&16|c[780977]&15;c[780978]=d>>>19&16|c[780978]&15;c[780979]=d>>>18&16|c[780979]&15;c[780980]=d>>>17&16|c[780980]&15;c[780981]=d>>>16&16|c[780981]&15;c[780982]=d>>>15&16|c[780982]&15;c[780983]=d>>>14&16|c[780983]&15;c[780984]=d>>>13&16|c[780984]&15;c[780985]=d>>>12&16|c[780985]&15;jh(2);Od(a,t<<16);return 1}else{t=Id(a,2)|0;b=3123880+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Vd(a,d>>>4&1);return 1}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;b=c[781038]|0;d=b>>>1&32768|b<<16|b>>>3&16384;if(!(yd(a)|0)){e=0;c[781038]=e;Od(a,d);return 1}b=Fd(a,1,0)|0;e=b<<1&65536|b>>>16|b<<3&131072|b<<5&262144;c[781038]=e;Od(a,d);return 1}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=Ia;Ia=Ia+80|0;e=d+72|0;f=d+68|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+4|0;k=d;l=(a[3152374]<<4&255)<<24>>24>>7<<24>>24;m=(Fd(b,1,0)|0)>>16;n=(Fd(b,2,0)|0)>>16;o=Fd(b,3,0)|0;p=Fd(b,4,0)|0;q=a[3152406]|0;r=q<<24>>24>-1?8192:(q&255)<<8;q=a[3152407]|0;s=q<<24>>24==0?256:q&255;q=((r>>>0>32767?65536-r|0:8192)>>>0)/(s>>>0)|0;if((yd(b)|0)>4?(Cd(b,5)|0)!=0:0)t=(Fd(b,5,0)|0)>>16;else t=s;if((yd(b)|0)>5?(Cd(b,6)|0)!=0:0)u=(Fd(b,6,0)|0)>>16;else u=q;if((yd(b)|0)>6)v=(Fd(b,7,0)|0)>>16;else v=0;if((t|0)<1|(u|0)<1){Ia=d;return 0}b=o-(c[781030]<<16)>>16;o=p-(c[781031]<<16)>>16;p=c[(c[781999]|0)+8>>2]|0;q=c[781018]|0;s=c[781019]|0;if((b|0)<(q+-7|0)){r=(q-b|0)/8|0;w=r+m|0;x=(r<<3)+b|0;y=t-r|0}else{w=m;x=b;y=t}if((o|0)<(s+-7|0)){t=(s-o|0)/8|0;z=u-t|0;A=t+n|0;C=(t<<3)+o|0}else{z=u;A=n;C=o}o=((7-q+(c[781020]|0)|0)/8|0)+1|0;q=(o|0)<(y|0)?o:y;y=((7-s+(c[781021]|0)|0)/8|0)+1|0;s=(y|0)<(z|0)?y:z;if((s|0)>0){z=(q|0)>0;y=(v|0)==0;o=g+4|0;n=0;u=0;while(1){a:do if(z){t=u+A|0;b=(u<<3)+C|0;if(y){m=n;r=0;while(1){D=Ih(r+w|0,t)|0;if((D|0)==(l|0))E=m;else{F=(r<<3)+x|0;uk(p,c[742782]|0,D<<3&120,((D|0)/16|0)<<3,F,b,8,8,3123880);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[o>>2]=8;Vn(g,c[742782]|0,h,i,j,k,e,f);F=c[e>>2]|0;D=c[f>>2]|0;G=B(D,F)|0;E=((D|F|0)<0?0:G)+m|0}r=r+1|0;if((r|0)>=(q|0)){H=E;break a}else m=E}}m=n;r=0;while(1){G=Ih(r+w|0,t)|0;if((G|0)!=(l|0)?(c[(c[781999]|0)+44832+(G<<2)>>2]&v|0)!=0:0){F=(r<<3)+x|0;uk(p,c[742782]|0,G<<3&120,((G|0)/16|0)<<3,F,b,8,8,3123880);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[o>>2]=8;Vn(g,c[742782]|0,h,i,j,k,e,f);F=c[e>>2]|0;G=c[f>>2]|0;D=B(G,F)|0;I=((G|F|0)<0?0:D)+m|0}else I=m;r=r+1|0;if((r|0)>=(q|0)){H=I;break}else m=I}}else H=n;while(0);u=u+1|0;if((u|0)>=(s|0)){J=H;break}else n=H}}else J=0;jh(J);Ia=d;return 0}function dj(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;Od(a,(Ih(b,(Fd(a,2,0)|0)>>16)|0)<<16);return 1}function ej(a){a=a|0;var b=0,c=0;b=(Fd(a,1,0)|0)>>16;c=(Fd(a,2,0)|0)>>16;Jh(b,c,(Fd(a,3,0)|0)>>>16&255);return 0}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(yd(a)|0)){b=0;return b|0}d=Fd(a,1,0)|0;e=d>>16;if((yd(a)|0)==1){if(d>>>0>16777215)f=0;else f=c[(c[781999]|0)+44832+(e<<2)>>2]<<16&16711680;Od(a,f);b=1;return b|0}f=Fd(a,2,0)|0;if(d>>>0>16777215){Vd(a,0);b=1;return b|0}if(f>>>0>524287){Vd(a,0);b=1;return b|0}else{Vd(a,(c[(c[781999]|0)+44832+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=yd(a)|0;if((b|0)<2)return 0;d=Fd(a,1,0)|0;e=d>>16;f=Fd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[781999]|0)+44832+(e<<2)>>2]=g&255;return 0}b=Id(a,3)|0;if(f>>>0>524287)return 0;f=1<<g;g=(c[781999]|0)+44832+(e<<2)|0;e=(f&255^255)&c[g>>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fd(b,1,0)|0;e=d>>16;f=Fd(b,2,0)|0;g=f>>16;if(a[3152374]&16?(f|0)>8388607|((d|0)>8388607|(f|d|0)<0):0){h=($k(2971096,c[781999]|0,24409)|0)<<16;Od(b,h);return 1}h=(ao(c[(c[781999]|0)+8>>2]|0,e,g)|0)<<16&983040;Od(b,h);return 1}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[781022]|0;d=Fd(a,1,0)|0;e=Fd(a,2,0)|0;if((yd(a)|0)>2)f=(Fd(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=$k(2971096,c[781999]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;_k(2971096,c[781999]|0,f,g);return 0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;jh(4);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}b=c[781999]|0;d=(Fd(a,1,0)|0)>>16;if((yd(a)|0)>1)e=(Fd(a,2,0)|0)>>16;else e=0;if((yd(a)|0)>2)f=(Fd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){lr(0,e);return 0}else{a=(d|0)<63?d:63;fr(b,(a|0)>0?a:0,e);c[781381]=f;return 0}return 0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;jh(4);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}if((yd(a)|0)<1){b=0;return b|0}d=Fd(a,1,0)|0;e=d>>16;if((yd(a)|0)>1){f=Fd(a,2,0)|0;if((f+131072|0)>>>0>393215){b=0;return b|0}else g=f>>16}else g=-1;if((yd(a)|0)>2)h=(Fd(a,3,0)|0)>>16;else h=0;if((yd(a)|0)>3)i=(Fd(a,4,0)|0)>>16;else i=0;if((e|0)==-1){Od(a,(Zq(0,0,0,c[781999]|0,(g|0)==-2?-1:g)|0)<<16);b=1;return b|0}f=(g|0)==-2;if((e|0)==-2){dr(f?-1:g);b=0;return b|0}if(!f){f=(e|0)<63?e:63;j=(f|0)>0?f:0;f=(h|0)<31?h:31;$q((c[781999]|0)+16+(j*680|0)|0);h=c[781999]|0;Od(a,(Zq(h+16+(j*680|0)|0,(f|0)>0?f:0,i,h,g)|0)<<16);b=1;return b|0}if(d>>>0>=4194304){b=0;return b|0}$q((c[781999]|0)+16+(e*680|0)|0);b=0;return b|0}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(Fd(a,1,0)|0)>>16;if((yd(a)|0)==2?(Cd(a,2)|0)==4:0){c=Jd(a,2,0)|0;if(!c){d=0;return d|0}if((bu(c)|0)>>>0>256){d=0;return d|0}pn(b,c);d=0;return d|0}c=(Fd(a,2,0)|0)>>16;e=(Fd(a,3,0)|0)>>13;if((yd(a)|0)>3){f=Fd(a,4,0)|0;if((f|0)>65535){g=f>>16;h=8}else i=0}else{g=1;h=8}if((h|0)==8){h=0;f=0;while(1){j=(on(b,c,e)|0)+h|0;f=f+1|0;if((f|0)==(g|0)){i=j;break}else h=j}}jh((i|0)/64|0);Od(a,i<<13);d=1;return d|0}function mj(a){a=a|0;var b=0,d=0,e=0;b=(Fd(a,1,0)|0)>>16;d=(Fd(a,2,0)|0)>>16;e=Fd(a,3,0)|0;a=e>>16;if((e|0)<65536|(b|0)==(d|0))return 0;cl(2971096,c[781999]|0,b,d,a);jh((a+1|0)/4|0);return 0}function nj(a){a=a|0;var b=0,d=0,e=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;a=e>>16;if((e|0)<65536)return 0;dl(2971096,c[781999]|0,b>>16,d>>16,a);jh((a+1|0)/4|0);return 0}function oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ia;Ia=Ia+1040|0;e=d+1032|0;f=d+1024|0;g=d+1036|0;h=d;if((yd(b)|0)>2){i=(Fd(b,1,0)|0)>>16;j=(Fd(b,2,0)|0)>>16;k=(Fd(b,3,0)|0)>>16;l=((k|0)<4096?k:4096)<<3;m=i;n=j;o=k}else{l=32768;m=0;n=0;o=17152}jh(l);if((yd(b)|0)==4?(Cd(b,4)|0)==4:0){l=Jd(b,4,g)|0;if((l|0)==0|(c[g>>2]|0)>>>0>512){Od(b,0);p=1;Ia=d;return p|0}if((a[l>>0]|0)==95?(a[l+1>>0]|0)==95:0){Od(b,0);p=1;Ia=d;return p|0}a[h>>0]=0;do if(!(kc(l,1)|0)){ds(61830,h);g=(a[l>>0]|0)==47?l+1|0:l;if((a[g>>0]|0)==47){p=0;Ia=d;return p|0}if(!(bv(g,96845)|0)){lu(h,g)|0;break}else{p=0;Ia=d;return p|0}}else{Ss(h,$b(kc(l,1)|0)|0,1023)|0;g=h+1023|0;a[g>>0]=0;k=Po(h,104528)|0;if(!k){c[f>>2]=h;wt(1715360,61838,f)|0;Cn(1715360);c[e>>2]=l;wt(1715360,61875,e)|0;Cn(1715360);Ss(h,l,1023)|0;a[g>>0]=0}Ro(k)}while(0);if(!(cc(h,m,n,o)|0)){Od(b,o<<16);p=1;Ia=d;return p|0}else{Od(b,0);p=1;Ia=d;return p|0}}el(2971096,c[781999]|0,m,n,o);Od(b,o<<16);p=1;Ia=d;return p|0}function pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+1040|0;e=d;f=d+1024|0;if((yd(b)|0)>2){g=(Fd(b,1,0)|0)>>16;h=(Fd(b,2,0)|0)>>16;i=(Fd(b,3,0)|0)>>16;j=((i|0)<4096?i:4096)<<6;k=i;l=g;m=h}else{j=262144;k=17152;l=0;m=0}jh(j);do if((yd(b)|0)>3?(Cd(b,4)|0)==4:0){j=Jd(b,4,f)|0;if((j|0)==0|(c[f>>2]|0)>>>0>512){Od(b,0);n=1;Ia=d;return n|0}if((a[j>>0]|0)==95?(a[j+1>>0]|0)==95:0){Od(b,0);n=1;Ia=d;return n|0}if(kc(j,1)|0){Ss(e,$b(kc(j,1)|0)|0,1023)|0;a[e+1023>>0]=0;o=0;p=1;break}ds(61830,e);h=(a[j>>0]|0)==47?j+1|0:j;if((a[h>>0]|0)==47){n=0;Ia=d;return n|0}if(!(bv(h,96845)|0)){lu(e,h)|0;o=0;p=0;break}else{n=0;Ia=d;return n|0}}else q=15;while(0);if((q|0)==15){Ss(e,$b(3119792)|0,1023)|0;a[e+1023>>0]=0;o=1;p=1}if(!(dc(e,l,m,k,o,p)|0)){Od(b,k<<16);n=1;Ia=d;return n|0}else{Od(b,0);n=1;Ia=d;return n|0}return 0}function qj(a){a=a|0;var b=0,c=0;if((Cd(a,1)|0)==5){Od(a,((Al((Ld(a,1)|0)<<8)|0)>>>8<<16)+65536|0);Xd(a,-2);jh(4);return 1}if((yd(a)|0)>0)b=Fd(a,1,0)|0;else b=65536;c=Al(b)|0;jh(4);Od(a,c);return 1}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);zl(g&2147483647);return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return g+65535&-65536|0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return g>>31&-131072|65536|0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;if((b|0)>0){d=c[a+8>>2]|0;a=0-b|0;b=d+(a<<3)|0;if((c[d+(a<<3)+4>>2]|0)==3)e=c[b>>2]|0;else e=Gd(b)|0;if((e|0)==-2147483648){f=2147483647;return f|0}else g=(e|0)<0?0-e|0:e}else g=0;f=g;return f|0}function vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0}else{h=Gd(d)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[f>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=l;n=c[h>>2]|0;break}else{m=l;n=Gd(h)|0;break}}else{m=l;n=0}}else{m=0;n=0}while(0);l=(j|0)<(m|0);k=(j|0)<(n|0);if(l&k){e=(m|0)<(n|0)?m:n;return e|0}if(!((m|0)<(j|0)&(m|0)<(n|0)))return (l?j:m)|0;e=k?j:n;return e|0}function wj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return up(g)|0}function xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return vp(g)|0}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;jh(6);b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return vl(g)|0}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return wl(l,k)|0}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;if((b|0)<=0){d=0;e=~d;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=~d;return e|0}else{d=Gd(b)|0;e=~d;return e|0}return 0}function Bj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;if((b|0)<=0){d=0;e=d&-65536;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=d&-65536;return e|0}else{d=Gd(b)|0;e=d&-65536;return e|0}return 0}function Cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e&f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e&f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e&f;return g|0}else{e=Gd(d)|0;f=l;g=e&f;return g|0}return 0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e|f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e|f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e|f;return g|0}else{e=Gd(d)|0;f=l;g=e|f;return g|0}return 0}function Ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e^f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e^f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e^f;return g|0}else{e=Gd(d)|0;f=l;g=e^f;return g|0}return 0}function Fj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return El(l,k)|0}function Gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Fl(l,k)|0}function Hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Dl(l,k)|0}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Bl(l,k)|0}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Cl(l,k)|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0;break}else{h=Gd(d)|0;k=c[b>>2]|0;l=h;break}}else{k=i;l=0}while(0);if((j|0)<(l|0)){if((k|0)<=0){e=0;return e|0}l=c[f>>2]|0;j=0-k|0;i=l+(j<<3)|0;if((c[l+(j<<3)+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}else{if((k|0)<=1){e=0;return e|0}i=(c[f>>2]|0)+(0-k<<3)+8|0;if((c[i+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}return 0}function Lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0;break}else{h=Gd(d)|0;k=c[b>>2]|0;l=h;break}}else{k=i;l=0}while(0);if((j|0)>(l|0)){if((k|0)<=0){e=0;return e|0}l=c[f>>2]|0;j=0-k|0;i=l+(j<<3)|0;if((c[l+(j<<3)+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}else{if((k|0)<=1){e=0;return e|0}i=(c[f>>2]|0)+(0-k<<3)+8|0;if((c[i+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}return 0}function Mj(a){a=a|0;var b=0,d=0,e=0,f=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{Od(a,($k(2971096,c[781999]|0,f+b|0)|0)<<16);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{g=(f<<1)+b|0;h=($k(2971096,c[781999]|0,g)|0)<<16;Od(a,(($k(2971096,c[781999]|0,g+1|0)|0)<<24)+h|0);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{g=(f<<2)+b|0;h=$k(2971096,c[781999]|0,g)|0;i=(($k(2971096,c[781999]|0,g+1|0)|0)<<8)+h|0;h=i+(($k(2971096,c[781999]|0,g+2|0)|0)<<16)|0;Od(a,h+(($k(2971096,c[781999]|0,g+3|0)|0)<<24)|0);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=l>>16;m=i+e|0;if((m&-8192|0)==24576){n=m+-24576|0;o=n>>6;p=n<<1&126;a[(c[(c[(c[742782]|0)+16>>2]|0)+(o<<2)>>2]|0)+p>>0]=f&15;a[(c[(c[(c[742782]|0)+16>>2]|0)+(o<<2)>>2]|0)+(p|1)>>0]=l>>>20&15}else _k(2971096,c[781999]|0,m,f);if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Qj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=l>>16;m=(i<<1)+e|0;if((m+-24576|0)>>>0<8191){n=(c[(c[742782]|0)+12>>2]|0)+((m<<1)+-49152)|0;a[n>>0]=f&15;o=n+1|0;a[o>>0]=f>>>4&15;n=o+1|0;a[n>>0]=f>>>8&15;a[n+1>>0]=f>>>12&15}else{_k(2971096,c[781999]|0,m,f&255);_k(2971096,c[781999]|0,m+1|0,f>>>8&255)}if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=(i<<2)+e|0;if((f+-24576|0)>>>0<8189){m=(c[(c[742782]|0)+12>>2]|0)+((f<<1)+-49152)|0;a[m>>0]=l&15;n=m+1|0;a[n>>0]=l>>>4&15;m=n+1|0;a[m>>0]=l>>>8&15;n=m+1|0;a[n>>0]=l>>>12&15;m=n+1|0;a[m>>0]=l>>>16&15;n=m+1|0;a[n>>0]=l>>>20&15;m=n+1|0;a[m>>0]=l>>>24&15;a[m+1>>0]=l>>>28}else{_k(2971096,c[781999]|0,f,l&255);_k(2971096,c[781999]|0,f+1|0,l>>>8&255);_k(2971096,c[781999]|0,f+2|0,l>>>16&255);_k(2971096,c[781999]|0,f+3|0,l>>>24)}if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Sj(a){a=a|0;var b=0,d=0;b=c[742775]|0;d=Rv(b|0,((b|0)<0)<<31>>31|0,16)|0;b=Lv(d|0,G()|0,60,0)|0;G()|0;Od(a,b);return 1}function Tj(a){a=a|0;if(!(c[554381]|0))fb(61775,2e3);c[554381]=1;Nd(a);Od(a,0);return 2}function Uj(a){a=a|0;return 0}function Vj(a){a=a|0;c[798462]=1;ok(a,0);return 1}function Wj(a){a=a|0;c[798462]=1;ok(a,1);return 1}function Xj(b){b=b|0;var c=0,d=0;c=Fd(b,1,0)|0;d=c>>>16&255;if((d+-1|0)>>>0>4)return 0;a[3127988+d>>0]=c>>>24;c=Jd(b,2,0)|0;if(c|0?(bu(c)|0)>>>0<=63:0){Ss(3127598+(d<<6)|0,c,63)|0;a[3127598+(d<<6)+63>>0]=0;return 0}a[3127598+(d<<6)>>0]=0;return 0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=255;if((yd(a)|0)<=0){e=0;Ia=b;return e|0}f=Jd(a,1,d)|0;if((f|0)==0|(c[d>>2]|0)>>>0>64){e=0;Ia=b;return e|0}d=am(f)|0;jh(32);Vd(a,(d|0)==0&1);e=1;Ia=b;return e|0}function Zj(b){b=b|0;var d=0,e=0;d=Fd(b,1,0)|0;if(!(a[3120180]|0)){Cb(61745)|0;e=0;return e|0}if(d>>>0>4194303){Od(b,0);e=1;return e|0}else{Od(b,c[3120248+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function _j(b){b=b|0;var d=0,e=0;d=Fd(b,1,0)|0;e=Fd(b,2,0)|0;if(!(a[3120180]|0)){Cb(61715)|0;return 0}if(d>>>0>4194303)return 0;b=3120248+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[798463]=1;c[b>>2]=e;return 0}function $j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=Ia;Ia=Ia+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;jh(16);a:do if((yd(b)|0)>0){k=(Fd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{sf(c[554360]|0,2,0)|0;m=(c[798390]|0)+(c[781046]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=(n|0)>0?n:0;p=0;l=15;break a;break}case 2:{q=Wg(Qg(1)|0)|0;r=2;l=85;break a;break}default:{n=(k|0)==3?c[798931]<<16:0;switch(k|0){case 5:{q=2818048;r=k;l=85;break a;break}case 4:{qs();m=c[485560]|0;if(!m){Pd(b,3196396,0)|0;Ia=d;return 1}else{s=xq((bu(m)|0)+16|0)|0;Ls(c[485560]|0,s)|0;Pd(b,s,bu(s)|0)|0;zq(s);Ia=d;return 1}break}case 6:{s=bu(3125548)|0;Pd(b,3125548,s>>>0<1024?s:1024)|0;Ia=d;return 1}case 7:{q=c[798454]<<16;r=7;l=85;break a;break}case 9:{q=(Cr()|0)<<16;r=9;l=85;break a;break}case 11:{q=(Ok()|0)<<16;r=11;l=85;break a;break}case 13:{vb();q=4128768-((((c[485556]<<3)+8|0)/2|0)<<16)|0;r=13;l=85;break a;break}default:{o=n;p=k;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=Wg(Qg(0)|0)|0;p=1;l=15}b:do if((l|0)==15)switch(p|0){case 12:{q=1507328;r=p;l=85;break b;break}case 14:{q=6815744;r=p;l=85;break b;break}case 15:{vb();t=((((c[485556]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{k=(p|0)==10?c[798392]<<16:(p|0)==8?c[798455]<<16:o;if((p+-16|0)>>>0<11)u=bi(p)|0;else u=k;if((p+-46|0)>>>0<11){k=bi(p)|0;if((k|0)==-65536)v=bi(p+-30|0)|0;else v=k}else if((p|0)==29){t=_r()|0;break b}else v=u;k=(p|0)==30;n=(p|0)==31;s=(p|0)==28;switch(p|0){case 28:case 30:case 31:{if(!(($k(2971096,c[781999]|0,24365)|0)&1)){if(k)Vd(b,0);if(n)Pd(b,3196396,0)|0;if(!s){Ia=d;return 1}Vd(b,0);Ia=d;return 1}qs();if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0){if(!(c[798389]|0))fb(61568,2e3);c[798389]=1}if(s)if((Cd(b,2)|0)==3){Vd(b,(qo((Fd(b,2,0)|0)>>16)|0)!=0&1);Ia=d;return 1}else{Od(b,0);Ia=d;return 1}if(k){Vd(b,(c[798930]|0)>0&1);Ia=d;return 1}if(n){if(!(c[798930]|0)){Pd(b,3196396,0)|0;Ia=d;return 1}Pd(b,3195464,1)|0;n=0;do{k=n;n=n+1|0;a[3195464+k>>0]=a[3195464+n>>0]|0}while((n|0)!=255);c[798930]=(c[798930]|0)+-1;Ia=d;return 1}else w=v;break}default:if((p+-32|0)>>>0<9?(($k(2971096,c[781999]|0,24365)|0)&1|0)!=0:0){if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0){if(!(c[798389]|0))fb(61592,2e3);c[798389]=1}cs(f,g,h);n=(p|0)==36?c[781304]|0:(p|0)==35?c[781303]|0:(p|0)==34?c[h>>2]|0:(p|0)==33?c[g>>2]|0:(p|0)==32?c[f>>2]|0:v;if(!(($k(2971096,c[781999]|0,24365)|0)&4))x=n;else x=(p|0)==39?c[781306]|0:(p|0)==38?c[781305]|0:n;w=x<<16}else w=v}switch(p|0){case 37:{n=c[781042]<<16;c[781042]=0;t=n;break b;break}case 57:{Vd(b,(nr()|0)!=0&1);Ia=d;return 1}default:{if((p&-8|0)==64){Nd(b);Ia=d;return 1}do if((p+-80|0)>>>0>=6){if((p+-90|0)>>>0<6){Ir(i,1);y=((p|0)==95?c[i+24>>2]|0:(p|0)==94?c[i+20>>2]|0:(p|0)==93?c[i+16>>2]|0:(p|0)==92?c[i+12>>2]|0:(p|0)==91?c[i+8>>2]|0:(p|0)==90?c[i+4>>2]|0:w)<<16;break}if((p|0)==99){n=(c[798390]|0)+(c[781046]|0)|0;k=((n|0)<2097152?n:2097152)<<6;t=(k|0)>0?k:0;break b}else y=w}else{Ir(i,0);y=((p|0)==85?c[i+24>>2]|0:(p|0)==84?c[i+20>>2]|0:(p|0)==83?c[i+16>>2]|0:(p|0)==82?c[i+12>>2]|0:(p|0)==81?c[i+8>>2]|0:(p|0)==80?c[i+4>>2]|0:w)<<16}while(0);switch(p|0){case 100:{if(!(Eg()|0)){Nd(b);Ia=d;return 1}else{k=Eg()|0;Pd(b,k,bu(Eg()|0)|0)|0;Ia=d;return 1}break}case 101:{if((a[3120504]|0)!=0&(c[780901]|0)!=0){Pd(b,3120504,bu(3120504)|0)|0;Ia=d;return 1}else{Nd(b);Ia=d;return 1}break}case 102:{k=la(22,0)|0;n=k;if(!k){Nd(b);Ia=d;return 1}else{Pd(b,n,bu(n)|0)|0;Ia=d;return 1}break}case 103:{Pd(b,3119833,bu(3119833)|0)|0;Ia=d;return 1}case 104:{Vd(b,0);Ia=d;return 1}case 106:{c[e>>2]=3125548;c[e+4>>2]=3119833;wt(1719968,104363,e)|0;Gq(1719968,bu(1719968)|0,j)|0;Pd(b,j,bu(j)|0)|0;Ia=d;return 1}case 107:{t=c[484720]<<16;break b;break}default:{if((p|0)!=109){q=(p|0)==108?c[554800]<<16:y;r=p;l=85;break b}t=((c[555260]|0)/4|0)<<16;break b}}}}}}while(0);c:do if((l|0)==85)switch(r|0){case 110:{Vd(b,c[485657]|0);Ia=d;return 1}case 111:{t=((c[555260]|0)/4|0)<<16|256;break c;break}case 120:{Vd(b,(un()|0)>0&1);Ia=d;return 1}case 121:{Vd(b,(vn()|0)>0&1);Ia=d;return 1}case 122:{Vd(b,c[536395]|0);Ia=d;return 1}case 124:{Qd(b,3196396)|0;Ia=d;return 1}default:{p=r+-190|0;if(p>>>0>=4){t=q;break c}t=(c[3193536+(p<<2)>>2]|0)!=0&1;break c}}while(0);Od(b,t);Ia=d;return 1}function ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=0;e=Jd(a,1,d)|0;f=c[d>>2]|0;if(!e){g=0;Ia=b;return g|0}if((yd(a)|0)>1)h=(Fd(a,2,0)|0)>>16;else h=1;if((yd(a)|0)>2?(Cd(a,3)|0)==3:0)i=(Fd(a,3,0)|0)>>16;else i=f;d=f+1|0;j=((h|0)<0?d:0)+h|0;h=((i|0)<0?d:0)+i|0;if((j|0)>(f|0)|((h|0)<(j|0)|(h|0)<1)){Pd(a,e,0)|0;g=1;Ia=b;return g|0}else{i=(j|0)<(f|0)?j:f;j=(i|0)>1?i:1;i=(h|0)<(f|0)?h:f;f=((i|0)>1?i:1)-j+1|0;Pd(a,e+j+-1|0,f)|0;jh((f|0)/2|0);g=1;Ia=b;return g|0}return 0}function bk(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Ia;Ia=Ia+16|0;d=c;e=yd(b)|0;if((e|0)<=16)if((e|0)>0){f=0;g=d}else{Pd(b,d,e)|0;jh(e);Ia=c;return 1}else{d=xq(e)|0;f=d;g=d}d=0;do{h=d;d=d+1|0;a[g+h>>0]=(Fd(b,d,0)|0)>>>16}while((d|0)!=(e|0));Pd(b,g,e)|0;if(!f){jh(e);Ia=c;return 1}zq(f);jh(e);Ia=c;return 1}function ck(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=32768;if((yd(b)|0)>0)f=Jd(b,1,e)|0;else f=0;if((yd(b)|0)>1)g=((Fd(b,2,0)|0)>>16)+-1|0;else g=0;if((yd(b)|0)>2){h=Fd(b,3,0)|0;if((h|0)<65536){i=0;Ia=d;return i|0}else j=h>>16}else j=1;if(!(vc(b,j)|0)){Cb(61547)|0;i=0;Ia=d;return i|0}jh(j);h=j+g|0;if((j|0)<=0){i=j;Ia=d;return i|0}if(!f){k=g;do{Nd(b);k=k+1|0}while((k|0)<(h|0));i=j;Ia=d;return i|0}k=g;do{if((k|0)>-1?k>>>0<(c[e>>2]|0)>>>0:0)Od(b,(((a[f+k>>0]|0)+256|0)%256|0)<<16);else Nd(b);k=k+1|0}while((k|0)<(h|0));i=j;Ia=d;return i|0}function dk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=0;if((yd(b)|0)<=0){i=0;Ia=d;return i|0}j=Jd(b,1,e)|0;if(!j){i=0;Ia=d;return i|0}k=c[e>>2]|0;Yd(b,0,1);jh(k);if((yd(b)|0)>2)l=Id(b,3)|0;else l=1;e=(Fd(b,3,0)|0)==2;m=e?1:l;if((Cd(b,2)|0)==3){l=(Fd(b,2,0)|0)>>16;e=(l|0)<(k|0)?l:k;l=(e|0)>1?e:1;e=vq(l+1|0)|0;a:do if((k|0)>0){if(!m){n=1;o=0;while(1){wq(e,0,l);p=k-o|0;q=(l|0)<(p|0)?l:p;Vv(e|0,j+o|0,q|0)|0;c[g>>2]=0;Pd(b,e,q)|0;_d(b,-2,n);o=o+l|0;if((k|0)<=(o|0))break a;else n=n+1|0}}n=1;o=0;while(1){wq(e,0,l);q=k-o|0;p=(l|0)<(q|0)?l:q;Vv(e|0,j+o|0,p|0)|0;c[g>>2]=0;if(!(Wc(e,bu(e)|0,g)|0))Pd(b,e,p)|0;else Od(b,c[g>>2]|0);_d(b,-2,n);o=o+l|0;if((k|0)<=(o|0))break;else n=n+1|0}}while(0);zq(e);i=1;Ia=d;return i|0}c[g>>2]=0;if((yd(b)|0)>1?(e=Jd(b,2,g)|0,l=c[g>>2]|0,!((e|0)==0|l>>>0>256)):0){r=l;s=e}else{c[g>>2]=1;r=1;s=97469}b:do if((s|0)==0|(r|0)==0){if((k|0)>0){g=f+1|0;if(!m){e=1;l=0;while(1){a[f>>0]=a[j+l>>0]|0;a[g>>0]=0;Pd(b,f,1)|0;_d(b,-2,e);l=l+1|0;if((l|0)==(k|0))break b;else e=e+1|0}}e=1;l=0;while(1){n=a[j+l>>0]|0;a[f>>0]=n;a[g>>0]=0;if((n+-48&255)<10)Od(b,(n<<24>>24<<16)+-3145728|0);else Pd(b,f,1)|0;_d(b,-2,e);l=l+1|0;if((l|0)==(k|0))break;else e=e+1|0}}}else{e=vq(k+1|0)|0;Vv(e|0,j|0,k|0)|0;c:do if(!m){l=1;g=0;while(1){n=a[s>>0]|0;o=g;while(1){t=(o|0)>=(k|0);if(t|(a[e+o>>0]|0)==n<<24>>24)break;o=o+1|0}a[e+o>>0]=0;c[h>>2]=0;Pd(b,e+g|0,o-g|0)|0;_d(b,-2,l);if(t)break c;l=l+1|0;g=o+1|0}}else{g=1;l=0;while(1){n=a[s>>0]|0;p=l;while(1){u=(p|0)>=(k|0);if(u|(a[e+p>>0]|0)==n<<24>>24)break;p=p+1|0}n=e+l|0;a[e+p>>0]=0;c[h>>2]=0;o=p-l|0;if(!(Wc(n,o,h)|0))Pd(b,n,o)|0;else Od(b,c[h>>2]|0);_d(b,-2,g);if(u)break c;g=g+1|0;l=p+1|0}}while(0);zq(e)}while(0);i=1;Ia=d;return i|0}function ek(a){a=a|0;var b=0;if(!(yd(a)|0))b=0;else b=Wf(a)|0;return b|0}function fk(a){a=a|0;var b=0,c=0;b=yd(a)|0;if((b|0)>=1){c=1;while(1){Bd(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return Gc(a,b,0,0)|0}function gk(a){a=a|0;c[742797]=1;if(c[798391]|0)return 0;c[798391]=1;return 0}function hk(b){b=b|0;var c=0,d=0,e=0;c=Fd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=3127982+(c>>>16)|0;c=a[e>>0]|0;if(!(c<<24>>24)){d=0;return d|0}Od(b,c<<24>>24<<16);a[e>>0]=0;d=1;return d|0}function ik(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;c[742775]=(c[742775]|0)+b;pl();return 0}function jk(a){a=a|0;lh();return 0}function kk(a){a=a|0;c[781379]=(Fd(a,1,0)|0)>>16;return 0}function lk(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;c[798454]=b;c[798455]=b;return 0}function mk(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[3193824+(b<<2)>>2]=Qg(0)|0;c[3193836+(b<<2)>>2]=Xr()|0;return 0}function nk(b){b=b|0;var d=0,e=0,f=0;d=Fd(b,1,0)|0;e=d>>16;f=(d|0)>65535;d=f?((e|0)<7?e:7):0;if(f){if(!(a[3152374]&1)){Vd(b,0);return 1}if((c[535873]|0)<2&(c[535874]|0)<2){if(!(c[554380]|0))qv(61449)|0;c[554380]=1}}Nk(d);Vd(b,1);return 1}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(Fd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(yd(a)|0)){e=(b|0)==0;Od(a,((((e?c[781062]|0:c[781254]|0)|0)==0?0:32768)|((((e?c[781061]|0:c[781253]|0)|0)==0?0:16384)|((((e?c[781060]|0:c[781252]|0)|0)==0?0:8192)|((((e?c[781059]|0:c[781251]|0)|0)==0?0:4096)|((((e?c[781058]|0:c[781250]|0)|0)==0?0:2048)|((((e?c[781057]|0:c[781249]|0)|0)==0?0:1024)|((((e?c[781056]|0:c[781248]|0)|0)==0?0:512)|((((e?c[781055]|0:c[781247]|0)|0)==0?0:256)|((((e?c[781054]|0:c[781246]|0)|0)==0?0:128)|((((e?c[781053]|0:c[781245]|0)|0)==0?0:64)|((((e?c[781052]|0:c[781244]|0)|0)==0?0:32)|((((e?c[781051]|0:c[781243]|0)|0)==0?0:16)|((((e?c[781050]|0:c[781242]|0)|0)==0?0:8)|((((e?c[781049]|0:c[781241]|0)|0)==0?0:4)|((((e?c[781048]|0:c[781240]|0)|0)==0?0:2)|((e?c[781047]|0:c[781239]|0)|0)!=0)))))))))))))))<<16);return}if((yd(a)|0)>1)f=(Fd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[3124188+(f<<5)+(d<<2)>>2]|0;else g=c[3124956+(f<<5)+(d<<2)>>2]|0;else g=0;Vd(a,g);jh(4);return}function pk(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=c[781022]&255;if((yd(a)|0)>=(b|0)){f=Fd(a,b,0)|0;b=f>>>16&255;c[781022]=b;if(f&268435456){a=c[781043]|0;if(a&1|0?(g=f>>>8,h=g&131072|(g&65536|f&65535),c[781038]=h,f&67108864|0):0)c[781038]=h|262144;if(a&2){c[781044]=f&134217728;i=b}else i=b}else i=b}else i=e;if(!d){j=i;return j|0}d=c[3123880+((i&15)<<2)>>2]&15;if(!(c[781038]&262144)){j=c[3123880+(i>>>4<<2)>>2]<<4&240|d;return j|0}j=c[3124008+(d<<2)>>2]|0;return j|0}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+112>>2]|0;if((d|0)>=(b|0)){e=(c[a+8>>2]|0)+(0-d<<3)+(b<<3)+-8|0;if((c[e+4>>2]|0)==3)f=c[e>>2]|0;else f=Gd(e)|0;e=f>>>16&255;c[781022]=e;if(f&268435456){b=c[781043]|0;if(b&1|0?(d=f>>>8,a=d&131072|(d&65536|f&65535),c[781038]=a,f&67108864|0):0)c[781038]=a|262144;if(b&2){c[781044]=f&134217728;g=e}else g=e}else g=e}else g=c[781022]&255;e=c[3123880+((g&15)<<2)>>2]&15;if(!(c[781038]&262144)){h=c[3123880+(g>>>4<<2)>>2]<<4&240|e;return h|0}h=c[3124008+(e<<2)>>2]|0;return h|0}function rk(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=Ia;Ia=Ia+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;Yn(b);Xn(b);Vn(b,d,o,p,q,r,s,t);Zn(b);j=c[s>>2]|0;i=c[t>>2]|0;if((j|0)<1|(i|0)<1){Ia=n;return}h=(k|0)!=0;k=(l|0)!=0;if(h&k){l=b+16|0;g=d+16|0;f=j;e=i;u=0;while(1){if((f|0)>0){v=~u;w=e;x=f;y=0;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+y)>>0]=c[m+((a[(c[(c[l>>2]|0)+((c[p>>2]|0)+v+w<<2)>>2]|0)+(x+~y+(c[o>>2]|0))>>0]&15)<<2)>>2];y=y+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((y|0)>=(z|0)){B=A;C=z;break}else{w=A;x=z}}}else{B=e;C=f}u=u+1|0;if((u|0)>=(B|0))break;else{f=C;e=B}}Ia=n;return}if(k){k=b+16|0;B=d+16|0;e=j;C=i;f=0;while(1){if((e|0)>0){u=~f;l=C;g=0;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+g)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+u+l<<2)>>2]|0)+((c[o>>2]|0)+g)>>0]&15)<<2)>>2];g=g+1|0;x=c[s>>2]|0;w=c[t>>2]|0;if((g|0)>=(x|0)){D=w;E=x;break}else l=w}}else{D=C;E=e}f=f+1|0;if((f|0)>=(D|0))break;else{e=E;C=D}}Ia=n;return}if(h){h=b+16|0;D=d+16|0;C=j;E=i;e=0;while(1){if((C|0)>0){f=C;k=0;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+k)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(f+~k+(c[o>>2]|0))>>0]&15)<<2)>>2];k=k+1|0;f=c[s>>2]|0}while((k|0)<(f|0));F=c[t>>2]|0;G=f}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{C=G;E=F}}Ia=n;return}F=d+16|0;d=b+16|0;b=j;j=i;i=0;while(1){if(!b)H=j;else{E=(c[(c[F>>2]|0)+((c[r>>2]|0)+i<<2)>>2]|0)+(c[q>>2]|0)|0;G=(c[(c[d>>2]|0)+((c[p>>2]|0)+i<<2)>>2]|0)+(c[o>>2]|0)|0;C=b;while(1){a[E>>0]=c[m+((a[G>>0]&15)<<2)>>2];C=C+-1|0;if(!C)break;else{E=E+1|0;G=G+1|0}}H=c[t>>2]|0}G=i+1|0;if((G|0)>=(H|0))break;b=c[s>>2]|0;j=H;i=G}Ia=n;return}function sk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){tk(b,e,0,0,f,g,h,i);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0){e=i;do e=e+1|0;while((e|0)<(f|0));return}e=B(o,j)|0;o=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;e=i;while(1){i=c[(c[r>>2]|0)+(o>>16<<2)>>2]|0;if(!(c[781038]&131072)){n=(c[(c[b>>2]|0)+(e<<2)>>2]|0)+q|0;k=s;p=0;while(1){m=d[i+(k>>16)>>0]|0;if(!(m&240)){h=c[781035]|0;a[n>>0]=((h^15)&(d[n>>0]|0)|h&m&c[781036])&15}p=p+1|0;if((p|0)>=(g|0))break;else{n=n+1|0;k=k+l|0}}}else{k=e<<2&12^12;n=s;p=0;while(1){m=d[i+(n>>16)>>0]|0;if((m&240|0)==0?(h=p+q|0,t=c[781038]|0,u=t>>k>>>(h&3^3)&1,(t&65536|0)==0|(u|0)==0):0){t=(c[(c[b>>2]|0)+(e<<2)>>2]|0)+h|0;h=c[781035]|0;a[t>>0]=((h^15)&(d[t>>0]|0)|h&c[3124008+((m&15)<<2)>>2]>>(u<<2)&c[781036])&15}p=p+1|0;if((p|0)>=(g|0))break;else n=n+l|0}}e=e+1|0;if((e|0)>=(f|0))break;else o=o+j|0}return}function tk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=Ia;Ia=Ia+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=l;return}Vn(b,e,m,n,o,p,q,r);if(!((c[r>>2]|0)>0&(c[q>>2]|0)>0)){Ia=l;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;i=c[q>>2]|0;if(!(c[781038]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;g=j;f=i;while(1){s=d[g>>0]|0;if(!(s&240)){t=c[781035]|0;a[h>>0]=((t^15)&(d[h>>0]|0)|t&s&c[781036])&15}f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0}}}}else if((i|0)>0){g=i;h=j;f=0;while(1){s=d[h>>0]|0;if((s&240|0)==0?(t=(c[o>>2]|0)+f|0,u=(c[p>>2]|0)+e|0,v=c[781038]|0,w=v>>(u<<2&12^12)>>>(t&3^3)&1,(v&65536|0)==0|(w|0)==0):0){v=(c[(c[b>>2]|0)+(u<<2)>>2]|0)+t|0;t=c[781035]|0;a[v>>0]=((t^15)&(d[v>>0]|0)|t&c[3124008+((s&15)<<2)>>2]>>(w<<2)&c[781036])&15;x=c[q>>2]|0}else x=g;f=f+1|0;if((f|0)>=(x|0))break;else{g=x;h=h+1|0}}}e=e+1|0}while((e|0)<(c[r>>2]|0));Ia=l;return}function uk(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=Ia;Ia=Ia+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=m;return}Vn(b,e,n,o,p,q,r,s);if(!((c[s>>2]|0)>0&(c[r>>2]|0)>0)){Ia=m;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;i=c[r>>2]|0;if(!(c[781038]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;g=j;f=i;while(1){t=c[l+((a[g>>0]&15)<<2)>>2]|0;if(!(t&240)){u=c[781035]|0;a[h>>0]=((u^15)&(d[h>>0]|0)|u&t&c[781036])&15}f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0}}}}else if((i|0)>0){g=i;h=j;f=0;while(1){t=c[l+((a[h>>0]&15)<<2)>>2]|0;if((t&240|0)==0?(u=(c[p>>2]|0)+f|0,v=(c[q>>2]|0)+e|0,w=c[781038]|0,x=w>>(v<<2&12^12)>>>(u&3^3)&1,(w&65536|0)==0|(x|0)==0):0){w=(c[(c[b>>2]|0)+(v<<2)>>2]|0)+u|0;u=c[781035]|0;a[w>>0]=((u^15)&(d[w>>0]|0)|u&c[3124008+((t&15)<<2)>>2]>>(x<<2)&c[781036])&15;y=c[r>>2]|0}else y=g;f=f+1|0;if((f|0)>=(y|0))break;else{g=y;h=h+1|0}}}e=e+1|0}while((e|0)<(c[s>>2]|0));Ia=m;return}function vk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;i=c[781038]|0;if((g|0)<0)return;j=b+28|0;k=b+32|0;l=b+36|0;m=b+40|0;n=(i&65536|0)==0;o=b+16|0;b=1-g|0;p=g;g=0;while(1){q=p+e|0;r=g+f|0;s=c[j>>2]|0;if(((((s|0)<=(q|0)?(c[k>>2]|0)>(q|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(q&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+q|0;v=c[781035]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[781036])&15;w=c[j>>2]|0}else w=s;s=g+e|0;t=p+f|0;if(((((w|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;x=c[781035]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[781036])&15;y=c[j>>2]|0}else y=w;v=e-p|0;if(((((y|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(x=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(x|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;r=c[781035]|0;a[u>>0]=((r^15)&(d[u>>0]|0)|r&h>>(x<<2)&c[781036])&15;z=c[j>>2]|0}else z=y;x=e-g|0;if(((((z|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(r=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(r|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;t=c[781035]|0;a[u>>0]=((t^15)&(d[u>>0]|0)|t&h>>(r<<2)&c[781036])&15;A=c[j>>2]|0}else A=z;r=f-g|0;if(((((A|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;v=c[781035]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[781036])&15;B=c[j>>2]|0}else B=A;t=f-p|0;if(((((B|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;x=c[781035]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[781036])&15;C=c[j>>2]|0}else C=B;if(((((C|0)<=(q|0)?(c[k>>2]|0)>(q|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(v=i>>(r<<2&12^12)>>>(q&3^3)&1,n|(v|0)==0):0){x=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+q|0;q=c[781035]|0;a[x>>0]=((q^15)&(d[x>>0]|0)|q&h>>(v<<2)&c[781036])&15;D=c[j>>2]|0}else D=C;if(((((D|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){q=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;s=c[781035]|0;a[q>>0]=((s^15)&(d[q>>0]|0)|s&h>>(v<<2)&c[781036])&15}v=g+1|0;s=(b|0)<0;q=p+-1|0;p=s?p:q;if((p|0)<=(g|0))break;else{b=(v-(s?0:q)<<1|1)+b|0;g=v}}return}function wk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[781035]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[781036])&15;return}function xk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=c[781038]|0;if((c[b+36>>2]|0)>(g|0))return 0;if((c[b+40>>2]|0)<=(g|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(12-(g<<2)&12);i=((h&4|0)==0?j:l)<<8|((h&8|0)==0?j:l)|((h&2|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(f|0)<(e|0);j=l?e:f;h=l?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(j|0)<(h|0)?j:h+-1|0;if((f|0)>=(h|0))return 0;h=b+16|0;b=c[(c[h>>2]|0)+(g<<2)>>2]|0;j=b+f|0;l=b+(f+3&-4)|0;if(k){if((f|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}k=j;b=f;while(1){q=i>>>(b<<3&24);if(!(q&16)){r=c[781035]|0;a[k>>0]=((r^15)&(d[k>>0]|0)|r&q&c[781036])&15}if((b|0)<(e|0)){k=k+1|0;b=b+1|0}else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}b=c[781036]|0;k=b<<8|b|b<<16|b<<24;b=c[781035]|0;q=b<<8|b|b<<16|b<<24;a:do if((f|0)>(e|0))s=f;else{b=j;r=f;while(1){t=r&3;if(!t){s=r;break a}u=c[781035]|0;a[b>>0]=((u^15)&(d[b>>0]|0)|u&i>>>(t<<3)&c[781036])&15;t=r+1|0;if((r|0)<(e|0)){b=b+1|0;r=t}else{s=t;break}}}while(0);j=e+1&-4;if((s|0)<(j|0)){r=q^252645135;b=k&i&q;q=s+(j+-1-s&-4)|0;k=l;l=s;while(1){c[k>>2]=(c[k>>2]&r|b)&252645135;l=l+4|0;if((l|0)>=(j|0))break;else k=k+4|0}v=q+4|0}else v=s;if((v|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}s=v;while(1){v=(c[(c[h>>2]|0)+(g<<2)>>2]|0)+s|0;q=c[781035]|0;a[v>>0]=((q^15)&(d[v>>0]|0)|q&i>>>(s<<3&24)&c[781036])&15;if((s|0)<(e|0))s=s+1|0;else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}function yk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;l=c[781038]|0;m=((h|0)<0)<<31>>31;n=((g|0)<0)<<31>>31;o=Nv(g|0,n|0,g|0,n|0)|0;p=G()|0;q=Nv(h|0,m|0,h|0,m|0)|0;r=G()|0;s=Qv(o|0,p|0,2)|0;t=(g|0)%2|0;u=Hv(s|0,G()|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Hv(q|0,r|0,u|0,G()|0)|0;u=Iv(0,0,t|0,G()|0)|0;t=G()|0;s=Qv(q|0,r|0,2)|0;v=(h|0)%2|0;w=Hv(s|0,G()|0,v|0,((v|0)<0)<<31>>31|0)|0;v=G()|0;s=Hv(o|0,p|0,w|0,v|0)|0;x=Iv(0,0,s|0,G()|0)|0;s=G()|0;y=Iv(0,0,w|0,v|0)|0;v=G()|0;w=Rv(q|0,r|0,1)|0;z=G()|0;A=Rv(o|0,p|0,1)|0;B=G()|0;if((h|g|0)<=-1){C=0;return C|0}D=Nv(o|0,p|0,-2,-1)|0;E=Nv(D|0,G()|0,h|0,m|0)|0;D=G()|0;F=Iv(0,0,o|0,p|0)|0;H=Nv(F|0,G()|0,h|0,m|0)|0;F=((i|0)<0)<<31>>31;I=i+e|0;J=((j|0)<0)<<31>>31;K=j+f|0;L=b+28|0;M=b+32|0;N=b+36|0;O=b+40|0;P=(l&65536|0)==0;Q=b+16|0;b=H;H=G()|0;R=0;S=0;T=E;E=D;D=0;U=h;h=m;m=0;V=0;while(1){W=I+D|0;X=K+U|0;if(((((c[L>>2]|0)<=(W|0)?(c[M>>2]|0)>(W|0):0)?(c[N>>2]|0)<=(X|0):0)?(c[O>>2]|0)>(X|0):0)?(Y=l>>(X<<2&12^12)>>>(W&3^3)&1,P|(Y|0)==0):0){Z=(c[(c[Q>>2]|0)+(X<<2)>>2]|0)+W|0;_=c[781035]|0;a[Z>>0]=((_^15)&(d[Z>>0]|0)|_&k>>(Y<<2)&c[781036])&15}Y=V+2|0;_=Hv(U|0,h|0,j|0,J|0)|0;Z=G()|0;$=(Z|0)>0|(Z|0)==0&_>>>0>0;_=Hv(D|0,m|0,i|0,F|0)|0;Z=G()|0;aa=(Z|0)>0|(Z|0)==0&_>>>0>0;if($&aa){_=e-D|0;Z=f-U|0;if(((((c[L>>2]|0)<=(_|0)?(c[M>>2]|0)>(_|0):0)?(c[N>>2]|0)<=(Z|0):0)?(c[O>>2]|0)>(Z|0):0)?(ba=l>>(Z<<2&12^12)>>>(_&3^3)&1,P|(ba|0)==0):0){ca=(c[(c[Q>>2]|0)+(Z<<2)>>2]|0)+_|0;_=c[781035]|0;a[ca>>0]=((_^15)&(d[ca>>0]|0)|_&k>>(ba<<2)&c[781036])&15}da=V+3|0}else da=Y;if($){$=f-U|0;if(((((c[L>>2]|0)<=(W|0)?(c[M>>2]|0)>(W|0):0)?(c[N>>2]|0)<=($|0):0)?(c[O>>2]|0)>($|0):0)?(Y=l>>($<<2&12^12)>>>(W&3^3)&1,P|(Y|0)==0):0){ba=(c[(c[Q>>2]|0)+($<<2)>>2]|0)+W|0;W=c[781035]|0;a[ba>>0]=((W^15)&(d[ba>>0]|0)|W&k>>(Y<<2)&c[781036])&15}ea=da+1|0}else ea=da;if(aa){aa=e-D|0;if(((((c[L>>2]|0)<=(aa|0)?(c[M>>2]|0)>(aa|0):0)?(c[N>>2]|0)<=(X|0):0)?(c[O>>2]|0)>(X|0):0)?(Y=l>>(X<<2&12^12)>>>(aa&3^3)&1,P|(Y|0)==0):0){W=(c[(c[Q>>2]|0)+(X<<2)>>2]|0)+aa|0;aa=c[781035]|0;a[W>>0]=((aa^15)&(d[W>>0]|0)|aa&k>>(Y<<2)&c[781036])&15}fa=ea+1|0}else fa=ea;Y=Nv(D|0,m|0,q|0,r|0)|0;aa=Hv(Y|0,G()|0,b|0,H|0)|0;Y=G()|0;do if((Y|0)>(t|0)|(Y|0)==(t|0)&aa>>>0>u>>>0?(W=Nv(U|0,h|0,o|0,p|0)|0,X=G()|0,ba=Hv(W|0,X|0,b|0,H|0)|0,$=G()|0,($|0)>(v|0)|($|0)==(v|0)&ba>>>0>y>>>0):0){ba=Iv(b|0,H|0,W|0,X|0)|0;X=G()|0;if((X|0)>(s|0)|(X|0)==(s|0)&ba>>>0>x>>>0){ba=Hv(U|0,h|0,-1,-1)|0;X=G()|0;W=Hv(T|0,E|0,A|0,B|0)|0;$=G()|0;_=Hv(W|0,$|0,b|0,H|0)|0;ga=X;ha=ba;ia=m;ja=D;ka=_;la=G()|0;ma=R;na=S;oa=W;pa=$;break}else{$=Hv(D|0,m|0,1,0)|0;W=G()|0;_=Hv(R|0,S|0,w|0,z|0)|0;ba=G()|0;X=Hv(_|0,ba|0,b|0,H|0)|0;ca=G()|0;Z=Hv(U|0,h|0,-1,-1)|0;qa=G()|0;ra=Hv(T|0,E|0,A|0,B|0)|0;sa=G()|0;ta=Hv(X|0,ca|0,ra|0,sa|0)|0;ga=qa;ha=Z;ia=W;ja=$;ka=ta;la=G()|0;ma=_;na=ba;oa=ra;pa=sa;break}}else ua=35;while(0);if((ua|0)==35){ua=0;aa=Hv(D|0,m|0,1,0)|0;Y=G()|0;sa=Hv(R|0,S|0,w|0,z|0)|0;ra=G()|0;ba=Hv(sa|0,ra|0,b|0,H|0)|0;ga=h;ha=U;ia=Y;ja=aa;ka=ba;la=G()|0;ma=sa;na=ra;oa=T;pa=E}if(((ga|0)>-1|(ga|0)==-1&ha>>>0>4294967295)&((ia|0)<(n|0)|(ia|0)==(n|0)&ja>>>0<=g>>>0)){b=ka;H=la;R=ma;S=na;T=oa;E=pa;D=ja;U=ha;h=ga;m=ia;V=fa}else{C=fa;break}}return C|0}function zk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if(((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,(k-p|0)<(c[a+36>>2]|0)):0){q=c[a+40>>2]|0;if((i|0)<(o|0)|((j|0)>=(n|0)|(p+k|0)>=(q|0))){r=0;return r|0}else s=q}else t=9;do if((t|0)==9)if((j|0)>=(n|0)|(i|0)<(o|0)){r=0;return r|0}else{s=c[a+40>>2]|0;break}while(0);if((h|0)>=(s|0)){r=0;return r|0}if((e|0)<(c[a+36>>2]|0)){r=0;return r|0}r=yk(a,b,k,l,m,f&1,d&1,g)|0;return r|0}d=0;f=h;while(1){h=(xk(a,j,i,f,g)|0)+d|0;if((f|0)<(e|0)){d=h;f=f+1|0}else{r=h;break}}return r|0}function Ak(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;j=((f|0)<0)<<31>>31;k=((e|0)<0)<<31>>31;l=Nv(e|0,k|0,e|0,k|0)|0;m=G()|0;n=Nv(f|0,j|0,f|0,j|0)|0;o=G()|0;p=Qv(l|0,m|0,2)|0;q=(e|0)%2|0;r=Hv(p|0,G()|0,q|0,((q|0)<0)<<31>>31|0)|0;q=Hv(n|0,o|0,r|0,G()|0)|0;r=Iv(0,0,q|0,G()|0)|0;q=G()|0;p=Qv(n|0,o|0,2)|0;s=(f|0)%2|0;t=Hv(p|0,G()|0,s|0,((s|0)<0)<<31>>31|0)|0;s=G()|0;p=Hv(l|0,m|0,t|0,s|0)|0;u=Iv(0,0,p|0,G()|0)|0;p=G()|0;v=Iv(0,0,t|0,s|0)|0;s=G()|0;t=Rv(n|0,o|0,1)|0;w=G()|0;x=Rv(l|0,m|0,1)|0;y=G()|0;z=c[781044]|0;A=(z|0)==0?1:2;if((f|e|0)<0){B=z;C=0}else{z=Nv(l|0,m|0,-2,-1)|0;D=Nv(z|0,G()|0,f|0,j|0)|0;z=G()|0;E=Iv(0,0,l|0,m|0)|0;F=Nv(E|0,G()|0,f|0,j|0)|0;E=g+b|0;g=((h|0)<0)<<31>>31;H=h+d|0;I=0;J=0;K=F;F=G()|0;L=f;M=j;j=0;N=0;O=D;D=z;z=0;while(1){P=z+8|0;Q=Nv(I|0,J|0,n|0,o|0)|0;R=Hv(Q|0,G()|0,K|0,F|0)|0;Q=G()|0;do if((Q|0)>(q|0)|(Q|0)==(q|0)&R>>>0>r>>>0?(S=Nv(L|0,M|0,l|0,m|0)|0,T=G()|0,U=Hv(S|0,T|0,K|0,F|0)|0,V=G()|0,(V|0)>(s|0)|(V|0)==(s|0)&U>>>0>v>>>0):0){U=Iv(K|0,F|0,S|0,T|0)|0;T=G()|0;S=b-I|0;V=E+I|0;W=(Qa[A&3](a,S,V,d-L|0,i)|0)+P|0;X=Hv(L|0,M|0,h|0,g|0)|0;Y=G()|0;Z=(Y|0)>0|(Y|0)==0&X>>>0>0;X=H+L|0;if((T|0)>(p|0)|(T|0)==(p|0)&U>>>0>u>>>0){if(Z)_=(Qa[A&3](a,S,V,X,i)|0)+W|0;else _=W;U=Hv(L|0,M|0,-1,-1)|0;T=G()|0;Y=Hv(O|0,D|0,x|0,y|0)|0;$=G()|0;aa=Hv(K|0,F|0,Y|0,$|0)|0;ba=T;ca=J;da=I;ea=j;fa=N;ga=Y;ha=$;ia=aa;ja=G()|0;ka=U;la=_;break}else{if(Z)ma=(Qa[A&3](a,S,V,X,i)|0)+W|0;else ma=W;W=Hv(I|0,J|0,1,0)|0;X=G()|0;V=Hv(j|0,N|0,t|0,w|0)|0;S=G()|0;Z=Hv(K|0,F|0,V|0,S|0)|0;U=G()|0;aa=Hv(L|0,M|0,-1,-1)|0;$=G()|0;Y=Hv(O|0,D|0,x|0,y|0)|0;T=G()|0;na=Hv(Z|0,U|0,Y|0,T|0)|0;ba=$;ca=X;da=W;ea=V;fa=S;ga=Y;ha=T;ia=na;ja=G()|0;ka=aa;la=ma;break}}else oa=5;while(0);if((oa|0)==5){oa=0;R=Hv(I|0,J|0,1,0)|0;Q=G()|0;aa=Hv(j|0,N|0,t|0,w|0)|0;na=G()|0;T=Hv(K|0,F|0,aa|0,na|0)|0;ba=M;ca=Q;da=R;ea=aa;fa=na;ga=O;ha=D;ia=T;ja=G()|0;ka=L;la=P}if((ba|0)<0|((ca|0)>(k|0)|(ca|0)==(k|0)&da>>>0>e>>>0))break;else{I=da;J=ca;K=ia;F=ja;L=ka;M=ba;j=ea;N=fa;O=ga;D=ha;z=la}}B=c[781044]|0;C=la}if(!B){pa=C;return pa|0}B=d-f|0;la=B+-1|0;z=(B|0)<0;B=z?-1:la;ha=0;D=z?la:-1;while(1){ha=(xk(a,0,127,D,i)|0)+ha|0;if((D|0)>=(B|0))break;else D=D+1|0}D=h+d+1+f|0;f=(D|0)>128;d=f?D:128;h=0;B=f?128:D;while(1){h=(xk(a,0,127,B,i)|0)+h|0;if((B|0)>=(d|0))break;else B=B+1|0}pa=ha+C+h|0;return pa|0}function Bk(a,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=(d|0)<(b|0);h=xk(a,(c[a+28>>2]|0)+-1|0,(g?d:b)+-1|0,e,f)|0;return (xk(a,(g?b:d)+1|0,(c[a+32>>2]|0)+1|0,e,f)|0)+h|0}function Ck(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(d|0)<(b|0);h=g?b:d;i=g?d:b;b=(e|0)<(c|0);d=b?c:e;g=0;j=b?e:c;while(1){g=(xk(a,i,h,j,f)|0)+g|0;if((j|0)>=(d|0))break;else j=j+1|0}return g|0}function Dk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=B(d,d)|0;j=B(e,e)|0;k=0-(j+(((d|0)%2|0)+(i>>>2)))|0;l=(j>>>2)+((e|0)%2|0)|0;m=0-(i+l)|0;n=0-l|0;l=j<<1;o=i<<1;if((e|d|0)<0)p=0;else{q=f+b|0;r=g+c|0;s=0;t=0;u=B(B(i,-2)|0,e)|0;v=B(0-i|0,e)|0;w=0;x=e;while(1){y=s+8|0;do if(((B(w,j)|0)+v|0)>(k|0)?(z=B(x,i)|0,(z+v|0)>(n|0)):0){A=b-w|0;C=q+w|0;D=(xk(a,A,C,c-x|0,h)|0)+y|0;if((v-z|0)<=(m|0)){z=t+l|0;E=u+o|0;F=(xk(a,A,C,r+x|0,h)|0)+D|0;G=z;H=E;I=z+v+E|0;J=w+1|0;K=x+-1|0;break}if(!x)L=D;else L=(xk(a,A,C,r+x|0,h)|0)+D|0;D=u+o|0;F=L;G=t;H=D;I=D+v|0;J=w;K=x+-1|0}else M=5;while(0);if((M|0)==5){M=0;D=t+l|0;F=y;G=D;H=u;I=D+v|0;J=w+1|0;K=x}if((K|0)<0|(J|0)>(d|0)){p=F;break}else{s=F;t=G;u=H;v=I;w=J;x=K}}}if(!g)N=p;else N=(xk(a,b-d|0,d+b+f|0,c+1|0,h)|0)+p|0;if(e|0){O=N;return O|0}O=(xk(a,b-d|0,d+b|0,c,h)|0)+N|0;return O|0}function Ek(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if((((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(k-p|0)<(q|0)):0)?(r=c[a+40>>2]|0,(p+k|0)>=(r|0)):0){if(c[781044]|0){s=0;return s|0}p=c[742782]|0;t=(n|0)<(o|0);u=t?o:n;v=t?n:o;t=(r|0)<(q|0);w=t?q:r;x=0;y=t?r:q;while(1){q=(xk(p,v,u,y,g)|0)+x|0;if((y|0)<(w|0)){x=q;y=y+1|0}else{s=q;break}}return s|0}if((!((j|0)>=(n|0)|(i|0)<(o|0))?(h|0)<(c[a+40>>2]|0):0)?(e|0)>=(c[a+36>>2]|0):0){if((f|0)<128?(d|0)<128&(c[781044]|0)==0:0){s=Dk(a,b,k,l,m,f&1,d&1,g)|0;return s|0}s=Ak(a,b,k,l,m,f&1,d&1,g)|0;return s|0}if(!(c[781044]|0)){s=0;return s|0}d=c[742782]|0;f=c[a+36>>2]|0;m=c[a+40>>2]|0;l=(n|0)<(o|0);k=l?o:n;b=l?n:o;o=(m|0)<(f|0);n=o?f:m;l=0;y=o?m:f;while(1){f=(xk(d,b,k,y,g)|0)+l|0;if((y|0)<(n|0)){l=f;y=y+1|0}else{s=f;break}}return s|0}if(!(c[781044]|0)){y=0;l=h;while(1){n=(xk(a,j,i,l,g)|0)+y|0;if((l|0)<(e|0)){y=n;l=l+1|0}else{s=n;break}}return s|0}l=c[742782]|0;y=h+-1|0;a=(h|0)<0;n=a?-1:y;k=0;b=a?y:-1;while(1){k=(xk(l,-1,128,b,g)|0)+k|0;if((b|0)>=(n|0))break;else b=b+1|0}b=c[742782]|0;n=e+1|0;l=(e|0)>127;y=l?n:128;a=0;d=l?128:n;while(1){a=(xk(b,-1,128,d,g)|0)+a|0;if((d|0)>=(y|0))break;else d=d+1|0}d=c[742782]|0;y=j+-1|0;b=(j|0)<0;j=b?-1:y;n=b?y:-1;y=0;b=h;while(1){y=(xk(d,n,j,b,g)|0)+y|0;if((b|0)>=(e|0))break;else b=b+1|0}b=a+k|0;k=c[742782]|0;a=i+1|0;j=(i|0)>127;i=j?a:128;n=j?128:a;a=0;j=h;while(1){a=(xk(k,n,i,j,g)|0)+a|0;if((j|0)>=(e|0))break;else j=j+1|0}s=b+y+a|0;return s|0}function Fk(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;j=(e|0)<(b|0);k=j?b:e;l=j?e:b;b=(f|0)<(d|0);e=b?d:f;j=b?f:d;d=e-j|0;if((d|0)>=2?(f=k-l|0,(f|0)>=2):0){if((l|0)>=(c[a+32>>2]|0)){m=0;return m|0}if((k+g|0)<(c[a+28>>2]|0)){m=0;return m|0}if((j|0)>=(c[a+40>>2]|0)){m=0;return m|0}if((e+h|0)<(c[a+36>>2]|0)){m=0;return m|0}m=yk(a,k+l>>1,e+j>>1,f>>>1,d>>>1,g,h,i)|0;return m|0}h=0;g=j;while(1){j=(xk(a,l,k,g,i)|0)+h<<1;if((g|0)<(e|0)){h=j;g=g+1|0}else{m=j;break}}return m|0}function Gk(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=f-d|0;if((j|0)>=2?(k=e-b|0,(k|0)>=2):0){l=e+b>>1;m=f+d>>1;n=k>>>1;o=j>>>1;j=c[a+32>>2]|0;p=c[a+28>>2]|0;if((((k|0)>(j-p|0)?(k=((n*7|0)>>>0)/10|0,!((k+l|0)<(j|0)|(l-k|0)>=(p|0))):0)?(k=((o*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(m-k|0)<(q|0)):0)?(r=c[a+40>>2]|0,(k+m|0)>=(r|0)):0){if(c[781044]|0){s=0;return s|0}k=(j|0)<(p|0);t=k?p:j;u=k?j:p;k=(r|0)<(q|0);v=k?q:r;w=0;x=k?r:q;while(1){q=(xk(a,u,t,x,i)|0)+w|0;if((x|0)<(v|0)){w=q;x=x+1|0}else{s=q;break}}return s|0}if(!(c[781044]|0)){if((j|0)<=(b|0)|(g+e|0)<(p|0)){s=0;return s|0}if((c[a+40>>2]|0)<=(d|0)){s=0;return s|0}if((h+f|0)<(c[a+36>>2]|0)){s=0;return s|0}}s=Ak(a,l,m,n,o,g,h,i)|0;return s|0}if((f|0)<(d|0)){s=0;return s|0}h=0;g=d;while(1){d=(xk(a,b,e,g,i)|0)+h<<1;if((g|0)<(f|0)){h=d;g=g+1|0}else{s=d;break}}return s|0}function Hk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ia;Ia=Ia+128|0;j=i+64|0;k=i;l=k;m=1920;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=k;m=1984;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){m=c[l+(n<<2)>>2]|0;h=d;while(1){o=j+(c[2048+((a[m+h>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((h|0)<(f|0))h=h+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;h=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;m=(l|0)<0?0-l|0:l;l=(m|0)<(h|0);o=l?m:h;h=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;m=(h|0)<0?0-h|0:h;h=(m|0)<(o|0);p=h?m:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;m=(o|0)<0?0-o|0:o;o=(m|0)<(p|0);q=o?m:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;m=(p|0)<0?0-p|0:p;p=(m|0)<(q|0);r=p?m:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;m=(q|0)<0?0-q|0:q;q=(m|0)<(r|0);s=q?m:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;m=(r|0)<0?0-r|0:r;r=(m|0)<(s|0);t=r?m:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;m=(s|0)<0?0-s|0:s;s=(m|0)<(t|0);u=s?m:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;m=(t|0)<0?0-t|0:t;t=(m|0)<(u|0);v=t?m:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;m=(u|0)<0?0-u|0:u;u=(m|0)<(v|0);w=u?m:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;m=(v|0)<0?0-v|0:v;v=(m|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:h?4:l?3:2;l=v?m:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;m=(w|0)<0?0-w|0:w;w=(x|0)==-1|(m|0)<(l|0);v=w?13:x;x=w?m:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;m=(l|0)<0?0-l|0:l;l=(v|0)==-1|(m|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?m:x)|0))?15:w;if(!(qo(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Ia=i;return}n=b+16|0;if((d|0)>(f|0)){Ia=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Ia=i;return}function Ik(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0;j=c[781038]|0;k=(h|0)<(f|0);l=k?f:h;m=k?e:g;n=k?h:f;f=k?g:e;e=m-f|0;g=((e|0)<0)<<31>>31;k=l-n|0;h=((k|0)<0)<<31>>31;o=(g|0)<0;p=Iv(0,0,e|0,g|0)|0;q=G()|0;r=o?p:e;p=o?q:g;q=(h|0)<0;o=Iv(0,0,k|0,h|0)|0;s=G()|0;t=q?o:k;o=q?s:h;s=(p|0)>(o|0)|(p|0)==(o|0)&r>>>0>t>>>0;o=s?r:t;t=((o|0)<0)<<31>>31;if((o|0)>0){r=Rv(k|0,h|0,16)|0;s=G()|0;p=Rv(e|0,g|0,16)|0;q=Lv(p|0,G()|0,o|0,t|0)|0;p=G()|0;u=Lv(r|0,s|0,o|0,t|0)|0;v=u;w=G()|0;x=q;y=p}else{v=k;w=h;x=e;y=g}g=c[b+36>>2]|0;if((l|0)<(g|0)){z=0;return z|0}e=c[b+40>>2]|0;if((n|0)>=(e|0)){z=0;return z|0}h=c[b+28>>2]|0;k=(f|0)<(h|0);p=(m|0)<(h|0);if(k&p){z=0;return z|0}q=c[b+32>>2]|0;u=(f|0)<(q|0);s=(m|0)<(q|0);if(!(u|s)){z=0;return z|0}m=f<<16|32768;f=((m|0)<0)<<31>>31;r=n<<16|32768;A=((r|0)<0)<<31>>31;if((n|0)<(g|0)){n=g<<16;g=Iv(n|0,((n|0)<0)<<31>>31|0,r|0,A|0)|0;n=Rv(g|0,G()|0,16)|0;g=Lv(n|0,G()|0,v|0,w|0)|0;n=Pv(g|0,G()|0,16)|0;g=Hv(n|0,G()|0,1,0)|0;n=G()|0;C=(n|0)>0|(n|0)==0&g>>>0>0;n=C?g:0;D=n}else D=0;if((l|0)<(e|0))E=o;else{l=e<<16;e=Iv(l|0,((l|0)<0)<<31>>31|0,r|0,A|0)|0;A=Rv(e|0,G()|0,16)|0;e=Hv(A|0,G()|0,-65536,-1)|0;A=Lv(e|0,G()|0,v|0,w|0)|0;w=Pv(A|0,G()|0,16)|0;A=G()|0;e=(A|0)>(t|0)|(A|0)==(t|0)&w>>>0>o>>>0;t=e?o:w;E=t}if(k){k=h<<16;t=Iv(k|0,((k|0)<0)<<31>>31|0,m|0,f|0)|0;k=Rv(t|0,G()|0,16)|0;t=Lv(k|0,G()|0,x|0,y|0)|0;k=Pv(t|0,G()|0,16)|0;t=Hv(k|0,G()|0,1,0)|0;k=G()|0;w=((D|0)<0)<<31>>31;o=(k|0)<(w|0)|(k|0)==(w|0)&t>>>0<D>>>0;w=o?D:t;F=w}else F=D;if(u)H=F;else{u=q<<16;D=Iv(m|0,f|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Rv(D|0,G()|0,16)|0;D=G()|0;w=Iv(0,0,x|0,y|0)|0;t=Lv(u|0,D|0,w|0,G()|0)|0;w=Pv(t|0,G()|0,16)|0;t=Hv(w|0,G()|0,1,0)|0;w=G()|0;D=((F|0)<0)<<31>>31;u=(w|0)<(D|0)|(w|0)==(D|0)&t>>>0<F>>>0;D=u?F:t;H=D}if(p){p=h<<16;h=Iv(m|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Rv(h|0,G()|0,16)|0;h=Hv(p|0,G()|0,-65536,-1)|0;p=G()|0;D=Iv(0,0,x|0,y|0)|0;t=Lv(h|0,p|0,D|0,G()|0)|0;D=Pv(t|0,G()|0,16)|0;t=G()|0;p=((E|0)<0)<<31>>31;h=(t|0)>(p|0)|(t|0)==(p|0)&D>>>0>E>>>0;p=h?E:D;I=p}else I=E;if(s)J=I;else{s=q<<16;q=Iv(s|0,((s|0)<0)<<31>>31|0,m|0,f|0)|0;f=Rv(q|0,G()|0,16)|0;q=Hv(f|0,G()|0,-65536,-1)|0;f=Lv(q|0,G()|0,x|0,y|0)|0;y=Pv(f|0,G()|0,16)|0;f=G()|0;q=((I|0)<0)<<31>>31;s=(f|0)>(q|0)|(f|0)==(q|0)&y>>>0>I>>>0;q=s?I:y;J=q}q=J-H|0;J=q+1|0;y=(B(H,x)|0)+m|0;m=(B(H,v)|0)+r|0;if((q|0)<=-1){z=J;return z|0}r=b+16|0;if(!(j&65536)){b=q;H=y;I=m;while(1){s=H>>16;f=I>>16;E=(c[(c[r>>2]|0)+(f<<2)>>2]|0)+s|0;p=c[781035]|0;a[E>>0]=((p^15)&(d[E>>0]|0)|p&i>>(j>>(f<<2&12^12)>>>(s&3^3)<<2&4)&c[781036])&15;if((b|0)>0){b=b+-1|0;H=H+x|0;I=I+v|0}else{z=J;break}}return z|0}I=q;q=y;y=m;while(1){m=q>>16;H=y>>16;if(!(j>>(H<<2&12^12)&1<<(m&3^3))){b=(c[(c[r>>2]|0)+(H<<2)>>2]|0)+m|0;m=c[781035]|0;a[b>>0]=((m^15)&(d[b>>0]|0)|m&i&c[781036])&15}if((I|0)>0){I=I+-1|0;q=q+x|0;y=y+v|0}else{z=J;break}}return z|0}function Jk(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,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;o=c[781999]|0;p=c[o+8>>2]|0;q=($k(2971096,o,24376)|0)+255&255;o=($k(2971096,c[781999]|0,24377)|0)+255&255;r=$k(2971096,c[781999]|0,24378)|0;s=$k(2971096,c[781999]|0,24379)|0;t=(a[3152374]<<4&255)<<24>>24>>7<<24>>24;u=e>>16;e=f>>16;f=g>>16;g=h>>16;h=f-u|0;v=((h|0)<0)<<31>>31;w=g-e|0;x=((w|0)<0)<<31>>31;y=(v|0)<0;z=Iv(0,0,h|0,v|0)|0;A=G()|0;C=y?z:h;D=y?A:v;y=(x|0)<0;E=Iv(0,0,w|0,x|0)|0;F=G()|0;H=y?E:w;I=y?F:x;y=(D|0)>(I|0)|(D|0)==(I|0)&C>>>0>H>>>0;I=y?C:H;H=(g|0)<(e|0);C=B(I,k)|0;y=B(I,l)|0;D=H?E:w;w=H?F:x;x=H?z:h;h=H?A:v;v=H?0-l|0:l;l=H?0-k|0:k;k=H?e:g;A=H?u:f;z=H?g:e;e=H?f:u;u=((I|0)<0)<<31>>31;if((I|0)>0){f=Rv(D|0,w|0,16)|0;g=G()|0;F=Rv(x|0,h|0,16)|0;E=Lv(F|0,G()|0,I|0,u|0)|0;F=G()|0;J=Lv(f|0,g|0,I|0,u|0)|0;K=J;L=G()|0;M=E;N=F}else{K=D;L=w;M=x;N=h}h=c[b+36>>2]|0;if((k|0)<(h|0)){O=0;return O|0}x=c[b+40>>2]|0;if((z|0)>=(x|0)){O=0;return O|0}w=c[b+28>>2]|0;D=(e|0)<(w|0);F=(A|0)<(w|0);if(D&F){O=0;return O|0}E=c[b+32>>2]|0;J=(e|0)<(E|0);g=(A|0)<(E|0);if(!(J|g)){O=0;return O|0}A=e<<16|32768;e=((A|0)<0)<<31>>31;f=z<<16|32768;P=((f|0)<0)<<31>>31;if((z|0)<(h|0)){z=h<<16;h=Iv(z|0,((z|0)<0)<<31>>31|0,f|0,P|0)|0;z=Rv(h|0,G()|0,16)|0;h=Lv(z|0,G()|0,K|0,L|0)|0;z=Pv(h|0,G()|0,16)|0;h=Hv(z|0,G()|0,1,0)|0;z=G()|0;Q=(z|0)>0|(z|0)==0&h>>>0>0;z=Q?h:0;R=z}else R=0;if((k|0)<(x|0))S=I;else{k=x<<16;x=Iv(k|0,((k|0)<0)<<31>>31|0,f|0,P|0)|0;k=Rv(x|0,G()|0,16)|0;x=Hv(k|0,G()|0,-65536,-1)|0;k=Lv(x|0,G()|0,K|0,L|0)|0;x=Pv(k|0,G()|0,16)|0;k=G()|0;z=(k|0)>(u|0)|(k|0)==(u|0)&x>>>0>I>>>0;u=z?I:x;S=u}if(D){D=w<<16;u=Iv(D|0,((D|0)<0)<<31>>31|0,A|0,e|0)|0;D=Rv(u|0,G()|0,16)|0;u=Lv(D|0,G()|0,M|0,N|0)|0;D=Pv(u|0,G()|0,16)|0;u=Hv(D|0,G()|0,1,0)|0;D=G()|0;x=((R|0)<0)<<31>>31;I=(D|0)<(x|0)|(D|0)==(x|0)&u>>>0<R>>>0;x=I?R:u;T=x}else T=R;if(J)U=T;else{J=E<<16;R=Iv(A|0,e|0,J|0,((J|0)<0)<<31>>31|0)|0;J=Rv(R|0,G()|0,16)|0;R=G()|0;x=Iv(0,0,M|0,N|0)|0;u=Lv(J|0,R|0,x|0,G()|0)|0;x=Pv(u|0,G()|0,16)|0;u=Hv(x|0,G()|0,1,0)|0;x=G()|0;R=((T|0)<0)<<31>>31;J=(x|0)<(R|0)|(x|0)==(R|0)&u>>>0<T>>>0;R=J?T:u;U=R}if(F){F=w<<16;w=Iv(A|0,e|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Rv(w|0,G()|0,16)|0;w=Hv(F|0,G()|0,-65536,-1)|0;F=G()|0;R=Iv(0,0,M|0,N|0)|0;u=Lv(w|0,F|0,R|0,G()|0)|0;R=Pv(u|0,G()|0,16)|0;u=G()|0;F=((S|0)<0)<<31>>31;w=(u|0)>(F|0)|(u|0)==(F|0)&R>>>0>S>>>0;F=w?S:R;V=F}else V=S;if(g)W=V;else{g=E<<16;E=Iv(g|0,((g|0)<0)<<31>>31|0,A|0,e|0)|0;g=Rv(E|0,G()|0,16)|0;E=Hv(g|0,G()|0,-65536,-1)|0;g=Lv(E|0,G()|0,M|0,N|0)|0;E=Pv(g|0,G()|0,16)|0;g=G()|0;S=((V|0)<0)<<31>>31;F=(g|0)>(S|0)|(g|0)==(S|0)&E>>>0>V>>>0;S=F?V:E;W=S}S=((U|0)<0)<<31>>31;E=Nv(M|0,N|0,U|0,S|0)|0;V=Hv(E|0,G()|0,A|0,e|0)|0;e=G()|0;A=Nv(K|0,L|0,U|0,S|0)|0;S=Hv(A|0,G()|0,f|0,P|0)|0;P=G()|0;f=(H?C:0)+i+(B(U,l)|0)|0;i=(H?y:0)+j+(B(U,v)|0)|0;j=W-U|0;U=j+1|0;W=(n|0)<0?13:n;n=W+3|0;if(!(c[781038]&131072)){if((j|0)<=-1){O=U;return O|0}y=b+16|0;if(!m){H=S;C=P;A=V;E=e;F=f;g=i;R=j;while(1){w=Ih((F>>n&q)+r|0,(g>>n&o)+s|0)|0;if((w|0)!=(t|0)?(u=(w|0)/16|0,T=c[3123880+(((ao(p,w-(u<<4)<<3|F>>W&7,u<<3|g>>W&7)|0)&15)<<2)>>2]|0,(T&16|0)==0):0){u=c[y>>2]|0;w=Qv(H|0,C|0,16)|0;G()|0;J=c[u+(w<<2)>>2]|0;w=Qv(A|0,E|0,16)|0;G()|0;u=J+w|0;w=c[781035]|0;a[u>>0]=((w^15)&(d[u>>0]|0)|w&T&c[781036])&15}A=Hv(A|0,E|0,M|0,N|0)|0;E=G()|0;H=Hv(H|0,C|0,K|0,L|0)|0;C=G()|0;if((R|0)<=0){O=U;break}else{F=F+l|0;g=g+v|0;R=R+-1|0}}return O|0}R=S;g=P;P=V;F=e;e=f;C=i;H=j;while(1){E=Ih((e>>n&q)+r|0,(C>>n&o)+s|0)|0;if(((E|0)!=(t|0)?c[(c[781999]|0)+44832+(E<<2)>>2]&m|0:0)?(A=(E|0)/16|0,T=c[3123880+(((ao(p,E-(A<<4)<<3|e>>W&7,A<<3|C>>W&7)|0)&15)<<2)>>2]|0,(T&16|0)==0):0){A=c[y>>2]|0;E=Qv(R|0,g|0,16)|0;G()|0;w=c[A+(E<<2)>>2]|0;E=Qv(P|0,F|0,16)|0;G()|0;A=w+E|0;E=c[781035]|0;a[A>>0]=((E^15)&(d[A>>0]|0)|E&T&c[781036])&15}P=Hv(P|0,F|0,M|0,N|0)|0;F=G()|0;R=Hv(R|0,g|0,K|0,L|0)|0;g=G()|0;if((H|0)<=0){O=U;break}else{e=e+l|0;C=C+v|0;H=H+-1|0}}return O|0}if((j|0)<=-1){O=U;return O|0}H=b+16|0;if(!m){b=f;C=i;e=j;g=V;L=S;while(1){R=Ih((b>>n&q)+r|0,(C>>n&o)+s|0)|0;if(((R|0)!=(t|0)?(F=(R|0)/16|0,N=(ao(p,R-(F<<4)<<3|b>>W&7,F<<3|C>>W&7)|0)&15,(c[3123880+(N<<2)>>2]&16|0)==0):0)?(F=g>>16,R=L>>16,P=c[781038]|0,y=P>>(R<<2&12^12)>>>(F&3^3)&1,(P&65536|0)==0|(y|0)==0):0){P=(c[(c[H>>2]|0)+(R<<2)>>2]|0)+F|0;F=c[781035]|0;a[P>>0]=((F^15)&(d[P>>0]|0)|F&c[3124008+(N<<2)>>2]>>(y<<2)&c[781036])&15}if((e|0)>0){b=b+l|0;C=C+v|0;e=e+-1|0;g=g+M|0;L=L+K|0}else{O=U;break}}return O|0}L=f;f=i;i=j;j=V;V=S;while(1){S=Ih((L>>n&q)+r|0,(f>>n&o)+s|0)|0;if((((S|0)!=(t|0)?c[(c[781999]|0)+44832+(S<<2)>>2]&m|0:0)?(g=(S|0)/16|0,e=(ao(p,S-(g<<4)<<3|L>>W&7,g<<3|f>>W&7)|0)&15,(c[3123880+(e<<2)>>2]&16|0)==0):0)?(g=j>>16,S=V>>16,C=c[781038]|0,b=C>>(S<<2&12^12)>>>(g&3^3)&1,(C&65536|0)==0|(b|0)==0):0){C=(c[(c[H>>2]|0)+(S<<2)>>2]|0)+g|0;g=c[781035]|0;a[C>>0]=((g^15)&(d[C>>0]|0)|g&c[3124008+(e<<2)>>2]>>(b<<2)&c[781036])&15}if((i|0)>0){L=L+l|0;f=f+v|0;i=i+-1|0;j=j+M|0;V=V+K|0}else{O=U;break}}return O|0}function Kk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[781038]|0;if((c[b+28>>2]|0)>(e|0))return 0;if((c[b+32>>2]|0)<=(e|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(3-e&3);i=((h&256|0)==0?j:l)<<8|((h&4096|0)==0?j:l)|((h&16|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(g|0)<(f|0);j=l?f:g;h=l?g:f;f=c[b+36>>2]|0;g=(h|0)<(f|0)?f:h;h=c[b+40>>2]|0;f=(j|0)<(h|0)?j:h+-1|0;if((g|0)>=(h|0))return 0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+e|0;e=(g|0)>(f|0);if(!k){if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}k=h;b=g;while(1){j=c[781035]|0;a[k>>0]=((j^15)&(d[k>>0]|0)|j&i>>>(b<<3&24)&c[781036])&15;if((b|0)<(f|0)){k=k+128|0;b=b+1|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}b=h;h=g;while(1){k=i>>>(h<<3&24);if(!(k&16)){j=c[781035]|0;a[b>>0]=((j^15)&(d[b>>0]|0)|j&k&c[781036])&15}if((h|0)<(f|0)){b=b+128|0;h=h+1|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}function Lk(){Xn(c[(c[781999]|0)+4>>2]|0);Xn(c[742782]|0);Qn(c[742782]|0,c[781018]|0,c[781019]|0,c[781020]|0,c[781021]|0);return}function Mk(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;f=c[2971132+(b<<2)>>2]|0;g=b<<13;h=g+32768|0;i=a[3152406]|0;j=i<<24>>24<0&((i&255)<<8|0)<(g+40960|0)?0:e;e=3193536+(b<<2)|0;b=c[e>>2]|0;if((b|0)==0&(j|0)!=0){g=0;i=c[f+12>>2]|0;k=3128e3+h|0;while(1){a[i>>0]=a[k>>0]&15;a[i+1>>0]=(d[k>>0]|0)>>>4;g=g+1|0;if((g|0)==8192)break;else{i=i+2|0;k=k+1|0}}l=c[e>>2]|0}else l=b;if((j|0)==0&(l|0)!=0){b=3128e3+h|0;h=0;k=c[f+12>>2]|0;while(1){a[b>>0]=a[k+1>>0]<<4|a[k>>0]&15;h=h+1|0;if((h|0)==8192)break;else{b=b+1|0;k=k+2|0}}m=c[e>>2]|0}else m=l;if((m|0)==(j|0))return j|0;c[e>>2]=j;al();jh(1024);return j|0}function Nk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=(b|0)<3?b:3;b=(d|0)>0?d:0;c[798931]=b;d=a[3152404]|0;e=d&255;f=c[(c[781999]|0)+4>>2]|0;switch(d<<24>>24){case 0:{g=f;break}case 96:{g=c[2971148+(b<<2)>>2]|0;break}default:if(d<<24>>24<0&(e&224|0)==(e|0)?(d=e+-128>>5,(Mk(d,1)|0)!=0):0)g=c[2971132+(d<<2)>>2]|0;else g=f}f=c[781999]|0;c[f+8>>2]=g;g=a[3152405]|0;d=g&255;e=c[2971148+(c[798931]<<2)>>2]|0;switch(g<<24>>24){case 0:{h=c[f+4>>2]|0;break}case 96:{h=e;break}default:if(g<<24>>24<0&(d&224|0)==(d|0)?(g=d+-128>>5,(Mk(g,1)|0)!=0):0)h=c[2971132+(g<<2)>>2]|0;else h=e}c[742782]=h;Xn(c[(c[781999]|0)+4>>2]|0);Xn(c[742782]|0);Qn(c[742782]|0,c[781018]|0,c[781019]|0,c[781020]|0,c[781021]|0);return}function Ok(){var a=0,b=0;if(c[535871]|0)return 1;a=c[742765]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function Pk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){Gp(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=h;h=f;f=0;while(1){if((h|0)>0){i=0;do{k=ao(a,i,f)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=1e7;o=-1;p=0;while(1){q=c[3123944+(p<<2)>>2]&143;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(o|0)==-1|(q|0)<(k|0);o=s?p:o;p=p+1|0;if((p|0)==16)break;else k=s?q:k}Un(b,i,f,o);i=i+1|0;u=c[a>>2]|0}while((i|0)<(u|0));v=c[g>>2]|0;w=u}else{v=j;w=h}f=f+1|0;if((f|0)>=(v|0))break;else{j=v;h=w}}return}function Qk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Gp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=i;p=g;q=0;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(q<<2)>>2]|0;s=c[(c[n>>2]|0)+(q<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=o;y=p}q=q+1|0;if((q|0)>=(x|0))break;else{o=x;p=y}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=e+16|0;e=C;C=A;A=0;z=0;g=0;while(1){if((e|0)>0){i=A;k=z;y=0;while(1){x=ao(b,y,g)|0;j=i;i=x&-50529028;if((i|0)==(j|0))D=k;else{j=x>>>16&252;p=x>>>8&252;o=x&252;x=1e7;q=-1;w=0;while(1){n=w>>>0<16?w:w+112|0;m=j-(d[f+(n*3|0)>>0]|0)|0;t=B(m,m)|0;m=p-(d[f+(n*3|0)+1>>0]|0)|0;s=(B(m,m)|0)+t|0;t=o-(d[f+(n*3|0)+2>>0]|0)|0;m=s+(B(t,t)|0)|0;t=(q|0)==-1|(m|0)<(x|0);s=t?n:q;w=w+1|0;if((w|0)==32){D=s;break}else{x=t?m:x;q=s}}}a[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+y>>0]=D;y=y+1|0;E=c[b>>2]|0;if((y|0)>=(E|0))break;else k=D}F=c[h>>2]|0;G=E;H=i;I=D}else{F=C;G=e;H=A;I=z}g=g+1|0;if((g|0)>=(F|0))break;else{e=G;C=F;A=H;z=I}}return}function Rk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=Ia;Ia=Ia+256|0;j=i+128|0;k=i;l=h&1;m=b+112|0;if(!(c[m>>2]|0)){n=c[781023]|0;c[b+96>>2]=n;o=c[781024]|0;c[b+100>>2]=o;p=b+68|0;if((c[p>>2]|0)==0?(c[b+60>>2]|0)==0:0)q=g;else q=g<<1;if((c[b+20>>2]|0)!=0?(n|0)>((c[b+24>>2]|0)-f|0):0){c[781023]=c[b+28>>2];n=b+48|0;r=c[n>>2]|0;if(!r)s=c[b+92>>2]|0;else s=r;r=s+o|0;c[781024]=r;c[n>>2]=0;t=r}else t=o;o=128-q-(c[b+124>>2]|0)+(c[781031]|0)|0;if((c[b+16>>2]|0)!=0&(t|0)>(o|0)){$a(t-o|0);u=p}else u=p}else u=b+68|0;p=c[3123880+((c[b+36>>2]&15)<<2)>>2]&15;o=c[3123880+((c[b+40>>2]&15)<<2)>>2]&15;t=b+136|0;q=c[3123880+((c[t>>2]&15)<<2)>>2]&15;if(!(c[u>>2]|0)){u=c[b+56>>2]|0;r=(u|0)!=0;n=r?2:1;s=c[b+60>>2]|0;v=(s|0)!=0;w=v?2:1;if((u|0)!=0?(c[b+64>>2]|0)!=0:0)x=(s|0)==0?1444224:1445248;else x=1445248;if(!s){y=n;z=w;A=x;C=0;D=v;E=r}else{y=n;z=w;A=x;C=(c[b+64>>2]|0)!=0;D=1;E=r}}else{y=2;z=2;A=1444224;C=1;D=1;E=1}r=0-l|0;x=y&r;w=z&r;r=((c[b+120>>2]|0)-(c[781030]|0)<<16>>16)+(c[781023]|0)|0;n=r-x|0;v=(c[781024]|0)+(h<<28>>31)+((c[b+124>>2]|0)-(c[781031]|0)<<16>>16)|0;h=v-w|0;s=(B(y,(f|0)<8?f:8)|0)+x|0;x=B(z,(g|0)<8?g:8)|0;u=x+w|0;w=B(y,f)|0;y=B(z,g)|0;if(c[b+76>>2]|0){z=c[b+44>>2]|0;F=r+w|0;r=F+-1|0;G=v+y|0;H=G+-1|0;I=(F|0)<=(n|0);F=I?n:r;J=I?r:n;r=(G|0)<=(h|0);G=r?h:H;I=r?H:h;while(1){xk(z,J,F,I,o)|0;if((I|0)<(G|0))I=I+1|0;else break}}I=(c[b+80>>2]|0)==0?0:(1<<s)+-1|0;c[j>>2]=I;if(!(c[554385]|0)){G=0;do{o=G&1;F=o<<1;J=G&2;z=J<<2;H=G&4;r=H<<3;K=G&8;L=K<<4;M=G&16;N=M<<5;O=G&32;P=O<<6;Q=G&64;R=Q<<7;S=G&128;T=S<<8;c[1445248+(G<<2)>>2]=T|o|S<<7|R|Q<<6|P|O<<5|N|M<<4|L|K<<3|r|H<<2|F|z|J<<1;c[1444224+(G<<2)>>2]=F|z|r|L|N|P|R|T;G=G+1|0}while((G|0)!=256);c[554385]=1}G=(g|0)>0;if(E){if(G){E=l<<1;T=0;do{c[j+(T+l<<2)>>2]=c[A+(d[e+T>>0]<<2)>>2]<<E^I;T=T+1|0}while((T|0)!=(g|0))}}else if(G){G=0;do{c[j+(G+l<<2)>>2]=d[e+G>>0]<<l^I;G=G+1|0}while((G|0)!=(g|0))}if(D?(D=(u|0)>1,D):0){g=u;do{G=g;g=g+-1|0;c[j+(g<<2)>>2]=c[j+(g>>1<<2)>>2]}while((G|0)>2);if(C&D){D=1;do{c[j+(D<<2)>>2]=I;D=D+2|0}while((D|0)<(u|0))}}D=b+132|0;I=c[D>>2]|0;if(!I)U=0;else{C=k;g=C+128|0;do{c[C>>2]=0;C=C+4|0}while((C|0)<(g|0));C=(u|0)>0;if(C){if(I&1|0?(c[k>>2]=c[j>>2],(u|0)>1):0){g=1;do{c[k+(g<<2)>>2]=c[k+(g<<2)>>2]|c[j+(g<<2)>>2];g=g+1|0}while((g|0)<(u|0))}if(I&2|0){g=0;do{G=k+(g<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<1;g=g+1|0}while((g|0)<(u|0))}if(I&4|0){g=0;do{G=k+(g<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<2;g=g+1|0}while((g|0)<(u|0))}if(I&8|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]}while((g|0)<(u|0))}if(I&16|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]<<1}while((g|0)<(u|0))}if(I&32|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]<<2}while((g|0)<(u|0))}if(I&64|0){g=0;do{G=k+(g+2<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2];g=g+1|0}while((g|0)<(u|0))}if(I&128|0){g=0;do{G=k+(g+2<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<1;g=g+1|0}while((g|0)<(u|0))}if(I&256|0){I=0;do{g=k+(I+2<<2)|0;c[g>>2]=c[g>>2]|c[j+(I<<2)>>2]<<2;I=I+1|0}while((I|0)<(u|0))}if(C){C=0;do{I=C;C=C+1|0;g=k+(C<<2)|0;c[g>>2]=c[g>>2]&~(c[j+(I<<2)>>2]<<1)}while((C|0)<(u|0))}}C=c[b+44>>2]|0;I=n+-1|0;g=h+-1|0;G=s+2|0;l=u+2|0;if(((((c[C+28>>2]|0)-G|0)<(n|0)?((c[C+36>>2]|0)-l|0)<(h|0):0)?(c[C+32>>2]|0)>=(n|0):0)?(c[C+40>>2]|0)>=(h|0):0){if((s|0)>-2&(u|0)>-2){e=k;k=0;while(1){T=g+k|0;E=c[e>>2]|0;A=0;while(1){if(E&1|0)Un(C,I+A|0,T,q);A=A+1|0;if((A|0)==(G|0))break;else E=E>>>1}k=k+1|0;if((k|0)==(l|0))break;else e=e+4|0}}V=B(l,G)|0}else V=0;U=V}V=v+x|0;if(c[b+140>>2]|0)Ik(c[b+44>>2]|0,n,V,n+f|0,V,p)|0;if((c[D>>2]|0)!=0?(c[t>>2]&65536|0)!=0:0)W=U;else{t=c[b+44>>2]|0;if(((((c[t+28>>2]|0)-s|0)<=(n|0)?((c[t+36>>2]|0)-u|0)<=(h|0):0)?(c[t+32>>2]|0)>(n|0):0)?(c[t+40>>2]|0)>(h|0):0){if((s|0)>0&(u|0)>0){D=j;j=0;while(1){V=j+h|0;f=c[D>>2]|0;x=0;while(1){if(f&1|0)Un(t,x+n|0,V,p);x=x+1|0;if((x|0)==(s|0))break;else f=f>>>1}j=j+1|0;if((j|0)==(u|0))break;else D=D+4|0}}X=B(u,s)|0}else X=0;W=X+U|0}jh((W|0)/2|0);c[b+104>>2]=w;c[781023]=(c[781023]|0)+w;w=b+48|0;W=c[w>>2]|0;c[w>>2]=(W|0)>(y|0)?W:y;if(c[m>>2]|0){c[781023]=c[b+96>>2];c[781024]=c[b+100>>2];c[m>>2]=0}m=c[b+128>>2]|0;if((m|0)<=0){Y=0;Ia=i;return Y|0}c[b+52>>2]=m+-1;m=b+4|0;b=c[m>>2]|0;if(!(a[b>>0]|0)){Y=1;Ia=i;return Y|0}c[m>>2]=b+1;Y=1;Ia=i;return Y|0}function Sk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,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;e=Ia;Ia=Ia+16|0;f=e;g=b+4|0;h=c[g>>2]|0;i=a[h>>0]|0;a:do switch(i<<24>>24){case 0:{j=0;k=h+-1|0;l=h;break}case 1:{m=a[h+1>>0]|0;if(!(m<<24>>24))n=156;else{o=m&255;p=o+-48|0;c[b+116>>2]=p>>>0<10?p:(m&255)>96?o+-87|0:0;o=h+2|0;j=0;k=o;l=o}break}case 2:{o=h+1|0;m=a[o>>0]|0;if(!(m<<24>>24))n=156;else{p=m&255;q=p+-48|0;c[b+40>>2]=(q>>>0<10?q:(m&255)>96?p+9|0:0)&15;c[b+76>>2]=1;j=0;k=o;l=h}break}case 3:{o=h+1|0;p=a[o>>0]|0;if(!(p<<24>>24))n=156;else{m=p&255;q=m+-48|0;c[781023]=(q>>>0<10?q:(p&255)>96?m+-87|0:0)+-16+(c[781023]|0);j=0;k=o;l=h}break}case 4:{o=h+1|0;m=a[o>>0]|0;if(!(m<<24>>24))n=156;else{p=m&255;q=p+-48|0;c[781024]=(q>>>0<10?q:(m&255)>96?p+-87|0:0)+-16+(c[781024]|0);j=0;k=o;l=h}break}case 5:{o=a[h+1>>0]|0;p=o&255;if(o<<24>>24!=0?(m=h+2|0,(a[m>>0]|0)!=0):0){q=p+-48|0;c[781023]=(q>>>0<10?q:(o&255)>96?p+-87|0:0)+-16+(c[781023]|0);p=a[m>>0]|0;o=p&255;q=o+-48|0;c[781024]=(c[781024]|0)+-16+(q>>>0<10?q:(p&255)>96?o+-87|0:0);j=0;k=m;l=h}else n=156;break}case 6:{m=h+1|0;o=a[m>>0]|0;p=o&255;switch(o<<24>>24){case 0:{n=156;break a;break}case 45:{o=h+2|0;q=a[o>>0]|0;r=q<<24>>24==0;s=r&1;t=r?p:q&255;u=r?m:o;break}default:{s=1;t=p;u=m}}m=t+-49|0;b:do if(m>>>0<9){c[b+52>>2]=(1<<m)+-1;v=1}else switch(t|0){case 99:{p=u+1|0;o=a[p>>0]|0;if(!(o<<24>>24)){j=0;k=u;l=h;break a}r=o&255;q=r+-48|0;Pn(c[742782]|0,0,0,127,127,q>>>0<10?q:(o&255)>96?r+-87|0:0);jh(1024);c[781023]=0;c[781024]=0;j=0;k=p;l=h;break a;break}case 100:{p=u+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){j=0;k=u;l=h;break a}o=r&255;q=o+-48|0;c[b+128>>2]=q>>>0<10?q:(r&255)>96?o+-87|0:0;j=0;k=p;l=h;break a;break}default:{v=0;break b}}while(0);switch(t|0){case 103:{c[781023]=c[b+28>>2];c[781024]=c[b+32>>2];j=v;k=u;l=h;break a;break}case 104:{c[b+28>>2]=c[781023];c[b+32>>2]=c[781024];j=v;k=u;l=h;break a;break}case 106:{m=a[u+1>>0]|0;if(!(m<<24>>24)){j=v;k=u;l=h;break a}p=m&255;o=p+-48|0;c[781023]=(o>>>0<10?o:(m&255)>96?p+-87|0:0)<<2;p=u+2|0;m=a[p>>0]|0;o=m&255;r=o+-48|0;c[781024]=(r>>>0<10?r:(m&255)>96?o+-87|0:0)<<2;j=v;k=p;l=h;break a;break}default:{p=(s|0)!=0;if(!(p|(t|0)!=111))c[b+132>>2]=0;if(p&(t|0)==111){o=u+1|0;m=a[o>>0]|0;r=m&255;if(!(m<<24>>24)){j=v;k=u;l=h;break a}q=u+2|0;if(!(a[q>>0]|0)){j=v;k=u;l=h;break a}w=u+3|0;if(!(a[w>>0]|0)){j=v;k=u;l=h;break a}x=r+-48|0;y=b+136|0;c[y>>2]=x>>>0<10?x:(m&255)>96?r+-87|0:0;r=a[o>>0]|0;if(r<<24>>24==36){c[y>>2]=c[b+36>>2];z=a[o>>0]|0}else z=r;if(z<<24>>24==33)c[y>>2]=c[b+36>>2]|65536;y=b+132|0;c[y>>2]=0;r=a[q>>0]|0;q=r&255;o=q+-48|0;m=(o>>>0<10?o:(r&255)>96?q+-87|0:0)<<5;c[y>>2]=m;q=a[w>>0]|0;r=q&255;o=r+-48|0;c[y>>2]=(o>>>0<10?o:(q&255)>96?r+-87|0:0)|m;j=v;k=w;l=h;break a}switch(t|0){case 114:{w=u+1|0;m=a[w>>0]|0;r=m&255;q=r+-48|0;c[b+24>>2]=(q>>>0<10?q:(m&255)>96?r+-87|0:0)<<2;c[b+20>>2]=1;j=v;k=w;l=h;break a;break}case 120:{w=u+1|0;r=a[w>>0]|0;if(!(r<<24>>24)){j=v;k=u;l=h;break a}m=r&255;q=m+-48|0;c[b+84>>2]=q>>>0<10?q:(r&255)>96?m+-87|0:0;m=c[b+12>>2]|0;r=a[w>>0]|0;q=r&255;o=q+-48|0;c[b+88>>2]=(d[m+1>>0]|0)-(d[m>>0]|0)+(o>>>0<10?o:(r&255)>96?q+-87|0:0);j=v;k=w;l=h;break a;break}case 121:{w=u+1|0;q=a[w>>0]|0;if(!(q<<24>>24)){j=v;k=u;l=h;break a}r=q&255;o=r+-48|0;c[b+92>>2]=o>>>0<10?o:(q&255)>96?r+-87|0:0;j=v;k=w;l=h;break a;break}case 115:{w=u+1|0;r=a[w>>0]|0;q=r&255;o=q+-48|0;c[b+108>>2]=(o>>>0<10?o:(r&255)>96?q+-87|0:0)<<2;j=v;k=w;l=h;break a;break}default:{if(!(p|(t|0)!=117))c[b+140>>2]=0;if(p&(t|0)==117){c[b+140>>2]=1;j=v;k=u;l=h;break a}switch(t|0){case 119:{c[b+56>>2]=s;j=v;k=u;l=h;break a;break}case 116:{c[b+60>>2]=s;j=v;k=u;l=h;break a;break}case 61:{c[b+64>>2]=s;j=v;k=u;l=h;break a;break}case 112:{c[b+68>>2]=s;j=v;k=u;l=h;break a;break}case 35:{c[b+76>>2]=s;j=v;k=u;l=h;break a;break}case 105:{c[b+80>>2]=s;j=v;k=u;l=h;break a;break}case 98:{c[b+72>>2]=s;j=v;k=u;l=h;break a;break}case 36:{c[b+20>>2]=s;j=v;k=u;l=h;break a;break}case 64:{p=b+8|0;w=u+1|0;q=c[p>>2]|0;if(w>>>0<q>>>0){r=a[w>>0]|0;o=r&255;m=o+-48|0;y=m>>>0<10?m:(r&255)>96?o+-87|0:0;o=u+2|0;if(o>>>0<q>>>0){r=a[o>>0]|0;m=r&255;x=m+-48|0;A=(x>>>0<10?x:(r&255)>96?m+-87|0:0)+(y<<4)|0;m=u+3|0;if(m>>>0<q>>>0){r=a[m>>0]|0;x=r&255;B=x+-48|0;C=(B>>>0<10?B:(r&255)>96?x+-87|0:0)+(A<<4)|0;x=u+4|0;if(x>>>0<q>>>0){r=a[x>>0]|0;B=r&255;D=B+-48|0;E=(D>>>0<10?D:(r&255)>96?B+-87|0:0)+(C<<4)|0;F=u+5|0}else{E=C;F=x}}else{E=A;F=m}}else{E=y;F=o}}else{E=0;F=w}c:do if(F>>>0<q>>>0){w=a[F>>0]|0;o=w&255;y=o+-48|0;m=y>>>0<10?y:(w&255)>96?o+-87|0:0;o=F+1|0;if(o>>>0<q>>>0){w=a[o>>0]|0;y=w&255;A=y+-48|0;x=(A>>>0<10?A:(w&255)>96?y+-87|0:0)+(m<<4)|0;y=F+2|0;if(y>>>0<q>>>0){w=a[y>>0]|0;A=w&255;C=A+-48|0;B=(C>>>0<10?C:(w&255)>96?A+-87|0:0)+(x<<4)|0;A=F+3|0;if(A>>>0<q>>>0){w=a[A>>0]|0;C=w&255;r=C+-48|0;G=(r>>>0<10?r:(w&255)>96?C+-87|0:0)+(B<<4)|0;H=F+4|0}else{G=B;H=A}}else{G=x;H=y}}else{G=m;H=o}if((G|0)>0&H>>>0<q>>>0){o=E;m=0;y=H;while(1){_k(2971096,c[781999]|0,o,d[y>>0]|0);x=y+1|0;jh(1);m=m+1|0;if((m|0)>=(G|0)){I=x;break c}if(x>>>0>=(c[p>>2]|0)>>>0){I=x;break}else{o=o+1|0;y=x}}}else I=H}else I=F;while(0);J=I+-1|0;break}default:J=u}if((t|0)==33){p=b+8|0;q=J+1|0;y=c[p>>2]|0;if(q>>>0<y>>>0){o=a[q>>0]|0;m=o&255;x=m+-48|0;A=x>>>0<10?x:(o&255)>96?m+-87|0:0;m=J+2|0;if(m>>>0<y>>>0){o=a[m>>0]|0;x=o&255;B=x+-48|0;C=(B>>>0<10?B:(o&255)>96?x+-87|0:0)+(A<<4)|0;x=J+3|0;if(x>>>0<y>>>0){o=a[x>>0]|0;B=o&255;w=B+-48|0;r=(w>>>0<10?w:(o&255)>96?B+-87|0:0)+(C<<4)|0;B=J+4|0;if(B>>>0<y>>>0){o=a[B>>0]|0;w=o&255;D=w+-48|0;K=(D>>>0<10?D:(o&255)>96?w+-87|0:0)+(r<<4)|0;L=J+5|0}else{K=r;L=B}}else{K=C;L=x}}else{K=A;L=m}}else{K=0;L=q}if(L>>>0<y>>>0){y=K;q=L;while(1){_k(2971096,c[781999]|0,y,d[q>>0]|0);m=q+1|0;jh(1);if(m>>>0<(c[p>>2]|0)>>>0){y=y+1|0;q=m}else{M=m;break}}}else M=L;q=M+-1|0;c[g>>2]=q;a[q>>0]=0;N=0;Ia=e;return N|0}else{q=(t|0)==46;y=(t|0)==58;switch(t|0){case 44:case 46:case 58:case 59:break;default:{j=v;k=J;l=h;break a}}p=J+1|0;do if((p+((t|2|0)==46?8:16)|0)>>>0<=(c[b+8>>2]|0)>>>0)if((t|1|0)==59){a[f>>0]=(c[2112+(d[J+2>>0]<<2)>>2]|0)+(c[2112+(d[p>>0]<<2)>>2]<<4);a[f+1>>0]=(c[2112+(d[J+4>>0]<<2)>>2]|0)+(c[2112+(d[J+3>>0]<<2)>>2]<<4);a[f+2>>0]=(c[2112+(d[J+6>>0]<<2)>>2]|0)+(c[2112+(d[J+5>>0]<<2)>>2]<<4);a[f+3>>0]=(c[2112+(d[J+8>>0]<<2)>>2]|0)+(c[2112+(d[J+7>>0]<<2)>>2]<<4);a[f+4>>0]=(c[2112+(d[J+10>>0]<<2)>>2]|0)+(c[2112+(d[J+9>>0]<<2)>>2]<<4);a[f+5>>0]=(c[2112+(d[J+12>>0]<<2)>>2]|0)+(c[2112+(d[J+11>>0]<<2)>>2]<<4);a[f+6>>0]=(c[2112+(d[J+14>>0]<<2)>>2]|0)+(c[2112+(d[J+13>>0]<<2)>>2]<<4);a[f+7>>0]=(c[2112+(d[J+16>>0]<<2)>>2]|0)+(c[2112+(d[J+15>>0]<<2)>>2]<<4);if(y)O=0;else O=c[b+72>>2]|0;P=Rk(b,f,8,8,O)|0;Q=J+17|0;break}else{if(q)R=0;else R=c[b+72>>2]|0;P=Rk(b,p,8,8,R)|0;Q=J+9|0;break}else{P=0;Q=p}while(0);j=(P|0)>(v|0)?P:v;k=Q+-1|0;l=h;break a}}}}}break}case 7:{p=h+1|0;q=a[p>>0]|0;d:do if((q+-48&255)>=10){y=cr(0)|0;m=(y|0)==((c[781999]|0)+42856|0);y=cr(1)|0;A=(y|0)==((c[781999]|0)+42856|0)|m;m=cr(2)|0;y=(m|0)==((c[781999]|0)+42856|0)|A;A=cr(3)|0;m=c[781999]|0;if((A|0)==(m+42856|0)|y){y=cr(0)|0;A=(y|0)==((c[781999]|0)+42176|0);y=cr(1)|0;x=(y|0)==((c[781999]|0)+42176|0)|A;A=cr(2)|0;y=(A|0)==((c[781999]|0)+42176|0)|x;x=cr(3)|0;A=c[781999]|0;if((x|0)==(A+42176|0)|y){y=cr(0)|0;x=(y|0)==((c[781999]|0)+41496|0);y=cr(1)|0;C=(y|0)==((c[781999]|0)+41496|0)|x;x=cr(2)|0;y=(x|0)==((c[781999]|0)+41496|0)|C;C=cr(3)|0;x=c[781999]|0;if((C|0)==(x+41496|0)|y){y=cr(0)|0;C=(y|0)==((c[781999]|0)+40816|0);y=cr(1)|0;B=(y|0)==((c[781999]|0)+40816|0)|C;C=cr(2)|0;y=(C|0)==((c[781999]|0)+40816|0)|B;B=cr(3)|0;C=c[781999]|0;S=C;T=(B|0)==(C+40816|0)|y?63:60;U=p;n=93}else{S=x;T=61;U=p;n=93}}else{S=A;T=62;U=p;n=93}}else{S=m;T=63;U=p;n=93}}else{m=(q&255)+-48|0;A=h+2|0;x=a[A>>0]|0;if((x+-48&255)<10){y=(m*10|0)+-48+(x&255)|0;C=(y|0)<63?y:63;y=h+3|0;V=a[y>>0]|0;W=(C|0)>0?C:0;X=y}else{V=x;W=m;X=A}switch(V<<24>>24){case 0:case 10:case 32:{Y=(c[781999]|0)+16+(W*680|0)|0;Z=X;break d;break}default:{S=c[781999]|0;T=W;U=X;n=93;break d}}}while(0);e:do if((n|0)==93){q=S+16+(T*680|0)|0;wq(q,0,680);p=S+16+(T*680|0)+8|0;c[p>>2]=4;A=S+16+(T*680|0)+12|0;m=S+16+(T*680|0)+16|0;x=U;f:while(1){switch(a[x>>0]|0){case 0:case 10:case 32:{n=103;break f;break}case 115:{y=a[x+1>>0]|0;if(!(y<<24>>24)){_=0;break f}C=y&255;B=C+-48|0;c[p>>2]=B>>>0<10?B:(y&255)>96?C+-87|0:0;$=2;break}case 108:{C=a[x+1>>0]|0;y=C&255;if(!(C<<24>>24)){_=0;break f}B=x+2|0;if(!(a[B>>0]|0)){_=0;break f}r=y+-48|0;c[A>>2]=r>>>0<10?r:(C&255)>96?y+-87|0:0;y=a[B>>0]|0;B=y&255;C=B+-48|0;c[m>>2]=C>>>0<10?C:(y&255)>96?B+-87|0:0;$=3;break}case 122:{B=a[x+1>>0]|0;if(!(B<<24>>24)){_=0;break f}y=B&255;C=y+-48|0;c[q>>2]=(C>>>0<10?C:(B&255)>96?y+2147483561|0:0)<<1;$=2;break}default:{_=0;break f}}x=x+$|0}if((n|0)==103){c[p>>2]=16;c[S+16+(T*680|0)+20>>2]=46;c[S+16+(T*680|0)+24>>2]=0;c[S+16+(T*680|0)+28>>2]=5;c[S+16+(T*680|0)+32>>2]=0;_=1}m=0;A=5;y=3;B=_;C=x;r=5;while(1){w=B>>>0<32;o=m;D=A;aa=y;ba=C;ca=r;g:while(1){da=o;ea=aa;fa=ba;ga=ca;h:while(1){ha=da;ia=ea;ja=fa;i:while(1){ka=ia;la=ja;j:while(1){ma=a[la>>0]|0;switch(ma<<24>>24){case 32:case 0:{Y=q;Z=la;break e;break}default:{}}if(!(w&ma<<24>>24!=10)){Y=q;Z=la;break e}switch(ma<<24>>24){case 46:{n=116;break g;break}case 0:{n=125;break g;break}case 98:{n=124;break g;break}case 100:{na=2;n=127;break g;break}case 101:{n=120;break g;break}case 102:{n=121;break g;break}case 103:{n=122;break g;break}case 97:{n=123;break g;break}case 105:{break h;break}case 118:{n=113;break i;break}case 62:case 60:{n=118;break i;break}case 120:{break j;break}case 93:case 91:break;default:{n=126;break g}}oa=(ma<<24>>24==91?-1:1)+ka|0;pa=(oa|0)<5?oa:5;ka=(pa|0)>0?pa:0;la=la+1|0}pa=a[la+1>>0]|0;oa=pa&255;qa=oa+-48|0;ha=(qa>>>0<10?qa:(pa&255)>96?oa+1|0:0)&7;ia=ka;ja=la+2|0}if((n|0)==113){n=0;ja=a[la+1>>0]|0;ia=ja&255;oa=ia+-48|0;ra=la+2|0;sa=(oa>>>0<10?oa:(ja&255)>96?ia+1|0:0)&7}else if((n|0)==118){n=0;ia=(ma<<24>>24==60?-1:1)+ga|0;ja=(ia|0)<7?ia:7;ra=la+1|0;sa=(ja|0)>0?ja:0}da=ha;ea=ka;fa=ra;ga=sa}fa=a[la+1>>0]|0;ea=fa&255;da=ea+-48|0;o=ha;D=(da>>>0<10?da:(fa&255)>96?ea+9|0:0)&15;aa=ka;ba=la+2|0;ca=ga}if((n|0)==116){n=0;ta=ka;ua=la+1|0}else if((n|0)==120){n=0;na=4;n=127}else if((n|0)==121){n=0;na=5;n=127}else if((n|0)==122){n=0;na=7;n=127}else if((n|0)==123){n=0;na=9;n=127}else if((n|0)==124){n=0;na=11;n=127}else if((n|0)==125){n=0;na=12;n=127}else if((n|0)==126){n=0;na=0;n=127}if((n|0)==127){n=0;ca=S+16+(T*680|0)+20+(B*20|0)|0;c[ca>>2]=na;c[S+16+(T*680|0)+20+(B*20|0)+4>>2]=D&7;c[S+16+(T*680|0)+20+(B*20|0)+8>>2]=ga&7;c[S+16+(T*680|0)+20+(B*20|0)+12>>2]=ha;ba=la+1|0;aa=a[ba>>0]|0;o=la+2|0;if(aa<<24>>24==35){w=na+1|0;c[ca>>2]=w;va=a[o>>0]|0;wa=w;xa=o}else{va=aa;wa=na;xa=ba}if(va<<24>>24==45){ba=wa+-1|0;c[ca>>2]=ba;aa=xa+1|0;ya=a[aa>>0]|0;za=ba;Aa=aa}else{ya=va;za=wa;Aa=xa}aa=(ya+-48&255)<6;ba=aa?(ya&255)+-48|0:ka;o=(ba*12|0)+za|0;w=(o|0)<63?o:63;c[ca>>2]=(w|0)>0?w:0;ta=ba;ua=aa?Aa+1|0:Aa}m=ha;A=D;y=ta;B=B+1|0;C=ua;r=ga}}while(0);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}Zq(Y,0,0,c[781999]|0,-1)|0;j=0;k=(a[Z>>0]|0)==10?Z+-1|0:Z;l=h;break}case 8:{c[781023]=(c[781023]|0)-(c[b+104>>2]|0);j=0;k=h;l=h;break}case 9:{r=c[b+12>>2]|0;C=r+5|0;if(a[C>>0]&2)c[781023]=(c[781023]|0)-(c[781025]|0);B=c[b+108>>2]|0;if(!B){y=r+6|0;r=a[y>>0]|0;A=(r<<24>>24==0?16:r&255)+(c[781023]|0)|0;c[781023]=A;Ba=A;Ca=d[y>>0]|0}else{y=(c[781023]|0)+B|0;c[781023]=y;Ba=y;Ca=B}B=Ba-((Ba|0)%(((Ca|0)==0?16:Ca)|0)|0)|0;c[781023]=B;if(!(a[C>>0]&2)){j=0;k=h;l=h}else{c[781023]=(c[781025]|0)+B;j=0;k=h;l=h}break}case 10:{c[781023]=c[b+28>>2];B=b+48|0;C=c[B>>2]|0;y=(C|0)!=0;if(!(c[b+16>>2]|0)){if(y)Da=C;else Da=c[b+92>>2]|0;c[781024]=(c[781024]|0)+Da}else{if(y)Ea=C;else Ea=c[b+92>>2]|0;c[781029]=Ea;ab();c[781029]=6}c[B>>2]=0;j=0;k=h;l=h;break}case 11:{B=c[781023]|0;C=b+96|0;y=c[C>>2]|0;c[781023]=y;c[C>>2]=B;B=c[781024]|0;C=b+100|0;A=c[C>>2]|0;c[781024]=A;c[C>>2]=B;c[b+112>>2]=1;B=h+1|0;C=a[B>>0]|0;r=C&255;m=r+-48|0;q=m>>>0<10?m:(C&255)>96?r+-87|0:0;r=(q|0)/4|0;c[781023]=y+-2+(q-(r<<2));c[781024]=A+-8+r;j=0;k=B;l=h;break}case 12:{B=h+1|0;r=a[B>>0]|0;A=r&255;q=A+-48|0;y=q>>>0<10?q:(r&255)>96?A+-87|0:0;c[b+36>>2]=y;c[781022]=y;j=0;k=B;l=h;break}case 13:{c[781023]=c[b+28>>2];j=0;k=h;l=h;break}case 14:{c[b+12>>2]=3150016;c[b+84>>2]=d[3150016];c[b+88>>2]=d[3150017];c[b+92>>2]=d[3150018];c[b+120>>2]=d[3150019];c[b+124>>2]=d[3150020];j=0;k=h;l=h;break}case 15:{c[b+12>>2]=1442176;c[b+84>>2]=d[1442176];c[b+88>>2]=d[1442177];c[b+92>>2]=d[1442178];c[b+120>>2]=d[1442179];c[b+124>>2]=d[1442180];j=0;k=h;l=h;break}default:n=156}while(0);if((n|0)==156){n=c[(i<<24>>24<0?b+88|0:b+84|0)>>2]|0;Ea=(c[b+72>>2]|0)!=0&1;Da=c[b+12>>2]|0;Ca=i&255;if(!(a[Da+5>>0]&1)){Fa=n;Ga=Ea}else{i=(d[Da+(Ca>>>1)>>0]|0)>>>(Ca<<2&4);Fa=n+-4+(i+4&7)|0;Ga=i&8|Ea}Ea=Rk(b,Da+(Ca<<3)|0,Fa,c[b+92>>2]|0,Ga)|0;j=(Ea|0)>0?Ea:0;k=h;l=h}h=c[554378]|0;Ea=c[781023]|0;c[554378]=(h|0)>(Ea|0)?h:Ea;Ea=c[554379]|0;h=c[781024]|0;c[554379]=(Ea|0)>(h|0)?Ea:h;h=b+116|0;b=c[h>>2]|0;if((b|0)>0){c[h>>2]=b+-1;Ha=l}else Ha=k+1|0;c[g>>2]=Ha;N=j;Ia=e;return N|0}function Tk(){Wv(2217544,0,144)|0;return}function Uk(){zq(c[554386]|0);c[554386]=0;return}function Vk(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=$k(2971096,c[781999]|0,24408)|0;e=$k(2971096,c[781999]|0,24409)|0;f=$k(2971096,c[781999]|0,24410)|0;g=$k(2971096,c[781999]|0,24411)|0;h=(a[3152374]&16)==0;i=h?e:0;e=h?f:0;f=h?g:0;g=(b&1|0)==0?2:b;b=(g&128|0)==0?1442176:3150016;c[554389]=b;c[554404]=g>>>1&1;c[554400]=g>>>2&1;c[554401]=g>>>3&1;c[554405]=g>>>4&1;c[554406]=g>>>5&1;c[554402]=g>>>6&1;c[554403]=0;c[554413]=0;g=a[b>>0]|0;c[554407]=g&255;h=a[b+1>>0]|0;c[554408]=h&255;j=a[b+2>>0]|0;c[554409]=j&255;c[554416]=d[b+3>>0];c[554417]=d[b+4>>0];if(!((h|g|j)<<24>>24)){c[554407]=8;c[554409]=8;c[554408]=8}j=i&15;if(j|0)c[554407]=j;if(i&240|0)c[554409]=i>>>4&15;i=e&15;if(i|0)c[554408]=i;if(e&240|0)c[554413]=(e>>>2&60)+4;e=f&15;if(e|0)c[554416]=e;if(!(f&240)){c[554419]=0;c[554420]=0;c[554421]=0;return}c[554417]=f>>>4&15;c[554419]=0;c[554420]=0;c[554421]=0;return}function Wk(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[554386]|0;if(!b){d=0;return d|0}e=c[554399]|0;if((e|0)>0){c[554399]=e+-1;d=1;return d|0}e=c[554387]|0;do if(a[e>>0]|0){f=e;while(1){g=Sk(2217544)|0;h=(c[554387]|0)-f|0;jh((h|0)>1?h:1);if(g|0){d=g;i=10;break}f=c[554387]|0;if(!(a[f>>0]|0)){i=8;break}}if((i|0)==8){j=c[554386]|0;break}else if((i|0)==10)return d|0}else j=b;while(0);zq(j);c[554386]=0;d=0;return d|0}function Xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){h=0;return h|0}if(!(c[554384]|0)){c[554384]=1;wq(1442176,0,2048);i=c[742805]|0;j=0;do{k=c[(c[i>>2]|0)+(j<<2)>>2]|0;l=k+4|0;if((c[l>>2]|0)>0){m=j<<3;n=k+16|0;o=0;do{p=c[k>>2]|0;if((p|0)>0){q=c[(c[n>>2]|0)+(o<<2)>>2]|0;r=0;s=0;while(1){t=((a[q+s>>0]|0)==0?0:1<<s)|r;s=s+1|0;if((s|0)==(p|0)){u=t;break}else r=t}}else u=0;a[1442176+(o+m)>>0]=u;o=o+1|0}while((o|0)<(c[l>>2]|0))}j=j+1|0}while((j|0)!=256);a[1442176]=4;a[1442177]=8;a[1442178]=6;a[1442179]=0;a[1442180]=0}zq(c[554386]|0);wq(2217544,0,144);j=vq(e+32|0)|0;c[554386]=j;Vv(j|0,d|0,e|0)|0;Vk();d=c[554386]|0;c[554387]=d;j=d+e|0;c[554388]=j;c[554391]=f&16;c[554392]=c[b+32>>2];c[554390]=f&32;c[554393]=c[781025];c[554394]=c[781024];c[554395]=g&15;c[554396]=g>>>4&15;c[554397]=b;c[554399]=0;c[554415]=0;c[554398]=0;c[554412]=c[554407];if(!(a[3152374]&4)){a[j>>0]=10;a[(c[554386]|0)+(e+1)>>0]=0;v=c[554386]|0}else v=d;if(!v){h=0;return h|0}d=c[554399]|0;if((d|0)>0){c[554399]=d+-1;h=1;return h|0}d=c[554387]|0;do if(a[d>>0]|0){e=d;while(1){j=Sk(2217544)|0;b=(c[554387]|0)-e|0;jh((b|0)>1?b:1);if(j|0){h=j;w=23;break}e=c[554387]|0;if(!(a[e>>0]|0)){w=21;break}}if((w|0)==21){x=c[554386]|0;break}else if((w|0)==23)return h|0}else x=v;while(0);zq(x);c[554386]=0;h=0;return h|0}function Yk(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;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;zq(g);c[781046]=(c[781046]|0)-h;f=0;return f|0}h=c[781046]|0;g=(c[798390]|0)+h|0;if((g|0)>(((c[484611]|0)==0?2359296:2113536)|0)){c[798465]=1;Bg();i=c[781046]|0;j=i;k=(c[798390]|0)+i|0}else{j=h;k=g}if((k|0)>67108864){Lg(62069);Mg(62091,(c[781046]|0)/1048576|0,e>>>10);c[798467]=1;f=0;return f|0}if(a){k=b+-4|0;g=c[k>>2]|0;c[781046]=j-g;j=yq(k,e+4|0)|0;l=(g|0)==0?0:e;m=j}else{l=0;m=yq(0,e+4|0)|0}j=(b|0)==0;b=j&(d|0)==0&(c[798388]|0)!=0?0:j&(d+-7|0)>>>0<13?32:a?l:(d|0)!=2&(j&d>>>0<7)?e:0;c[781046]=b+(c[781046]|0);c[m>>2]=b;f=m+4|0;return f|0} 142 + function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;j=ka(34)|0;if(!(c[554961]|0))k=1;else k=(ka(33)|0)==0;if((j|0)!=0&k){if(a|0)c[a>>2]=ka(35)|0;if(b|0)c[b>>2]=ka(36)|0;if(!d){Ia=e;return}c[d>>2]=ka(45)|0;Ia=e;return}k=(L(f|0,g|0)|0)&255;if(c[554961]|0?ka(33)|0:0){c[f>>2]=(c[742768]|0)/4|0;c[g>>2]=(c[742769]|0)/4|0}N(0,h|0,i|0);j=c[h>>2]|0;h=c[i>>2]|0;if((j|0)==0|(h|0)==0){Ia=e;return}i=c[742748]|0;l=c[742749]|0;if(!(+(j|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,j)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[742748]|0,c[f>>2]|0)|0)/(j|0)|0;c[f>>2]=m;o=j;p=m;q=B(c[742748]|0,n)|0}else{n=(j-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-n|0,l)|0)/(h|0)|0;c[f>>2]=i;o=h;p=i;q=B(c[g>>2]|0,l)|0}l=(q|0)/(o|0)|0;c[g>>2]=l;if(a|0)c[a>>2]=p;if(b|0)c[b>>2]=l;if(!d){Ia=e;return}c[d>>2]=k<<1&4|k&1|k>>>1&2;Ia=e;return}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;wt(b,103129,e)|0;Ia=d;return}function es(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function fs(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function gs(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function hs(b){b=b|0;var c=0,d=0;if(!(ka(26)|0)){qv(103229)|0;return 0}ka(46)|0;c=bu(b)|0;if((c|0)>0){d=0;do{la(47,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(48)|0;return 0}function is(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+4|0;e=b;f=(a|0)==0;g=c[554961]|0;if(f|(g|0)!=0)h=g;else{L(d|0,e|0)|0;if(!(ka(34)|0))i=c[e>>2]|0;else{c[d>>2]=ka(35)|0;g=ka(36)|0;c[e>>2]=g;i=g}c[742768]=c[d>>2]<<2;c[742769]=i<<2;h=c[554961]|0}if(!(f&(h|0)!=0)){c[554961]=a;Ia=b;return}qv(103377)|0;ka(49)|0;c[554961]=a;Ia=b;return}function js(a){a=a|0;return}function ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ts(a,104706)|0;if(e|0){Ho(b,1,d,e)|0;Ro(e)}e=c[a+1024>>2]|0;if(!e){zq(a);return}Sa[e&7](a);zq(a);return}function ls(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;if(a|0){c[d>>2]=a;vv(103443,d)|0}Nu(c[8745]|0)|0;d=c[a+1028>>2]|0;if(!d){zq(a);Ia=b;return}Sa[d&7](a);zq(a);Ia=b;return}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=vq(1032)|0;ku(f,b)|0;c[f+1024>>2]=d;c[f+1028>>2]=e;qa(a|0,f|0,2,4);return 0}function ns(){var a=0;if(c[554962]|0){a=0;return a|0}a=ka(41)|0;return a|0}function os(a){a=a|0;var b=0;b=c[742772]|0;if(b|0)zq(b);b=vq((bu(a)|0)+1|0)|0;c[742772]=b;ku(b,a)|0;ka(50)|0;return 0}function ps(a){a=a|0;ka(51)|0;ma(52,a|0,bu(a)|0)|0;return ka(53)|0}function qs(){if(c[742767]|0)return;c[742767]=1;ka(54)|0;return}function rs(){var b=0,d=0,e=0;if(ka(55)|0){Wv(1802912,0,131073)|0;ma(56,1802912,131072)|0;b=xq((bu(1802912)|0)+1|0)|0;ku(b,1802912)|0;d=b;return d|0}b=c[742772]|0;if(!b){e=xq(2)|0;a[e>>0]=0;d=e;return d|0}else{e=vq((bu(b)|0)+1|0)|0;ku(e,c[742772]|0)|0;d=e;return d|0}return 0}function ss(a){a=a|0;return 0}function ts(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;Zo(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;wt(g,104363,f)|0;f=c[742773]|0;a:do if((f|0)>0){i=0;while(1){h=c[1934e3+(i<<2)>>2]|0;i=i+1|0;if(!(au(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Ia=e;return k|0}c[j+20>>2]=0;k=j;Ia=e;return k|0}case 119:{if(!j){d=Aq(0)|0;c[d+4>>2]=1;Rs(d+24|0,g)|0;g=c[742773]|0;c[1934e3+(g<<2)>>2]=d;c[742773]=g+1;k=d;Ia=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ia=e;return k|0}break}default:{k=0;Ia=e;return k|0}}return 0}function us(a){a=a|0;var b=0,d=0,e=0;b=c[742773]|0;a:do if((b|0)>0){d=0;while(1){if((c[1934e3+(d<<2)>>2]|0)==(a|0)){e=1;break a}d=d+1|0;if((d|0)>=(b|0)){e=0;break}}}else e=0;while(0);return e|0}function vs(){var a=0,b=0,d=0;a=xq(48036)|0;Wv(a|0,0,48036)|0;c[a>>2]=vq(65538)|0;b=a+4|0;c[b>>2]=Sn(128,128,8)|0;c[a+12>>2]=Sn(128,64,8)|0;c[a+8>>2]=c[b>>2];b=a+16|0;d=0;do{c[b+(d*680|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+43536|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+45868>>2]=Ms()|0;c[a+45872>>2]=Ms()|0;c[a+45876>>2]=Ms()|0;c[a+45880>>2]=Ms()|0;Wv(a+45884|0,-1,2144)|0;return a|0}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;Tn(c[a+4>>2]|0)|0;Tn(c[a+12>>2]|0)|0;er(a);$q(a+16|0);$q(a+696|0);$q(a+1376|0);$q(a+2056|0);$q(a+2736|0);$q(a+3416|0);$q(a+4096|0);$q(a+4776|0);$q(a+5456|0);$q(a+6136|0);$q(a+6816|0);$q(a+7496|0);$q(a+8176|0);$q(a+8856|0);$q(a+9536|0);$q(a+10216|0);$q(a+10896|0);$q(a+11576|0);$q(a+12256|0);$q(a+12936|0);$q(a+13616|0);$q(a+14296|0);$q(a+14976|0);$q(a+15656|0);$q(a+16336|0);$q(a+17016|0);$q(a+17696|0);$q(a+18376|0);$q(a+19056|0);$q(a+19736|0);$q(a+20416|0);$q(a+21096|0);$q(a+21776|0);$q(a+22456|0);$q(a+23136|0);$q(a+23816|0);$q(a+24496|0);$q(a+25176|0);$q(a+25856|0);$q(a+26536|0);$q(a+27216|0);$q(a+27896|0);$q(a+28576|0);$q(a+29256|0);$q(a+29936|0);$q(a+30616|0);$q(a+31296|0);$q(a+31976|0);$q(a+32656|0);$q(a+33336|0);$q(a+34016|0);$q(a+34696|0);$q(a+35376|0);$q(a+36056|0);$q(a+36736|0);$q(a+37416|0);$q(a+38096|0);$q(a+38776|0);$q(a+39456|0);$q(a+40136|0);$q(a+40816|0);$q(a+41496|0);$q(a+42176|0);$q(a+42856|0);zq(c[a>>2]|0);b=a+48028|0;d=a+48032|0;e=c[d>>2]|0;if((c[b>>2]|0)>0){f=e;g=0;while(1){Cq(c[f+(g<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0;if((g|0)>=(c[b>>2]|0)){i=h;break}else f=h}}else i=e;zq(i);Ns(c[a+45868>>2]|0);Ns(c[a+45872>>2]|0);Ns(c[a+45876>>2]|0);Ns(c[a+45880>>2]|0);Wv(a|0,0,48036)|0;zq(a);if((c[781999]|0)!=(a|0))return;c[781999]=0;return}function xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;e=Ia;Ia=Ia+80|0;f=e+48|0;g=e+40|0;h=e+24|0;i=e+8|0;j=e;k=e+68|0;l=e+64|0;c[779979]=0;m=vq(196609)|0;n=vq(196609)|0;a[m>>0]=0;o=So(m,196608,b)|0;if((d|0)!=0?(bv(o,104368)|0)==0:0){c[k>>2]=43;p=1}else q=2;do if((q|0)==2){d=o;a:while(1){switch(a[d>>0]|0){case 0:{break a;break}case 112:case 10:{q=7;break a;break}default:{}}d=d+1|0}if((q|0)==7?(ut(d,104368,16)|0)==0:0){So(m,196608,b)|0;c[k>>2]=0;c[j>>2]=k;Su(m,104385,j)|0;if(!((c[555803]|0)==0&(c[k>>2]|0)>43)){p=0;break}zq(m);zq(n);c[779979]=1;r=0;Ia=e;return r|0}zq(m);zq(n);r=0;Ia=e;return r|0}while(0);j=vs()|0;c[j+45860>>2]=c[k>>2];o=0;do{Wv(j+16+(o*680|0)|0,0,680)|0;c[j+16+(o*680|0)+8>>2]=(o|0)==0?1:16;o=o+1|0}while((o|0)!=64);o=j+4|0;Nn(c[o>>2]|0);s=j+12|0;Nn(c[s>>2]|0);Wv(j+44832|0,0,1024)|0;a[c[j>>2]>>0]=0;b:do if(!(No(b)|0)){t=j+48028|0;u=j+48032|0;v=m+3|0;w=j+45856|0;x=0;y=p;z=0;A=0;B=0;C=0;D=0;E=0;c:while(1){if(!y){Wv(m|0,0,196609)|0;So(m,196608,b)|0}if((No(b)|0)!=0?(a[m>>0]|0)==0:0){F=x;G=z;H=A;I=-1;J=C;K=D;L=E}else q=19;d:do if((q|0)==19){q=0;if(ut(m,104396,8)|0)if(ut(m,104405,7)|0)if(ut(m,104413,7)|0)if(ut(m,104421,7)|0)if(ut(m,104429,7)|0)if(ut(m,104437,7)|0)if(ut(m,104445,9)|0)if(ut(m,104455,9)|0)if(!(ut(m,104465,15)|0)){F=x;G=z;H=A;I=7;J=C;K=D;L=E}else{if(!(ut(m,104481,7)|0)){M=(c[t>>2]|0)+1|0;c[t>>2]=M;c[u>>2]=yq(c[u>>2]|0,M<<2)|0;M=Aq(256)|0;N=(c[t>>2]|0)+-1|0;c[(c[u>>2]|0)+(N<<2)>>2]=M;M=(bu(m)|0)+1|0;Ho(m,1,M,c[(c[u>>2]|0)+(N<<2)>>2]|0)|0;F=x;G=z;H=A;I=8;J=C;K=D;L=E;break}if((B|0)==1){Ls(m,n)|0;N=c[j>>2]|0;M=bu(N)|0;if(((bu(n)|0)+M|0)>>>0>=65536)break c;lu(N,n)|0;if(!(No(b)|0)){N=c[j>>2]|0;M=N+(bu(N)|0)|0;a[M>>0]=10;a[M+1>>0]=0}a[(c[j>>2]|0)+65536>>0]=0;F=x;G=z;H=A;I=1;J=C;K=D;L=E;break}if((B|0)==2&(E|0)<128){M=0;do{N=a[m+M>>0]|0;O=N+-48|0;a[(c[(c[(c[o>>2]|0)+16>>2]|0)+(E<<2)>>2]|0)+M>>0]=O>>>0<10?O:(N+-97|0)>>>0<6?N+169|0:0;M=M+1|0}while((M|0)!=128);P=E+1|0}else P=E;if((x|0)<2&(B|0)==10){M=x<<7;N=(c[k>>2]|0)>2;O=0;do{if(N){Q=O<<1;R=a[m+Q>>0]|0;S=R+-48|0;T=a[m+(Q|1)>>0]|0;Q=T+-48|0;U=((S>>>0<10?S:(R+-97|0)>>>0<6?R+268435369|0:0)<<4)+(Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0)|0}else{T=a[m+O>>0]|0;Q=T+-48|0;U=Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0}c[j+44832+(O+M<<2)>>2]=U;O=O+1|0}while((O|0)!=128);V=x+1|0}else V=x;if((A|0)<64&(B|0)==3){O=0;do{M=O<<1;N=a[m+M>>0]|0;T=N+-48|0;Q=a[m+(M|1)>>0]|0;M=Q+-48|0;a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(A<<2)>>2]|0)+O>>0]=((T>>>0<10?T:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(M>>>0<10?M:(Q+-97|0)>>>0<6?Q+169|0:0);O=O+1|0}while((O|0)!=128);W=A+1|0}else W=A;if((D|0)<64&(B|0)==4){c[l>>2]=0;c[i>>2]=l;c[i+4>>2]=j+16+(D*680|0)+8;c[i+8>>2]=j+16+(D*680|0)+12;c[i+12>>2]=j+16+(D*680|0)+16;Su(m,104489,i)|0;O=c[l>>2]|0;c[j+16+(D*680|0)+4>>2]=O&1;c[j+16+(D*680|0)>>2]=O&254;O=0;do{Q=j+16+(D*680|0)+20+(O*20|0)|0;M=j+16+(D*680|0)+20+(O*20|0)+4|0;N=j+16+(D*680|0)+20+(O*20|0)+8|0;T=j+16+(D*680|0)+20+(O*20|0)+12|0;c[h>>2]=Q;c[h+4>>2]=M;c[h+8>>2]=N;c[h+12>>2]=T;Su(m+((O*5|0)+8)|0,104506,h)|0;R=c[T>>2]|0;if(R&8|0)c[j+16+(D*680|0)+20+(O*20|0)+16>>2]=128;S=c[M>>2]|0;if(S&8|0)c[j+16+(D*680|0)+20+(O*20|0)+16>>2]=128;c[T>>2]=R&7;c[M>>2]=S&7;c[N>>2]=c[N>>2]&7;c[Q>>2]=c[Q>>2]&63;O=O+1|0}while((O|0)!=32);X=D+1|0}else X=D;if((C|0)<64&(B|0)==5){if((c[k>>2]|0)>2){c[g>>2]=j+44560+(C<<2);Su(m,104520,g)|0;Y=v}else Y=m;O=j+43536+(C<<4)|0;Q=j+43536+(C<<4)+4|0;N=j+43536+(C<<4)+8|0;S=j+43536+(C<<4)+12|0;c[f>>2]=O;c[f+4>>2]=Q;c[f+8>>2]=N;c[f+12>>2]=S;Su(Y,104489,f)|0;do if((c[k>>2]|0)<4){if(!(c[O>>2]|0))c[O>>2]=65;if(!(c[Q>>2]|0))c[Q>>2]=65;if(!(c[N>>2]|0))c[N>>2]=65;if(c[S>>2]|0)break;c[S>>2]=65}while(0);F=V;G=z;H=W;I=5;J=C+1|0;K=X;L=P;break}if((z|0)<128&(B|0)==6){if(!(c[w>>2]|0))c[w>>2]=Sn(128,128,8)|0;S=0;do{N=a[m+S>>0]|0;Q=N+-48|0;do if(Q>>>0>=10)if((N+-97|0)>>>0<22){Z=N+-87|0;break}else{Z=(N+-65|0)>>>0<22?N+-55|0:0;break}else Z=Q;while(0);a[(c[(c[(c[w>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+S>>0]=(Z|0)>15?Z+112|0:Z;S=S+1|0}while((S|0)!=128);_=z+1|0}else _=z;switch(B|0){case 7:{S=0;while(1){Q=S<<1;N=a[m+Q>>0]|0;O=N+-48|0;M=a[m+(Q|1)>>0]|0;Q=M+-48|0;a[j+45884+S>>0]=((O>>>0<10?O:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(Q>>>0<10?Q:(M+-97|0)>>>0<6?M+169|0:0);S=S+1|0;if((S|0)==2144){F=V;G=_;H=W;I=0;J=C;K=X;L=P;break d}}break}case 8:break;default:{F=V;G=_;H=W;I=B;J=C;K=X;L=P;break d}}S=c[(c[u>>2]|0)+((c[t>>2]|0)+-1<<2)>>2]|0;M=c[S+16>>2]|0;Q=bu(m)|0;if((Q+M|0)>>>0<262144)Ho(m,1,Q,S)|0;if(No(b)|0){F=V;G=_;H=W;I=8;J=C;K=X;L=P;break}Ho(104526,1,1,S)|0;F=V;G=_;H=W;I=8;J=C;K=X;L=P}else{F=x;G=z;H=A;I=6;J=C;K=D;L=E}else{F=x;G=z;H=A;I=5;J=C;K=D;L=E}else{F=x;G=z;H=A;I=4;J=C;K=D;L=E}else{F=x;G=z;H=A;I=3;J=C;K=D;L=E}else{F=x;G=z;H=A;I=10;J=C;K=D;L=E}else{F=x;G=z;H=A;I=2;J=C;K=D;L=E}else{F=x;G=z;H=A;I=1;J=C;K=D;L=E}else{F=x;G=z;H=A;I=-1;J=C;K=D;L=E}}while(0);if((I|0)!=-1&(No(b)|0)==0){x=F;y=0;z=G;A=H;B=I;C=J;D=K;E=L}else break b}zq(m);zq(n);c[779979]=2;r=0;Ia=e;return r|0}while(0);L=c[j>>2]|0;if(a[L>>0]|0)a[L+((bu(L)|0)+-1)>>0]=0;zq(m);zq(n);r=j;Ia=e;return r|0}function ys(a){a=a|0;var b=0,c=0;b=Po(a,104528)|0;if(!b){c=0;return c|0}a=xs(b,0)|0;Ro(b);c=a;return c|0}function zs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ia;Ia=Ia+256|0;h=g;Wv(h|0,0,256)|0;if(!f){Yo(e,104530,0)|0;Yo(e,104573,43)|0}if(a[c[b>>2]>>0]|0){Yo(e,104585,0)|0;f=xq(196614)|0;Ks(c[b>>2]|0,f)|0;Ho(f,1,bu(f)|0,e)|0;zq(f);Yo(e,104526,0)|0}f=b+4|0;i=c[(c[f>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=j;n=0;do{m=(a[l+n>>0]|0)==0?m:k;n=n+1|0}while((n|0)!=128);k=k+1|0;if((k|0)==128)break;else j=m}if((m|0)>-1){Yo(e,104594,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;dp(e,104603,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);Yo(e,104526,0)|0;if((j|0)==(m|0))break;else j=j+1|0}}j=b+45856|0;m=c[j>>2]|0;if((m|0?(c[m>>2]|0)==128:0)?(c[m+4>>2]|0)==128:0){f=c[m+12>>2]|0;m=0;k=0;do{m=(a[f+k>>0]|0)==0?m:1;k=k+1|0}while((k|0)!=16384);if(m|0){Yo(e,104606,0)|0;m=0;do{k=(c[j>>2]|0)+16|0;f=0;do{i=a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+f>>0]|0;n=i&15;l=i<<24>>24<0?n|16:n;a[h+f>>0]=(l>>>0<10?48:87)+l;f=f+1|0}while((f|0)!=128);Ho(h,1,128,e)|0;Yo(e,104526,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0}}m=0;h=0;do{m=(c[b+44832+(h<<2)>>2]|0)==0?m:1;h=h+1|0}while((h|0)!=256);if(m|0){Yo(e,104617,0)|0;m=0;do{dp(e,104626,c[b+44832+(m<<2)>>2]&255,0,0,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0;m=0;do{dp(e,104626,c[b+44832+(m+128<<2)>>2]&255,0,0,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0}m=b+12|0;h=c[(c[m>>2]|0)+16>>2]|0;j=-1;f=0;while(1){k=c[h+(f<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:f;l=l+1|0}while((l|0)!=128);f=f+1|0;if((f|0)==32)break;else j=o}if((o|0)>-1){Yo(e,104631,0)|0;j=0;while(1){f=0;do{dp(e,104626,d[(c[(c[(c[m>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+f>>0]|0,0,0,0)|0;f=f+1|0}while((f|0)!=128);Yo(e,104526,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}Rq();j=-1;o=0;while(1){m=(c[b+16+(o*680|0)+4>>2]|0)==0?j:o;f=c[b+16+(o*680|0)+8>>2]|0;p=(c[b+16+(o*680|0)+16>>2]|c[b+16+(o*680|0)+12>>2]|0)==0?((o|0)==0?((f|0)==1?m:o):(f|0)==16?m:o):o;m=0;do{p=(c[b+16+(o*680|0)+20+(m*20|0)+4>>2]|c[b+16+(o*680|0)+20+(m*20|0)>>2]|c[b+16+(o*680|0)+20+(m*20|0)+16>>2]|c[b+16+(o*680|0)+20+(m*20|0)+8>>2]|c[b+16+(o*680|0)+20+(m*20|0)+12>>2]|0)==0?p:o;m=m+1|0}while((m|0)!=32);o=o+1|0;if((o|0)==64)break;else j=p}if((p|0)>-1){Yo(e,104640,0)|0;j=0;while(1){o=c[b+16+(j*680|0)+8>>2]|0;m=(o|0)<255?o:255;o=c[b+16+(j*680|0)+12>>2]|0;f=(o|0)<255?o:255;o=c[b+16+(j*680|0)+16>>2]|0;h=(o|0)<255?o:255;dp(e,104489,c[b+16+(j*680|0)>>2]&254|(c[b+16+(j*680|0)+4>>2]|0)!=0,(m|0)>0?m:0,(f|0)>0?f:0,(h|0)>0?h:0)|0;h=0;do{f=c[b+16+(j*680|0)+20+(h*20|0)>>2]|0;m=(f|0)<63?f:63;f=c[b+16+(j*680|0)+20+(h*20|0)+4>>2]|0;o=(f|0)<7?f:7;f=c[b+16+(j*680|0)+20+(h*20|0)+8>>2]|0;l=(f|0)<7?f:7;f=c[b+16+(j*680|0)+20+(h*20|0)+12>>2]|0;k=(f|0)<7?f:7;dp(e,104649,(m|0)>0?m:0,((o|0)>0?o:0)+((c[b+16+(j*680|0)+20+(h*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(k|0)>0?k:0)|0;h=h+1|0}while((h|0)!=32);Yo(e,104526,0)|0;if((j|0)==(p|0))break;else j=j+1|0}}j=-1;p=0;do{j=(c[b+43536+(p<<4)+12>>2]|0)==68&((c[b+43536+(p<<4)+8>>2]|0)==67&((c[b+43536+(p<<4)+4>>2]|0)==66&((c[b+44560+(p<<2)>>2]|0)==0?(c[b+43536+(p<<4)>>2]|0)==65:0)))?j:p;p=p+1|0}while((p|0)!=64);if((j|0)>-1){Yo(e,104660,0)|0;p=0;while(1){dp(e,104520,c[b+44560+(p<<2)>>2]|0,0,0,0)|0;dp(e,104671,c[b+43536+(p<<4)>>2]|0,c[b+43536+(p<<4)+4>>2]|0,c[b+43536+(p<<4)+8>>2]|0,c[b+43536+(p<<4)+12>>2]|0)|0;if((p|0)==(j|0))break;else p=p+1|0}Yo(e,104526,0)|0}Sq();p=0;j=0;do{p=(a[b+45884+j>>0]|0)==-1?p:1;j=j+1|0}while((j|0)!=2144);if(p|0){Yo(e,104689,0)|0;p=0;do{dp(e,104626,d[b+45884+p>>0]|0,0,0,0)|0;p=p+1|0}while((p|0)!=2144);Yo(e,104526,0)|0}p=b+48028|0;if((c[p>>2]|0)<=0){Ia=g;return 0}j=b+48032|0;b=0;do{h=c[(c[j>>2]|0)+(b<<2)>>2]|0;k=h+12|0;l=c[k>>2]|0;o=bu(l)|0;Ho(l,1,o,e)|0;Yo(e,104526,0)|0;l=o+1|0;Ho((c[k>>2]|0)+l|0,1,(c[h+16>>2]|0)-l|0,e)|0;b=b+1|0}while((b|0)<(c[p>>2]|0));Ia=g;return 0}function As(a,b){a=a|0;b=b|0;var c=0,d=0;c=Po(b,104706)|0;if(!c){d=1;return d|0}zs(a,c,0)|0;Ro(c);d=0;return d|0}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0;d=vq(370)|0;if(!a){e=Aq(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=Ms()|0;c[d+364>>2]=b;c[b+16>>2]=24;Cs(d);return d|0}function Cs(a){a=a|0;var b=0,d=0;b=Aq(2048)|0;d=c[a>>2]|0;Ho(d,1,(bu(d)|0)+1|0,b)|0;Go(c[a+336>>2]|0,b);Go(c[a+344>>2]|0,b);Go(c[a+348>>2]|0,b);Go(c[a+320>>2]|0,b);Go(c[a+324>>2]|0,b);Go(c[a+352>>2]|0,b);d=c[a+364>>2]|0;Ps(b,d,(bu(c[a>>2]|0)|0)+1|0)|0;return}function Ds(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Cq(b);Ns(c[a+364>>2]|0);zq(a);return}function Es(a){a=a|0;var b=0,c=0;if(a>>>0>127|(Mt(104709,a,64)|0)!=0){b=1;return b|0}if(Mt(104773,a,4)|0){b=3;return b|0}if(Mt(104777,a,4)|0){b=4;return b|0}if(Mt(104781,a,9)|0){b=5;return b|0}c=(Mt(104790,a,22)|0)==0;b=c?0:2;return b|0}function Fs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=bu(b)|0;if(!d)g=xq(f+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=0;h=g;while(1){i=(a[b+e>>0]|0)+256|0;j=(i|0)%256|0;do if((j|0)>127){k=b+(e+1)|0;l=b+(e+2)|0;m=b+(e+3)|0;n=b+(e+4)|0;o=b+(e+5)|0;p=b+(e+6)|0;q=0;while(1){r=a[32224+(q*7|0)>>0]|0;if(r<<24>>24!=0&(j|0)==(r&255|0)){s=a[32224+(q*7|0)+1>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[32224+(q*7|0)+2>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[32224+(q*7|0)+3>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[32224+(q*7|0)+4>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[32224+(q*7|0)+5>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=a[32224+(q*7|0)+6>>0]|0;if(x<<24>>24?(((a[p>>0]|0)+256|0)%256|0|0)==(x&255|0):0){y=7;z=11;break}else{A=x;B=6}}else{A=w;B=5}}else{A=v;B=4}}else{A=u;B=3}}else{A=t;B=2}}else{A=s;B=1}}else{A=r;B=0}if(!(A<<24>>24)){y=B;z=11;break}r=q+1|0;if(r>>>0<70)q=r;else break}if((z|0)==11){z=0;if(q>>>0>=26)if(q>>>0<42)C=246;else C=q>>>0<44?212:21;else C=128;a[h>>0]=q+C;p=h+1|0;a[p>>0]=0;D=e+-1+y|0;E=p;break}if((j|0)==227){p=-1;o=e;n=0;m=h;while(1){l=b+(o+1)|0;k=c[32784+(n<<2)>>2]|0;if((((a[l>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(r=o+2|0,s=m+1|0,(((a[b+r>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[m>>0]=n+154;a[s>>0]=0;F=b+(o+3)|0;G=n;H=r;I=s}else{F=l;G=p;H=o;I=m}l=c[32992+(n<<2)>>2]|0;if((((a[F>>0]|0)+256|0)%256|0|0)==(l>>>8&255|0)?(s=H+2|0,r=I+1|0,(((a[b+s>>0]|0)+256|0)%256|0|0)==(l&255|0)):0){a[I>>0]=n+204;a[r>>0]=0;J=n;K=s;L=r}else{J=G;K=H;L=I}n=n+1|0;if((n|0)==50)break;else{p=J;o=K;m=L}}if((J|0)<0){M=(a[b+K>>0]|0)+256|0;N=J;O=K;P=L;z=26}else{D=K;E=L}}else{M=i;N=-1;O=e;P=h;z=26}}else{M=i;N=-1;O=e;P=h;z=26}while(0);do if((z|0)==26){z=0;if((((M|0)%256|0|0)==226?(((a[b+(O+1)>>0]|0)+256|0)%256|0|0)==151:0)?(i=O+2|0,(((a[b+i>>0]|0)+256|0)%256|0|0)==139):0){a[P>>0]=127;j=P+1|0;a[j>>0]=0;D=i;E=j;break}j=N;i=O;m=1;o=P;while(1){a:do if((m|0)<4){p=c[32720+(m<<2)>>2]|0;if((p>>>8&255|0)==(((a[b+i>>0]|0)+256|0)%256|0|0)?(n=i+1|0,(p&255|0)==(((a[b+n>>0]|0)+256|0)%256|0|0)):0){a[o>>0]=m;p=o+1|0;a[p>>0]=0;Q=m;R=n;S=1e3;T=p}else{Q=j;R=i;S=m;T=o}}else{switch(m|0){case 9:case 10:case 13:{Q=j;R=i;S=m;T=o;break a;break}default:{}}p=c[32720+(m<<2)>>2]|0;if(((p>>>16&255|0)==(((a[b+i>>0]|0)+256|0)%256|0|0)?(p>>>8&255|0)==(((a[b+(i+1)>>0]|0)+256|0)%256|0|0):0)?(n=i+2|0,(p&255|0)==(((a[b+n>>0]|0)+256|0)%256|0|0)):0){a[o>>0]=m;p=o+1|0;a[p>>0]=0;Q=m;R=n;S=1e3;T=p}else{Q=j;R=i;S=m;T=o}}while(0);if((S|0)<15){j=Q;i=R;m=S+1|0;o=T}else break}if((Q|0)<0?(o=a[b+R>>0]|0,o<<24>>24!=13):0){if(d&(o+-65&255)<26)U=(o&255)+32&255;else U=o;a[T>>0]=U;o=T+1|0;a[o>>0]=0;D=R;E=o}else{D=R;E=T}}while(0);e=D+1|0;if((e|0)>=(f|0))break;else h=E}return g|0}function Gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[b+292>>2]|0;if(!e)f=c[8743]|0;else{c[8744]=c[e+12>>2];g=c[e+16>>2]|0;c[8743]=g;f=g}g=(d|0)!=0&(f|0)>128?(f|0)/3|0:d;d=c[b+336>>2]|0;a:do if(!d){h=b+312|0;i=b+308|0;j=0;k=0}else{e=c[b>>2]|0;l=b+316|0;m=b+308|0;n=b+312|0;o=e;p=e;e=0;q=0;while(1){r=a[p>>0]|0;if(!(r<<24>>24)){h=n;i=m;j=0;k=0;break a}s=c[l>>2]|0;t=(s|0)>4?s:4;if(r<<24>>24!=9)if(r<<24>>24==10){u=0;v=(c[n>>2]|0)+q|0}else{u=(c[m>>2]<<((r&255)>>>7))+e|0;v=q}else{u=t+e-((e|0)%(t|0)|0)|0;v=q}p=p+1|0;if((p-o|0)==(d|0)){h=n;i=m;j=u;k=v;break}else{e=u;q=v}}}while(0);v=(c[h>>2]|0)-f+k|0;f=b+324|0;h=c[f>>2]|0;u=(h|0)<(k|0)?h:k;h=(g|0)==0?((v|0)>(u|0)?v:u):k-g|0;c[f>>2]=(h|0)>0?h:0;h=(c[i>>2]|0)-(c[8744]|0)+j|0;i=b+320|0;b=c[i>>2]|0;f=(b|0)<(j|0)?b:j;j=(h|0)>(f|0)?h:f;c[i>>2]=(j|0)>0?j:0;return}function Hs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=bu(b)|0;if(!d)g=xq((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=0;h=g;while(1){i=a[b+e>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[32720+(j<<2)>>2]|0;a[h>>0]=k>>>16;a[h+1>>0]=k>>>8;a[h+2>>0]=k;l=h+3|0;break a}else{if((j|0)==127){a[h>>0]=-30;a[h+1>>0]=-105;a[h+2>>0]=-117;l=h+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[h>>0]=-29;n=c[32784+(m<<2)>>2]|0;a[h+1>>0]=n>>>8;a[h+2>>0]=n;l=h+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[h>>0]=-29;m=c[32992+(n<<2)>>2]|0;a[h+1>>0]=m>>>8;a[h+2>>0]=m;l=h+3|0;break a}m=a[32224+(k*7|0)>>0]|0;if(!(m<<24>>24))o=h;else{a[h>>0]=m;o=h+1|0}m=a[32224+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[32224+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[32224+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[32224+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[32224+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[32224+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[32224+(m*7|0)>>0]|0;if(!(k<<24>>24))u=h;else{a[h>>0]=k;u=h+1|0}k=a[32224+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[32224+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[32224+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[32224+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[32224+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[32224+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[32224+(k*7|0)>>0]|0;if(!(m<<24>>24))A=h;else{a[h>>0]=m;A=h+1|0}m=a[32224+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[32224+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[32224+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[32224+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[32224+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[32224+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[h>>0]=i;l=h+1|0;break}m=j+-21|0;k=a[32224+(m*7|0)>>0]|0;if(!(k<<24>>24))G=h;else{a[h>>0]=k;G=h+1|0}k=a[32224+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[32224+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[32224+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[32224+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[32224+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[32224+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[32720+(j<<2)>>2]|0;a[h>>0]=k>>>8;a[h+1>>0]=k;l=h+2|0}while(0);a[l>>0]=0;e=e+1|0;if((e|0)==(f|0))break;else h=l}return g|0}function Is(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=d;d=b;b=0;g=c;while(1){g=g+-1|0;c=b+(f<<24>>24==10&1)|0;d=d+1|0;f=a[d>>0]|0;if((g|0)==0|f<<24>>24==0){e=c;break}else b=c}return e|0}function Js(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0)e=b;else{f=d;d=b;g=0;while(1){g=g+(f<<24>>24==10&1)|0;h=d+1|0;f=a[h>>0]|0;if((g|0)==(c|0)|f<<24>>24==0){e=h;break}else d=h}}return e-b|0}function Ks(a,b){a=a|0;b=b|0;return Hs(a,b,1)|0}function Ls(a,b){a=a|0;b=b|0;return Fs(a,b,1)|0}function Ms(){var a=0;a=vq(20)|0;c[a>>2]=Aq(0)|0;c[a+4>>2]=Aq(0)|0;c[a+8>>2]=Aq(0)|0;c[a+12>>2]=Aq(0)|0;return a|0}function Ns(a){a=a|0;if(!a)return;Cq(c[a>>2]|0);Cq(c[a+4>>2]|0);Cq(c[a+8>>2]|0);Cq(c[a+12>>2]|0);return}function Os(a){a=a|0;if(!a)return;Dq(c[a>>2]|0);Dq(c[a+4>>2]|0);Dq(c[a+8>>2]|0);Dq(c[a+12>>2]|0);return}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){Cq(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(tt(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){Cq(a);h=0;return h|0}d=Qs(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;Ho(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;Go(c[g>>2]|0,f);Cq(d);Dq(c[b>>2]|0);Cq(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function Qs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=Aq(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=o;t=r;u=q;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=o;t=v;u=w;break}}}else{s=o;t=0;u=0}}else{s=0;t=0;u=0}while(0);Io(j,g);Io(s,g);Io(t,g);t=j-s+u|0;u=(t+7|0)/8|0;j=(t|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(t|0)){q=r+s|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);Jo(E,g);k=k+1|0}while((k|0)<(u|0));if(j){j=g+12|0;u=e+12|0;k=0;do{E=k+s|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))Jo(a[(c[u>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(t|0));F=u}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];Ho((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;Go(f,g);c[e>>2]=0;return g|0}function Rs(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{ku(a,b)|0;c=a}return c|0}function Ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((a|0)==(b|0))d=a;else{kv(a,b,c)|0;d=a}return d|0}function Ts(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=vq((bu(c)|0)+1|0)|0;if((d|0)!=(c|0))ku(d,c)|0;c=a[d>>0]|0;if(c<<24>>24){e=c;c=d;do{if((e+-65&255)<26)a[c>>0]=(e&255)+32;c=c+1|0;e=a[c>>0]|0}while(e<<24>>24!=0)}e=vq((bu(b)|0)+1|0)|0;if((e|0)!=(b|0))ku(e,b)|0;c=a[e>>0]|0;if(c<<24>>24){f=c;c=e;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0)}f=bv(e,d)|0;zq(d);zq(e);return ((f|0)==0?0:b+(f-e)|0)|0}function Us(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=j+256+(v&-256)|0;x=g+-1-(v>>>8)|0}else{w=j;x=g}if((w|0)>255){g=~w;j=w+256+((g|0)>-512?g:-512)|0;y=w+-256-(j&-256)|0;z=x+1+(j>>>8)|0}else{y=w;z=x}if((z|0)<0)A=1;else{x=(z>>>0)/12|0;C=+(c[33200+((z-(x*12|0)<<3)+((y|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<<x|0);A=C!=0.0?~~(916317184.0/C/44742.0*65536.0*256.0+.5):3749769}c[d+52>>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;y=c[x>>2]|0;z=A+-1|0;if((y|0)<(z|0)?(w=y+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=y;y=(D|0)<(z|0)?D:z;z=(y|0)>0?y:0;c[x>>2]=z;x=z+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(z<<2)>>2]|0;y=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;j=w-A|0;A=B(y-j|0,c[b+(f*332|0)+180+(z<<2)>>2]|0)|0;g=d+16|0;c[g>>2]=A;c[g>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,j)|0)+A|0)/(y|0)|0;E=w;F=D}else{c[d+16>>2]=c[b+(f*332|0)+180+(z<<2)>>2];z=d+24|0;E=c[z>>2]|0;F=z}c[F>>2]=E+1;return}c[d+16>>2]=64;return}function Vs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=11;w=c[l+68>>2]|0;x=0;y=u;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=t;D=B;E=g;F=s;G=0}else{v=r;w=t;x=B;y=s;z=0;A=7}}if((A|0)==7){A=v&255;c[f>>2]=A;C=w;D=x;E=A;F=y;G=z}z=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;y=a[z>>0]|0;if(y<<24>>24)c[i>>2]=y&255;if((a[F>>0]|0)==0?(a[z>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=E;E=a[q>>0]|0;do if(E<<24>>24){q=E&255;if((E&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!G){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[C+(D*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);D=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(D<<24>>24)c[e+8>>2]=(D&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function Ws(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Va[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=i;k=0;r=h;while(1){if((c[a>>2]|0)==8){h=tp(32e3)|0;s=c[m>>2]|0;t=c[n>>2]|0;u=h}else{h=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(h<<1)>>1]|0)|0;s=v;t=h;u=x+(B(w,b[j+(h+1<<1)>>1]|0)|0)>>8}b[e>>1]=(B(u,r)|0)>>>12;e=e+2|0;h=s+(c[l>>2]|0)|0;w=t+(h>>24)|0;c[n>>2]=w;c[m>>2]=h&16777215;h=c[d>>2]|0;if(((h|0)!=0?(c[p>>2]&3|0)!=0:0)?(w|0)>=((c[q>>2]|0)+h|0):0){x=w-h|0;c[n>>2]=x;y=x}else y=w;if((y|0)<(c[o>>2]|0))z=r;else{c[g>>2]=0;z=0}k=k+1|0;if((k|0)==(f|0))break;else r=z}return}wq(i,0,f<<1);return}function Xs(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;Xr()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=c[h>>2]|0;r=f;f=e;a:while(1){e=c[i>>2]|0;if((e|0)>(q|0)){s=e-q|0;e=(s|0)<(r|0)?s:r;do if((e|0)!=0?(s=e+q|0,(e|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=q+1|0;Wv(f|0,0,((s|0)>(u|0)?s:u)-q<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(w<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[u>>1]=(z|0)>-32767?z:-32767;w=w+1|0;if((w|0)>=(s|0)){v=q;break}else u=u+2|0}}else v=q;while(0);c[h>>2]=v+e;u=r-e|0;if((u|0)>0){A=u;C=f+(e<<1)|0}else{D=44;break}}else{A=r;C=f}u=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=u;else{c:do if((u|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;w=s+1|0;if((w|0)<(u|0))s=w;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=u}while(0);if((E|0)>0){u=0;do{e=a+262788+(u*32848|0)|0;y=a+4+(u*32848|0)|0;w=e+80|0;do{c[e>>2]=c[y>>2];e=e+4|0;y=y+4|0}while((e|0)<(w|0));u=u+1|0;y=c[l>>2]|0}while((u|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){u=0;do{Vs(a,a+4+(u*32848|0)|0);u=u+1|0;H=c[l>>2]|0}while((u|0)<(H|0));u=c[g>>2]|0;if((u|0)!=-1){c[j>>2]=u;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){u=0;do{Vs(a,a+4+(u*32848|0)|0);u=u+1|0;y=c[l>>2]|0}while((u|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){u=0;do{y=a+4+(u*32848|0)|0;Us(a,y);Ws(a,y,0,c[i>>2]|0);Ws(a,a+262788+(u*32848|0)|0,0,128);y=0;do{e=B(128-y|0,b[a+262788+(u*32848|0)+80+(y<<1)>>1]|0)|0;w=a+4+(u*32848|0)+80+(y<<1)|0;b[w>>1]=((B(y,b[w>>1]|0)|0)+e|0)>>>7;y=y+1|0}while((y|0)!=128);u=u+1|0}while((u|0)<(c[l>>2]|0))}c[h>>2]=0;u=(c[m>>2]|0)+1|0;c[m>>2]=u;if((u|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;u=(c[n>>2]|0)+1|0;c[n>>2]=u;J=u}u=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[u+60>>2]|0)+((d[u+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((A|0)>0){q=0;r=A;f=C}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function Ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;b=Ia;Ia=Ia+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[798949]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3195836+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[798949]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Ia=b;return o|0}m=c[798951]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3195836+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[798949]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[798954]|0;h=m>>>3;l=3195836+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[798949]=p|i;q=l+8|0;r=l}else{i=l+8|0;q=i;r=c[i>>2]|0}c[q>>2]=n;c[r+12>>2]=n;c[n+8>>2]=r;c[n+12>>2]=l}c[798951]=j;c[798954]=k;o=f;Ia=b;return o|0}f=c[798950]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3196100+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(c[s+4>>2]&-8)-e|0;h=s;n=s;while(1){s=c[h+16>>2]|0;if(!s){l=c[h+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<i>>>0;i=l?s:i;h=t;n=l?t:n}h=n+e|0;if(h>>>0>n>>>0){l=c[n+24>>2]|0;s=c[n+12>>2]|0;do if((s|0)==(n|0)){j=n+20|0;k=c[j>>2]|0;if(!k){u=n+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[n+8>>2]|0;c[u+12>>2]=s;c[s+8>>2]=u;w=s}while(0);do if(l|0){s=c[n+28>>2]|0;u=3196100+(s<<2)|0;if((n|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[798950]=f&~(1<<s);break}}else{s=l+16|0;c[((c[s>>2]|0)==(n|0)?s:l+20|0)>>2]=w;if(!w)break}c[w+24>>2]=l;s=c[n+16>>2]|0;if(s|0){c[w+16>>2]=s;c[s+24>>2]=w}s=c[n+20>>2]|0;if(s|0){c[w+20>>2]=s;c[s+24>>2]=w}}while(0);if(i>>>0<16){l=i+e|0;c[n+4>>2]=l|3;f=n+l+4|0;c[f>>2]=c[f>>2]|1}else{c[n+4>>2]=e|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(m|0){f=c[798954]|0;l=m>>>3;s=3195836+(l<<1<<2)|0;u=1<<l;if(!(u&g)){c[798949]=u|g;D=s+8|0;E=s}else{u=s+8|0;D=u;E=c[u>>2]|0}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=s}c[798951]=i;c[798954]=h}o=n+8|0;Ia=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){s=a+11|0;f=s&-8;u=c[798950]|0;if(u){l=0-f|0;v=s>>>8;if(v)if(f>>>0>16777215)G=31;else{s=(v+1048320|0)>>>16&8;z=v<<s;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|s|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3196100+(G<<2)>>2]|0;a:do if(!H){I=l;J=0;K=0;L=61}else{z=l;A=0;s=f<<((G|0)==31?0:25-(G>>>1)|0);v=H;M=0;while(1){N=(c[v+4>>2]&-8)-f|0;if(N>>>0<z>>>0)if(!N){O=0;P=v;Q=v;L=65;break a}else{R=N;S=v}else{R=z;S=M}N=c[v+20>>2]|0;v=c[v+16+(s>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(v|0)?A:N;if(!v){I=R;J=T;K=S;L=61;break}else{z=R;A=T;s=s<<1;M=S}}}while(0);if((L|0)==61){if((J|0)==0&(K|0)==0){H=2<<G;l=(H|0-H)&u;if(!l){F=f;break}H=(l&0-l)+-1|0;l=H>>>12&16;e=H>>>l;H=e>>>5&8;n=e>>>H;e=n>>>2&4;h=n>>>e;n=h>>>1&2;i=h>>>n;h=i>>>1&1;U=c[3196100+((H|l|e|n|h)+(i>>>h)<<2)>>2]|0;V=0}else{U=J;V=K}if(!U){W=I;X=V}else{O=I;P=U;Q=V;L=65}}if((L|0)==65){h=O;i=P;n=Q;while(1){e=(c[i+4>>2]&-8)-f|0;l=e>>>0<h>>>0;H=l?e:h;e=l?i:n;l=c[i+16>>2]|0;if(!l)Y=c[i+20>>2]|0;else Y=l;if(!Y){W=H;X=e;break}else{h=H;i=Y;n=e}}}if(((X|0)!=0?W>>>0<((c[798951]|0)-f|0)>>>0:0)?(n=X+f|0,n>>>0>X>>>0):0){i=c[X+24>>2]|0;h=c[X+12>>2]|0;do if((h|0)==(X|0)){e=X+20|0;H=c[e>>2]|0;if(!H){l=X+16|0;g=c[l>>2]|0;if(!g){Z=0;break}else{_=g;$=l}}else{_=H;$=e}e=_;H=$;while(1){l=e+20|0;g=c[l>>2]|0;if(!g){m=e+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=l}e=aa;H=ba}c[H>>2]=0;Z=e}else{l=c[X+8>>2]|0;c[l+12>>2]=h;c[h+8>>2]=l;Z=h}while(0);do if(i){h=c[X+28>>2]|0;l=3196100+(h<<2)|0;if((X|0)==(c[l>>2]|0)){c[l>>2]=Z;if(!Z){l=u&~(1<<h);c[798950]=l;ca=l;break}}else{l=i+16|0;c[((c[l>>2]|0)==(X|0)?l:i+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=i;l=c[X+16>>2]|0;if(l|0){c[Z+16>>2]=l;c[l+24>>2]=Z}l=c[X+20>>2]|0;if(l){c[Z+20>>2]=l;c[l+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(W>>>0<16){u=W+f|0;c[X+4>>2]=u|3;i=X+u+4|0;c[i>>2]=c[i>>2]|1}else{c[X+4>>2]=f|3;c[n+4>>2]=W|1;c[n+W>>2]=W;i=W>>>3;if(W>>>0<256){u=3195836+(i<<1<<2)|0;l=c[798949]|0;h=1<<i;if(!(l&h)){c[798949]=l|h;da=u+8|0;ea=u}else{h=u+8|0;da=h;ea=c[h>>2]|0}c[da>>2]=n;c[ea+12>>2]=n;c[n+8>>2]=ea;c[n+12>>2]=u;break}u=W>>>8;if(u)if(W>>>0>16777215)fa=31;else{h=(u+1048320|0)>>>16&8;l=u<<h;u=(l+520192|0)>>>16&4;i=l<<u;l=(i+245760|0)>>>16&2;g=14-(u|h|l)+(i<<l>>>15)|0;fa=W>>>(g+7|0)&1|g<<1}else fa=0;g=3196100+(fa<<2)|0;c[n+28>>2]=fa;l=n+16|0;c[l+4>>2]=0;c[l>>2]=0;l=1<<fa;if(!(ca&l)){c[798950]=ca|l;c[g>>2]=n;c[n+24>>2]=g;c[n+12>>2]=n;c[n+8>>2]=n;break}l=c[g>>2]|0;c:do if((c[l+4>>2]&-8|0)==(W|0))ga=l;else{g=W<<((fa|0)==31?0:25-(fa>>>1)|0);i=l;while(1){ha=i+16+(g>>>31<<2)|0;h=c[ha>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(W|0)){ga=h;break c}else{g=g<<1;i=h}}c[ha>>2]=n;c[n+24>>2]=i;c[n+12>>2]=n;c[n+8>>2]=n;break b}while(0);l=ga+8|0;e=c[l>>2]|0;c[e+12>>2]=n;c[l>>2]=n;c[n+8>>2]=e;c[n+12>>2]=ga;c[n+24>>2]=0}while(0);o=X+8|0;Ia=b;return o|0}else F=f}else F=f}else F=-1;while(0);X=c[798951]|0;if(X>>>0>=F>>>0){ga=X-F|0;ha=c[798954]|0;if(ga>>>0>15){W=ha+F|0;c[798954]=W;c[798951]=ga;c[W+4>>2]=ga|1;c[ha+X>>2]=ga;c[ha+4>>2]=F|3}else{c[798951]=0;c[798954]=0;c[ha+4>>2]=X|3;ga=ha+X+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ia=b;return o|0}ha=c[798952]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[798952]=ga;X=c[798955]|0;W=X+F|0;c[798955]=W;c[W+4>>2]=ga|1;c[X+4>>2]=F|3;o=X+8|0;Ia=b;return o|0}if(!(c[799067]|0)){c[799069]=4096;c[799068]=4096;c[799070]=-1;c[799071]=-1;c[799072]=0;c[799060]=0;c[799067]=d&-16^1431655768;ia=4096}else ia=c[799069]|0;d=F+48|0;X=F+47|0;ga=ia+X|0;W=0-ia|0;ia=ga&W;if(ia>>>0<=F>>>0){o=0;Ia=b;return o|0}fa=c[799059]|0;if(fa|0?(ca=c[799057]|0,ea=ca+ia|0,ea>>>0<=ca>>>0|ea>>>0>fa>>>0):0){o=0;Ia=b;return o|0}d:do if(!(c[799060]&4)){fa=c[798955]|0;e:do if(fa){ea=3196244;while(1){ca=c[ea>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[ea+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[ea+8>>2]|0;if(!ca){L=128;break e}else ea=ca}ca=ga-ha&W;if(ca>>>0<2147483647){da=Xv(ca|0)|0;if((da|0)==((c[ea>>2]|0)+(c[ea+4>>2]|0)|0))if((da|0)==(-1|0))ja=ca;else{ka=da;la=ca;L=145;break d}else{ma=da;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Xv(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[799068]|0,da=ca+-1|0,Z=((da&f|0)==0?0:(da+f&0-ca)-f|0)+ia|0,f=c[799057]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){da=c[799059]|0;if(da|0?ca>>>0<=f>>>0|ca>>>0>da>>>0:0){ja=0;break}da=Xv(Z|0)|0;if((da|0)==(fa|0)){ka=fa;la=Z;L=145;break d}else{ma=da;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=ma;la=na;L=145;break d}da=c[799069]|0;fa=X-na+da&0-da;if(fa>>>0>=2147483647){ka=ma;la=na;L=145;break d}if((Xv(fa|0)|0)==(-1|0)){Xv(Z|0)|0;ja=0;break}else{ka=ma;la=fa+na|0;L=145;break d}}while(0);c[799060]=c[799060]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Xv(ia|0)|0,ia=Xv(0)|0,na=ia-ja|0,ma=na>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|ma^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=ja;la=ma?na:oa;L=145}if((L|0)==145){oa=(c[799057]|0)+la|0;c[799057]=oa;if(oa>>>0>(c[799058]|0)>>>0)c[799058]=oa;oa=c[798955]|0;f:do if(oa){na=3196244;while(1){pa=c[na>>2]|0;qa=c[na+4>>2]|0;if((ka|0)==(pa+qa|0)){L=154;break}ma=c[na+8>>2]|0;if(!ma)break;else na=ma}if(((L|0)==154?(ma=na+4|0,(c[na+12>>2]&8|0)==0):0)?ka>>>0>oa>>>0&pa>>>0<=oa>>>0:0){c[ma>>2]=qa+la;ma=(c[798952]|0)+la|0;ja=oa+8|0;ia=(ja&7|0)==0?0:0-ja&7;ja=oa+ia|0;X=ma-ia|0;c[798955]=ja;c[798952]=X;c[ja+4>>2]=X|1;c[oa+ma+4>>2]=40;c[798956]=c[799071];break}if(ka>>>0<(c[798953]|0)>>>0)c[798953]=ka;ma=ka+la|0;X=3196244;while(1){if((c[X>>2]|0)==(ma|0)){L=162;break}ja=c[X+8>>2]|0;if(!ja)break;else X=ja}if((L|0)==162?(c[X+12>>2]&8|0)==0:0){c[X>>2]=ka;na=X+4|0;c[na>>2]=(c[na>>2]|0)+la;na=ka+8|0;ja=ka+((na&7|0)==0?0:0-na&7)|0;na=ma+8|0;ia=ma+((na&7|0)==0?0:0-na&7)|0;na=ja+F|0;d=ia-ja-F|0;c[ja+4>>2]=F|3;g:do if((oa|0)==(ia|0)){W=(c[798952]|0)+d|0;c[798952]=W;c[798955]=na;c[na+4>>2]=W|1}else{if((c[798954]|0)==(ia|0)){W=(c[798951]|0)+d|0;c[798951]=W;c[798954]=na;c[na+4>>2]=W|1;c[na+W>>2]=W;break}W=c[ia+4>>2]|0;if((W&3|0)==1){ha=W&-8;ga=W>>>3;h:do if(W>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[798949]=c[798949]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){da=ia+16|0;ca=da+4|0;f=c[ca>>2]|0;if(!f){ba=c[da>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=da}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){da=ca+20|0;ba=c[da>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=da}ca=ua;f=va}c[f>>2]=0;ra=ca}else{da=c[ia+8>>2]|0;c[da+12>>2]=Z;c[Z+8>>2]=da;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;i=3196100+(Z<<2)|0;do if((c[i>>2]|0)!=(ia|0)){da=fa+16|0;c[((c[da>>2]|0)==(ia|0)?da:fa+20|0)>>2]=ra;if(!ra)break h}else{c[i>>2]=ra;if(ra|0)break;c[798950]=c[798950]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;i=c[Z>>2]|0;if(i|0){c[ra+16>>2]=i;c[i+24>>2]=ra}i=c[Z+4>>2]|0;if(!i)break;c[ra+20>>2]=i;c[i+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[na+4>>2]=xa|1;c[na+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){W=3195836+(ga<<1<<2)|0;ea=c[798949]|0;i=1<<ga;if(!(ea&i)){c[798949]=ea|i;ya=W+8|0;za=W}else{i=W+8|0;ya=i;za=c[i>>2]|0}c[ya>>2]=na;c[za+12>>2]=na;c[na+8>>2]=za;c[na+12>>2]=W;break}W=xa>>>8;do if(!W)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}i=(W+1048320|0)>>>16&8;ea=W<<i;ga=(ea+520192|0)>>>16&4;Z=ea<<ga;ea=(Z+245760|0)>>>16&2;da=14-(ga|i|ea)+(Z<<ea>>>15)|0;Aa=xa>>>(da+7|0)&1|da<<1}while(0);W=3196100+(Aa<<2)|0;c[na+28>>2]=Aa;ha=na+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[798950]|0;da=1<<Aa;if(!(ha&da)){c[798950]=ha|da;c[W>>2]=na;c[na+24>>2]=W;c[na+12>>2]=na;c[na+8>>2]=na;break}da=c[W>>2]|0;i:do if((c[da+4>>2]&-8|0)==(xa|0))Ba=da;else{W=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=da;while(1){Ca=ha+16+(W>>>31<<2)|0;ea=c[Ca>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(xa|0)){Ba=ea;break i}else{W=W<<1;ha=ea}}c[Ca>>2]=na;c[na+24>>2]=ha;c[na+12>>2]=na;c[na+8>>2]=na;break g}while(0);da=Ba+8|0;W=c[da>>2]|0;c[W+12>>2]=na;c[da>>2]=na;c[na+8>>2]=W;c[na+12>>2]=Ba;c[na+24>>2]=0}while(0);o=ja+8|0;Ia=b;return o|0}na=3196244;while(1){d=c[na>>2]|0;if(d>>>0<=oa>>>0?(Da=d+(c[na+4>>2]|0)|0,Da>>>0>oa>>>0):0)break;na=c[na+8>>2]|0}na=Da+-47|0;ja=na+8|0;d=na+((ja&7|0)==0?0:0-ja&7)|0;ja=oa+16|0;na=d>>>0<ja>>>0?oa:d;d=na+8|0;ia=la+-40|0;ma=ka+8|0;X=(ma&7|0)==0?0:0-ma&7;ma=ka+X|0;W=ia-X|0;c[798955]=ma;c[798952]=W;c[ma+4>>2]=W|1;c[ka+ia+4>>2]=40;c[798956]=c[799071];ia=na+4|0;c[ia>>2]=27;c[d>>2]=c[799061];c[d+4>>2]=c[799062];c[d+8>>2]=c[799063];c[d+12>>2]=c[799064];c[799061]=ka;c[799062]=la;c[799064]=0;c[799063]=d;d=na+24|0;do{W=d;d=d+4|0;c[d>>2]=7}while((W+8|0)>>>0<Da>>>0);if((na|0)!=(oa|0)){d=na-oa|0;c[ia>>2]=c[ia>>2]&-2;c[oa+4>>2]=d|1;c[na>>2]=d;W=d>>>3;if(d>>>0<256){ma=3195836+(W<<1<<2)|0;X=c[798949]|0;da=1<<W;if(!(X&da)){c[798949]=X|da;Ea=ma+8|0;Fa=ma}else{da=ma+8|0;Ea=da;Fa=c[da>>2]|0}c[Ea>>2]=oa;c[Fa+12>>2]=oa;c[oa+8>>2]=Fa;c[oa+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ga=31;else{da=(ma+1048320|0)>>>16&8;X=ma<<da;ma=(X+520192|0)>>>16&4;W=X<<ma;X=(W+245760|0)>>>16&2;fa=14-(ma|da|X)+(W<<X>>>15)|0;Ga=d>>>(fa+7|0)&1|fa<<1}else Ga=0;fa=3196100+(Ga<<2)|0;c[oa+28>>2]=Ga;c[oa+20>>2]=0;c[ja>>2]=0;X=c[798950]|0;W=1<<Ga;if(!(X&W)){c[798950]=X|W;c[fa>>2]=oa;c[oa+24>>2]=fa;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}W=c[fa>>2]|0;j:do if((c[W+4>>2]&-8|0)==(d|0))Ha=W;else{fa=d<<((Ga|0)==31?0:25-(Ga>>>1)|0);X=W;while(1){Ja=X+16+(fa>>>31<<2)|0;da=c[Ja>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(d|0)){Ha=da;break j}else{fa=fa<<1;X=da}}c[Ja>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break f}while(0);d=Ha+8|0;W=c[d>>2]|0;c[W+12>>2]=oa;c[d>>2]=oa;c[oa+8>>2]=W;c[oa+12>>2]=Ha;c[oa+24>>2]=0}}else{W=c[798953]|0;if((W|0)==0|ka>>>0<W>>>0)c[798953]=ka;c[799061]=ka;c[799062]=la;c[799064]=0;c[798958]=c[799067];c[798957]=-1;c[798962]=3195836;c[798961]=3195836;c[798964]=3195844;c[798963]=3195844;c[798966]=3195852;c[798965]=3195852;c[798968]=3195860;c[798967]=3195860;c[798970]=3195868;c[798969]=3195868;c[798972]=3195876;c[798971]=3195876;c[798974]=3195884;c[798973]=3195884;c[798976]=3195892;c[798975]=3195892;c[798978]=3195900;c[798977]=3195900;c[798980]=3195908;c[798979]=3195908;c[798982]=3195916;c[798981]=3195916;c[798984]=3195924;c[798983]=3195924;c[798986]=3195932;c[798985]=3195932;c[798988]=3195940;c[798987]=3195940;c[798990]=3195948;c[798989]=3195948;c[798992]=3195956;c[798991]=3195956;c[798994]=3195964;c[798993]=3195964;c[798996]=3195972;c[798995]=3195972;c[798998]=3195980;c[798997]=3195980;c[799e3]=3195988;c[798999]=3195988;c[799002]=3195996;c[799001]=3195996;c[799004]=3196004;c[799003]=3196004;c[799006]=3196012;c[799005]=3196012;c[799008]=3196020;c[799007]=3196020;c[799010]=3196028;c[799009]=3196028;c[799012]=3196036;c[799011]=3196036;c[799014]=3196044;c[799013]=3196044;c[799016]=3196052;c[799015]=3196052;c[799018]=3196060;c[799017]=3196060;c[799020]=3196068;c[799019]=3196068;c[799022]=3196076;c[799021]=3196076;c[799024]=3196084;c[799023]=3196084;W=la+-40|0;d=ka+8|0;ja=(d&7|0)==0?0:0-d&7;d=ka+ja|0;na=W-ja|0;c[798955]=d;c[798952]=na;c[d+4>>2]=na|1;c[ka+W+4>>2]=40;c[798956]=c[799071]}while(0);ka=c[798952]|0;if(ka>>>0>F>>>0){la=ka-F|0;c[798952]=la;ka=c[798955]|0;oa=ka+F|0;c[798955]=oa;c[oa+4>>2]=la|1;c[ka+4>>2]=F|3;o=ka+8|0;Ia=b;return o|0}}c[(gt()|0)>>2]=12;o=0;Ia=b;return o|0}function Zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[798953]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[798954]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}c[798951]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[798949]=c[798949]&~(1<<k);l=h;m=h;n=i;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=h;n=i;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3196100+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[798950]=c[798950]&~(1<<j);l=h;m=h;n=i;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=h;n=i;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=f>>>0)return;a=f+4|0;b=c[a>>2]|0;if(!(b&1))return;if(!(b&2)){if((c[798955]|0)==(f|0)){r=(c[798952]|0)+n|0;c[798952]=r;c[798955]=m;c[m+4>>2]=r|1;if((m|0)!=(c[798954]|0))return;c[798954]=0;c[798951]=0;return}if((c[798954]|0)==(f|0)){r=(c[798951]|0)+n|0;c[798951]=r;c[798954]=l;c[m+4>>2]=r|1;c[l+r>>2]=r;return}r=(b&-8)+n|0;x=b>>>3;do if(b>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[798949]=c[798949]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;i=3196100+(t<<2)|0;if((c[i>>2]|0)==(f|0)){c[i>>2]=y;if(!y){c[798950]=c[798950]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;i=c[t>>2]|0;if(i|0){c[y+16>>2]=i;c[i+24>>2]=y}i=c[t+4>>2]|0;if(i|0){c[y+20>>2]=i;c[i+24>>2]=y}}}while(0);c[m+4>>2]=r|1;c[l+r>>2]=r;if((m|0)==(c[798954]|0)){c[798951]=r;return}else D=r}else{c[a>>2]=b&-2;c[m+4>>2]=n|1;c[l+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){l=3195836+(n<<1<<2)|0;b=c[798949]|0;a=1<<n;if(!(b&a)){c[798949]=b|a;E=l+8|0;F=l}else{a=l+8|0;E=a;F=c[a>>2]|0}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=l;return}l=D>>>8;if(l)if(D>>>0>16777215)G=31;else{F=(l+1048320|0)>>>16&8;E=l<<F;l=(E+520192|0)>>>16&4;a=E<<l;E=(a+245760|0)>>>16&2;b=14-(l|F|E)+(a<<E>>>15)|0;G=D>>>(b+7|0)&1|b<<1}else G=0;b=3196100+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[798950]|0;a=1<<G;a:do if(!(E&a)){c[798950]=E|a;c[b>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m}else{F=c[b>>2]|0;b:do if((c[F+4>>2]&-8|0)==(D|0))H=F;else{l=D<<((G|0)==31?0:25-(G>>>1)|0);n=F;while(1){I=n+16+(l>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{l=l<<1;n=r}}c[I>>2]=m;c[m+24>>2]=n;c[m+12>>2]=m;c[m+8>>2]=m;break a}while(0);F=H+8|0;w=c[F>>2]|0;c[w+12>>2]=m;c[F>>2]=m;c[m+8>>2]=w;c[m+12>>2]=H;c[m+24>>2]=0}while(0);m=(c[798957]|0)+-1|0;c[798957]=m;if(m|0)return;m=3196252;while(1){H=c[m>>2]|0;if(!H)break;else m=H+8|0}c[798957]=-1;return}function _s(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Ys(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Wv(d|0,0,e|0)|0;return d|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Ys(b)|0;return d|0}if(b>>>0>4294967231){c[(gt()|0)>>2]=12;d=0;return d|0}e=at(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Ys(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Vv(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Zs(a);d=e;return d|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[799069]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;bt(j,i);h=a;return h|0}if((c[798955]|0)==(g|0)){i=(c[798952]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[798955]=k;c[798952]=j;h=a;return h|0}if((c[798954]|0)==(g|0)){j=(c[798951]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[798951]=o;c[798954]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[798949]=c[798949]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3196100+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[798950]=c[798950]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;bt(r,f);h=a;return h|0}return 0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[798954]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[798951]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[798949]=c[798949]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3196100+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[798950]=c[798950]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[798955]|0)==(d|0)){p=(c[798952]|0)+l|0;c[798952]=p;c[798955]=k;c[k+4>>2]=p|1;if((k|0)!=(c[798954]|0))return;c[798954]=0;c[798951]=0;return}if((c[798954]|0)==(d|0)){p=(c[798951]|0)+l|0;c[798951]=p;c[798954]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[798949]=c[798949]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3196100+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[798950]=c[798950]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[798954]|0)){c[798951]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3195836+(l<<1<<2)|0;b=c[798949]|0;p=1<<l;if(!(b&p)){c[798949]=b|p;C=a+8|0;D=a}else{p=a+8|0;C=p;D=c[p>>2]|0}c[C>>2]=k;c[D+12>>2]=k;c[k+8>>2]=D;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{D=(a+1048320|0)>>>16&8;C=a<<D;a=(C+520192|0)>>>16&4;p=C<<a;C=(p+245760|0)>>>16&2;b=14-(a|D|C)+(p<<C>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3196100+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;C=c[798950]|0;p=1<<E;if(!(C&p)){c[798950]=C|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);C=p;while(1){G=C+16+(b>>>31<<2)|0;D=c[G>>2]|0;if(!D)break;if((c[D+4>>2]&-8|0)==(B|0)){F=D;break a}else{b=b<<1;C=D}}c[G>>2]=k;c[k+24>>2]=C;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function ct(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=ht(c[a+60>>2]|0)|0;a=ft(ea(6,d|0)|0)|0;Ia=b;return a|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=ft(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Ia=f;return m|0}function et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ia;Ia=Ia+32|0;g=f+8|0;h=f;c[g>>2]=c[a+60>>2];c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=h;c[g+16>>2]=e;if((ft(Y(140,g|0)|0)|0)<0){g=h;c[g>>2]=-1;c[g+4>>2]=-1;i=-1;j=-1}else{g=h;i=c[g+4>>2]|0;j=c[g>>2]|0}F(i|0);Ia=f;return j|0}function ft(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(gt()|0)>>2]=0-a;b=-1}else b=a;return b|0}function gt(){return 3196292}function ht(a){a=a|0;return a|0}function it(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+32|0;g=f;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=jt(b,d,e)|0;Ia=f;return g|0}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=ft(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=c[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=n+(q<<31>>31)|0;t=g-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;g=ft(_(146,f|0)|0)|0;if((o|0)==(g|0)){u=3;break a}else{m=r;n=s}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((n|0)==2)v=0;else v=d-(c[m+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Ia=e;return v|0}function kt(a,b){a=+a;b=b|0;return +(+lt(a,b))}function lt(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0,j=0.0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?((f|0)>-1022?f:-1022):b+1022|0;j=e?d*2.2250738585072014e-308:d}else{i=b;j=a}else{d=a*8988465674311579538646525.0e283;e=(b|0)>2046;f=b+-2046|0;i=e?((f|0)<1023?f:1023):b+-1023|0;j=e?d*8988465674311579538646525.0e283:d}e=Rv(i+1023|0,0,52)|0;i=G()|0;c[h>>2]=e;c[h+4>>2]=i;return +(j*+g[h>>3])}function mt(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0,k=0.0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Qv(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+mt(a*18446744073709551616.0,b);j=(c[b>>2]|0)+-64|0;k=i}else{j=0;k=a}c[b>>2]=j;l=k;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function nt(a,b){a=+a;b=+b;return +(+ot(a,b))}function ot(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function pt(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=Qv(d|0,e|0,52)|0;G()|0;k=j&2047;j=Qv(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=Rv(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=qt(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=Rv(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=Rv(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=p;p=o;o=0;while(1){r=o+-1|0;q=Rv(q|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){s=r;break}else o=r}}else s=0;o=Rv(d|0,e|0,1-s|0)|0;t=o;u=G()|0;v=s}else{t=d;u=e&1048575|1048576;v=k}if(!l){o=Rv(f|0,i|0,12)|0;q=G()|0;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){p=o;o=q;q=0;while(1){r=q+-1|0;p=Rv(p|0,o|0,1)|0;o=G()|0;if(!((o|0)>-1|(o|0)==-1&p>>>0>4294967295)){w=r;break}else q=r}}else w=0;q=Rv(f|0,i|0,1-w|0)|0;x=q;y=G()|0;z=w}else{x=f;y=i&1048575|1048576;z=l}q=Iv(t|0,u|0,x|0,y|0)|0;p=G()|0;o=(p|0)>-1|(p|0)==-1&q>>>0>4294967295;b:do if((v|0)>(z|0)){r=t;A=u;B=q;C=p;D=o;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;H=C}else{F=r;H=A}I=Rv(F|0,H|0,1)|0;J=G()|0;K=E+-1|0;L=Iv(I|0,J|0,x|0,y|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){r=I;A=J;B=L;C=M;D=N;E=K}else{O=L;P=M;Q=I;R=J;S=N;T=K;break b}}U=a*0.0;break a}else{O=q;P=p;Q=t;R=u;S=o;T=v}while(0);if(S)if((O|0)==0&(P|0)==0){U=a*0.0;break}else{V=P;W=O}else{V=R;W=Q}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=W;p=V;q=T;while(1){E=Rv(o|0,p|0,1)|0;D=G()|0;C=q+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=E;p=D;q=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){q=Hv(X|0,Y|0,0,-1048576)|0;p=G()|0;o=Rv(Z|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=Qv(X|0,Y|0,1-Z|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function qt(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function rt(a,b){a=+a;b=+b;return +(+pt(a,b))}function st(a,b){a=+a;b=b|0;return +(+lt(a,b))}function tt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ut(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=g;k=b;l=e;m=c;while(1){l=l+-1|0;n=a[m>>0]|0;if(!(j<<24>>24==n<<24>>24&((l|0)!=0&n<<24>>24!=0))){h=j;i=m;break a}k=k+1|0;n=m+1|0;j=a[k>>0]|0;if(!(j<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function vt(a){a=a|0;return (a+-48|0)>>>0<10|0}function wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=xt(a,b,f)|0;Ia=e;return d|0}function xt(a,b,c){a=a|0;b=b|0;c=c|0;return yt(a,2147483647,b,c)|0}function yt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+160|0;h=g+144|0;i=g;Vv(i|0,34720,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){j=1;k=h;l=4}else{c[(gt()|0)>>2]=75;m=-1}else{j=d;k=b;l=4}if((l|0)==4){l=-2-k|0;b=j>>>0>l>>>0?l:j;c[i+48>>2]=b;j=i+20|0;c[j>>2]=k;c[i+44>>2]=k;l=k+b|0;k=i+16|0;c[k>>2]=l;c[i+28>>2]=l;l=zt(i,e,f)|0;if(!b)m=l;else{b=c[j>>2]|0;a[b+(((b|0)==(c[k>>2]|0))<<31>>31)>>0]=0;m=l}}Ia=g;return m|0}function zt(a,b,c){a=a|0;b=b|0;c=c|0;return Ct(a,b,c,1,8)|0}function At(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=Ia;Ia=Ia+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=Ut(e)|0;r=G()|0;if((r|0)<0){s=-e;t=Ut(s)|0;u=G()|0;v=t;w=1;x=104829;y=s}else{u=r;v=q;w=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?104830:104835):104832;y=e}do if(0==0&(u&2146435072|0)==2146435072){q=(i&32|0)!=0;v=w+3|0;Nt(b,32,f,v,h&-65537);Gt(b,x,w);Gt(b,y!=y|0.0!=0.0?(q?104878:104856):q?104848:104852,3);Nt(b,32,f,v,h^8192);z=v}else{e=+mt(y,l)*2.0;v=e!=0.0;if(v)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;A=w|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){D=C;s=8.0;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=Lt(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[34256+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;Nt(b,32,f,F,h);Gt(b,t,A);Nt(b,48,f,F,h^65536);D=I-n|0;Gt(b,m,D);I=O-P|0;Nt(b,48,N-(D+I)|0,0,0);Gt(b,C,I);Nt(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(v){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=I;R=e*268435456.0}else{Q=c[l>>2]|0;R=e}I=(Q|0)<0?k:k+288|0;J=R;D=I;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);v=I;if((Q|0)>0){C=Q;A=I;t=D;while(1){r=(C|0)<29?C:29;L=t+-4|0;if(L>>>0>=A>>>0){K=0;S=L;do{L=Rv(c[S>>2]|0,0,r|0)|0;T=Hv(L|0,G()|0,K|0,0)|0;L=G()|0;K=Ov(T|0,L|0,1e9,0)|0;U=Nv(K|0,G()|0,1e9,0)|0;V=Iv(T|0,L|0,U|0,G()|0)|0;G()|0;c[S>>2]=V;S=S+-4|0}while(S>>>0>=A>>>0);if(K){S=A+-4|0;c[S>>2]=K;W=S}else W=A}else W=A;a:do if(t>>>0>W>>>0){S=t;while(1){V=S+-4|0;if(c[V>>2]|0){X=S;break a}if(V>>>0>W>>>0)S=V;else{X=V;break}}}else X=t;while(0);K=(c[l>>2]|0)-r|0;c[l>>2]=K;if((K|0)>0){C=K;A=W;t=X}else{Y=K;Z=W;_=X;break}}}else{Y=Q;Z=I;_=D}if((Y|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;K=Z;S=_;while(1){V=0-C|0;U=(V|0)<9?V:9;if(K>>>0<S>>>0){V=(1<<U)+-1|0;L=1e9>>>U;T=0;$=K;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,L)|0;$=$+4|0}while($>>>0<S>>>0);$=(c[K>>2]|0)==0?K+4|0:K;if(!T){ba=$;ca=S}else{c[S>>2]=T;ba=$;ca=S+4|0}}else{ba=(c[K>>2]|0)==0?K+4|0:K;ca=S}$=A?I:ba;L=(ca-$>>2|0)>(t|0)?$+(t<<2)|0:ca;C=(c[l>>2]|0)+U|0;c[l>>2]=C;if((C|0)>=0){da=ba;ea=L;break}else{K=ba;S=L}}}else{da=Z;ea=_}if(da>>>0<ea>>>0){S=(v-da>>2)*9|0;K=c[da>>2]|0;if(K>>>0<10)fa=S;else{C=S;S=10;while(1){S=S*10|0;t=C+1|0;if(K>>>0<S>>>0){fa=t;break}else C=t}}}else fa=0;C=(q|0)==103;S=(F|0)!=0;K=F-((q|0)==102?0:fa)+((S&C)<<31>>31)|0;if((K|0)<(((ea-v>>2)*9|0)+-9|0)){t=K+9216|0;K=(t|0)/9|0;A=I+4+(K+-1024<<2)|0;D=t-(K*9|0)|0;if((D|0)<8){K=10;t=D;while(1){D=K*10|0;if((t|0)<7){K=D;t=t+1|0}else{ga=D;break}}}else ga=10;t=c[A>>2]|0;K=(t>>>0)/(ga>>>0)|0;q=t-(B(K,ga)|0)|0;D=(A+4|0)==(ea|0);if(!(D&(q|0)==0)){s=(K&1|0)==0?9007199254740992.0:9007199254740994.0;K=ga>>>1;J=q>>>0<K>>>0?.5:D&(q|0)==(K|0)?1.0:1.5;if(!w){ha=s;ia=J}else{K=(a[x>>0]|0)==45;ha=K?-s:s;ia=K?-J:J}K=t-q|0;c[A>>2]=K;if(ha+ia!=ha){q=K+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=da;K=A;while(1){t=K+-4|0;c[K>>2]=0;if(t>>>0<q>>>0){D=q+-4|0;c[D>>2]=0;ja=D}else ja=q;D=(c[t>>2]|0)+1|0;c[t>>2]=D;if(D>>>0>999999999){q=ja;K=t}else{ka=ja;la=t;break}}}else{ka=da;la=A}K=(v-ka>>2)*9|0;q=c[ka>>2]|0;if(q>>>0<10){ma=ka;na=la;oa=K}else{t=K;K=10;while(1){K=K*10|0;D=t+1|0;if(q>>>0<K>>>0){ma=ka;na=la;oa=D;break}else t=D}}}else{ma=da;na=A;oa=fa}}else{ma=da;na=A;oa=fa}t=na+4|0;pa=ma;qa=oa;ra=ea>>>0>t>>>0?t:ea}else{pa=da;qa=fa;ra=ea}t=0-qa|0;b:do if(ra>>>0>pa>>>0){K=ra;while(1){q=K+-4|0;if(c[q>>2]|0){sa=1;ta=K;break b}if(q>>>0>pa>>>0)K=q;else{sa=0;ta=q;break}}}else{sa=0;ta=ra}while(0);do if(C){A=F+((S^1)&1)|0;if((A|0)>(qa|0)&(qa|0)>-5){ua=A+-1-qa|0;va=i+-1|0}else{ua=A+-1|0;va=i+-2|0}if(!(h&8)){if(sa?(A=c[ta+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){K=10;U=0;while(1){K=K*10|0;T=U+1|0;if((A>>>0)%(K>>>0)|0|0){wa=T;break}else U=T}}else wa=0;else wa=9;U=((ta-v>>2)*9|0)+-9|0;if((va|32|0)==102){K=U-wa|0;A=(K|0)>0?K:0;xa=(ua|0)<(A|0)?ua:A;ya=va;break}else{A=U+qa-wa|0;U=(A|0)>0?A:0;xa=(ua|0)<(U|0)?ua:U;ya=va;break}}else{xa=ua;ya=va}}else{xa=F;ya=i}while(0);F=(xa|0)!=0;v=F?1:h>>>3&1;S=(ya|32|0)==102;if(S){za=0;Aa=(qa|0)>0?qa:0}else{C=(qa|0)<0?t:qa;U=Lt(C,((C|0)<0)<<31>>31,p)|0;C=p;if((C-U|0)<2){A=U;while(1){K=A+-1|0;a[K>>0]=48;if((C-K|0)<2)A=K;else{Ba=K;break}}}else Ba=U;a[Ba+-1>>0]=(qa>>31&2)+43;A=Ba+-2|0;a[A>>0]=ya;za=A;Aa=C-A|0}A=w+1+xa+v+Aa|0;Nt(b,32,f,A,h);Gt(b,x,w);Nt(b,48,f,A,h^65536);if(S){t=pa>>>0>I>>>0?I:pa;K=m+9|0;T=K;q=m+8|0;D=t;do{L=Lt(c[D>>2]|0,0,K)|0;if((D|0)==(t|0))if((L|0)==(K|0)){a[q>>0]=48;Ca=q}else Ca=L;else if(L>>>0>m>>>0){Wv(m|0,48,L-n|0)|0;$=L;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=L;Gt(b,Ca,T-Ca|0);D=D+4|0}while(D>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))Gt(b,104886,1);if(D>>>0<ta>>>0&(xa|0)>0){I=D;T=xa;while(1){q=Lt(c[I>>2]|0,0,K)|0;if(q>>>0>m>>>0){Wv(m|0,48,q-n|0)|0;t=q;while(1){S=t+-1|0;if(S>>>0>m>>>0)t=S;else{Da=S;break}}}else Da=q;Gt(b,Da,(T|0)<9?T:9);I=I+4|0;t=T+-9|0;if(!(I>>>0<ta>>>0&(T|0)>9)){Ea=t;break}else T=t}}else Ea=xa;Nt(b,48,Ea+9|0,9,0)}else{T=sa?ta:pa+4|0;if(pa>>>0<T>>>0&(xa|0)>-1){I=m+9|0;K=(h&8|0)==0;D=I;F=0-n|0;t=m+8|0;L=pa;S=xa;while(1){v=Lt(c[L>>2]|0,0,I)|0;if((v|0)==(I|0)){a[t>>0]=48;Fa=t}else Fa=v;do if((L|0)==(pa|0)){v=Fa+1|0;Gt(b,Fa,1);if(K&(S|0)<1){Ga=v;break}Gt(b,104886,1);Ga=v}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}Wv(m|0,48,Fa+F|0)|0;v=Fa;while(1){C=v+-1|0;if(C>>>0>m>>>0)v=C;else{Ga=C;break}}}while(0);q=D-Ga|0;Gt(b,Ga,(S|0)>(q|0)?q:S);v=S-q|0;L=L+4|0;if(!(L>>>0<T>>>0&(v|0)>-1)){Ha=v;break}else S=v}}else Ha=xa;Nt(b,48,Ha+18|0,18,0);Gt(b,za,p-za|0)}Nt(b,32,f,A,h^8192);z=A}while(0);Ia=j;return ((z|0)<(f|0)?f:z)|0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0.0;d=(c[b>>2]|0)+(8-1)&~(8-1);e=+g[d>>3];c[b>>2]=d+8;g[a>>3]=e;return}function Ct(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=Ia;Ia=Ia+224|0;i=h+208|0;j=h+160|0;k=h+80|0;l=h;m=j;n=m+40|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[i>>2]=c[e>>2];if((Dt(0,d,i,k,j,f,g)|0)<0)o=-1;else{if((c[b+76>>2]|0)>-1)p=Et(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){n=b+44|0;q=c[n>>2]|0;c[n>>2]=l;r=b+28|0;c[r>>2]=l;s=b+20|0;c[s>>2]=l;c[e>>2]=80;t=b+16|0;c[t>>2]=l+80;l=Dt(b,d,i,k,j,f,g)|0;if(!q)u=l;else{Oa[c[b+36>>2]&7](b,0,0)|0;v=(c[s>>2]|0)==0?-1:l;c[n>>2]=q;c[e>>2]=0;c[t>>2]=0;c[r>>2]=0;c[s>>2]=0;u=v}}else u=Dt(b,d,i,k,j,f,g)|0;g=c[b>>2]|0;c[b>>2]=g|m;if(p|0)Ft(b);o=(g&32|0)==0?u:-1}Ia=h;return o|0}function Dt(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,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;l=Ia;Ia=Ia+64|0;m=l+56|0;n=l+40|0;o=l;p=l+48|0;q=l+60|0;c[m>>2]=e;e=(d|0)!=0;r=o+40|0;s=r;t=o+39|0;o=p+4|0;u=0;v=0;w=0;a:while(1){x=u;y=v;while(1){do if((x|0)>-1)if((y|0)>(2147483647-x|0)){c[(gt()|0)>>2]=75;z=-1;break}else{z=y+x|0;break}else z=x;while(0);A=c[m>>2]|0;B=a[A>>0]|0;if(!(B<<24>>24)){C=92;break a}D=B;B=A;b:while(1){switch(D<<24>>24){case 37:{C=10;break b;break}case 0:{E=B;break b;break}default:{}}F=B+1|0;c[m>>2]=F;D=a[F>>0]|0;B=F}c:do if((C|0)==10){C=0;D=B;F=B;while(1){if((a[D+1>>0]|0)!=37){E=F;break c}H=F+1|0;D=D+2|0;c[m>>2]=D;if((a[D>>0]|0)!=37){E=H;break}else F=H}}while(0);y=E-A|0;if(e)Gt(d,A,y);if(!y)break;else x=z}x=(vt(a[(c[m>>2]|0)+1>>0]|0)|0)==0;y=c[m>>2]|0;if(!x?(a[y+2>>0]|0)==36:0){I=3;J=(a[y+1>>0]|0)+-48|0;K=1}else{I=1;J=-1;K=w}x=y+I|0;c[m>>2]=x;y=a[x>>0]|0;B=(y<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){L=y;M=0;N=x}else{y=0;F=x;x=B;while(1){B=1<<x|y;D=F+1|0;c[m>>2]=D;H=a[D>>0]|0;x=(H<<24>>24)+-32|0;if(x>>>0>31|(1<<x&75913|0)==0){L=H;M=B;N=D;break}else{y=B;F=D}}}if(L<<24>>24==42){if((vt(a[N+1>>0]|0)|0)!=0?(F=c[m>>2]|0,(a[F+2>>0]|0)==36):0){y=F+1|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;O=1;P=F+3|0;Q=c[h+((a[y>>0]|0)+-48<<3)>>2]|0}else{if(K|0){R=-1;break}if(e){y=(c[f>>2]|0)+(4-1)&~(4-1);F=c[y>>2]|0;c[f>>2]=y+4;S=F}else S=0;O=0;P=(c[m>>2]|0)+1|0;Q=S}c[m>>2]=P;F=(Q|0)<0;T=P;U=F?M|8192:M;V=O;W=F?0-Q|0:Q}else{F=Ht(m)|0;if((F|0)<0){R=-1;break}T=c[m>>2]|0;U=M;V=K;W=F}do if((a[T>>0]|0)==46){F=T+1|0;if((a[F>>0]|0)!=42){c[m>>2]=F;F=Ht(m)|0;X=c[m>>2]|0;Y=F;break}if(vt(a[T+2>>0]|0)|0?(F=c[m>>2]|0,(a[F+3>>0]|0)==36):0){y=F+2|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;x=c[h+((a[y>>0]|0)+-48<<3)>>2]|0;y=F+4|0;c[m>>2]=y;X=y;Y=x;break}if(V|0){R=-1;break a}if(e){x=(c[f>>2]|0)+(4-1)&~(4-1);y=c[x>>2]|0;c[f>>2]=x+4;Z=y}else Z=0;y=(c[m>>2]|0)+2|0;c[m>>2]=y;X=y;Y=Z}else{X=T;Y=-1}while(0);y=X;x=0;while(1){if(((a[y>>0]|0)+-65|0)>>>0>57){R=-1;break a}F=y;y=y+1|0;c[m>>2]=y;_=a[(a[F>>0]|0)+-65+(33792+(x*58|0))>>0]|0;$=_&255;if(($+-1|0)>>>0>=8)break;else x=$}if(!(_<<24>>24)){R=-1;break}F=(J|0)>-1;do if(_<<24>>24==19)if(F){R=-1;break a}else C=54;else{if(F){c[i+(J<<2)>>2]=$;D=h+(J<<3)|0;B=c[D+4>>2]|0;H=n;c[H>>2]=c[D>>2];c[H+4>>2]=B;C=54;break}if(!e){R=0;break a}It(n,$,f,k);aa=c[m>>2]|0;C=55}while(0);if((C|0)==54){C=0;if(e){aa=y;C=55}else ba=0}d:do if((C|0)==55){C=0;F=a[aa+-1>>0]|0;B=(x|0)!=0&(F&15|0)==3?F&-33:F;F=U&-65537;H=(U&8192|0)==0?U:F;e:do switch(B|0){case 110:{switch((x&255)<<24>>24){case 0:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 1:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 2:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}case 3:{b[c[n>>2]>>1]=z;ba=0;break d;break}case 4:{a[c[n>>2]>>0]=z;ba=0;break d;break}case 6:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 7:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}default:{ba=0;break d}}break}case 112:{ca=H|8;da=Y>>>0>8?Y:8;ea=120;C=67;break}case 88:case 120:{ca=H;da=Y;ea=B;C=67;break}case 111:{D=n;fa=Kt(c[D>>2]|0,c[D+4>>2]|0,r)|0;D=s-fa|0;ga=fa;ha=H;ia=(H&8|0)==0|(Y|0)>(D|0)?Y:D+1|0;ja=0;ka=104812;C=73;break}case 105:case 100:{D=n;fa=c[D>>2]|0;la=c[D+4>>2]|0;if((la|0)<0){D=Iv(0,0,fa|0,la|0)|0;ma=G()|0;na=n;c[na>>2]=D;c[na+4>>2]=ma;oa=D;pa=ma;qa=1;ra=104812;C=72;break e}else{oa=fa;pa=la;qa=(H&2049|0)!=0&1;ra=(H&2048|0)==0?((H&1|0)==0?104812:104814):104813;C=72;break e}break}case 117:{la=n;oa=c[la>>2]|0;pa=c[la+4>>2]|0;qa=0;ra=104812;C=72;break}case 99:{a[t>>0]=c[n>>2];sa=t;ta=F;ua=1;va=0;wa=104812;xa=s;break}case 115:{la=c[n>>2]|0;fa=(la|0)==0?104822:la;la=Mt(fa,0,Y)|0;ma=(la|0)==0;sa=fa;ta=F;ua=ma?Y:la-fa|0;va=0;wa=104812;xa=ma?fa+Y|0:la;break}case 67:{c[p>>2]=c[n>>2];c[o>>2]=0;c[n>>2]=p;ya=-1;C=79;break}case 83:{if(!Y){Nt(d,32,W,0,H);za=0;C=89}else{ya=Y;C=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{ba=Ma[j&1](d,+g[n>>3],W,Y,H,B)|0;break d;break}default:{sa=A;ta=H;ua=Y;va=0;wa=104812;xa=s}}while(0);f:do if((C|0)==67){C=0;B=n;F=Jt(c[B>>2]|0,c[B+4>>2]|0,r,ea&32)|0;B=n;la=(ca&8|0)==0|(c[B>>2]|0)==0&(c[B+4>>2]|0)==0;ga=F;ha=ca;ia=da;ja=la?0:2;ka=la?104812:104812+(ea>>>4)|0;C=73}else if((C|0)==72){C=0;ga=Lt(oa,pa,r)|0;ha=H;ia=Y;ja=qa;ka=ra;C=73}else if((C|0)==79){C=0;la=0;F=c[n>>2]|0;while(1){B=c[F>>2]|0;if(!B){Aa=la;break}fa=Ot(q,B)|0;Ba=(fa|0)<0;if(Ba|fa>>>0>(ya-la|0)>>>0){C=83;break}B=fa+la|0;if(ya>>>0>B>>>0){la=B;F=F+4|0}else{Aa=B;break}}if((C|0)==83){C=0;if(Ba){R=-1;break a}else Aa=la}Nt(d,32,W,Aa,H);if(!Aa){za=0;C=89}else{F=0;B=c[n>>2]|0;while(1){fa=c[B>>2]|0;if(!fa){za=Aa;C=89;break f}ma=Ot(q,fa)|0;F=ma+F|0;if((F|0)>(Aa|0)){za=Aa;C=89;break f}Gt(d,q,ma);if(F>>>0>=Aa>>>0){za=Aa;C=89;break}else B=B+4|0}}}while(0);if((C|0)==73){C=0;B=n;F=(c[B>>2]|0)!=0|(c[B+4>>2]|0)!=0;B=(ia|0)!=0|F;la=s-ga+((F^1)&1)|0;sa=B?ga:r;ta=(ia|0)>-1?ha&-65537:ha;ua=B?((ia|0)>(la|0)?ia:la):0;va=ja;wa=ka;xa=s}else if((C|0)==89){C=0;Nt(d,32,W,za,H^8192);ba=(W|0)>(za|0)?W:za;break}la=xa-sa|0;B=(ua|0)<(la|0)?la:ua;F=B+va|0;ma=(W|0)<(F|0)?F:W;Nt(d,32,ma,F,ta);Gt(d,wa,va);Nt(d,48,ma,F,ta^65536);Nt(d,48,B,la,0);Gt(d,sa,la);Nt(d,32,ma,F,ta^8192);ba=ma}while(0);u=z;v=ba;w=V}g:do if((C|0)==92)if(!d)if(!w)R=0;else{V=1;while(1){ba=c[i+(V<<2)>>2]|0;if(!ba)break;It(h+(V<<3)|0,ba,f,k);ba=V+1|0;if(ba>>>0<10)V=ba;else{R=1;break g}}ba=V;while(1){if(c[i+(ba<<2)>>2]|0){R=-1;break g}ba=ba+1|0;if(ba>>>0>=10){R=1;break}}}else R=z;while(0);Ia=l;return R|0}function Et(a){a=a|0;return 1}function Ft(a){a=a|0;return}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))St(b,d,a)|0;return}function Ht(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(vt(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(vt(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function It(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.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;c[a>>2]=h;break a;break}case 10:{h=(c[d>>2]|0)+(4-1)&~(4-1);f=c[h>>2]|0;c[d>>2]=h+4;h=a;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;break a;break}case 11:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=h;c[f+4>>2]=0;break a;break}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=f;i=c[h>>2]|0;j=c[h+4>>2]|0;c[d>>2]=f+8;f=a;c[f>>2]=i;c[f+4>>2]=j;break a;break}case 13:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&65535)<<16>>16;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 14:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&65535;c[j+4>>2]=0;break a;break}case 15:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&255)<<24>>24;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 16:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&255;c[j+4>>2]=0;break a;break}case 17:{j=(c[d>>2]|0)+(8-1)&~(8-1);k=+g[j>>3];c[d>>2]=j+8;g[a>>3]=k;break a;break}case 18:{Ta[e&15](a,d);break a;break}default:break a}while(0);while(0);return}function Jt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=b;b=c;c=e;while(1){e=c+-1|0;a[e>>0]=d[34256+(h&15)>>0]|0|f;h=Qv(h|0,b|0,4)|0;b=G()|0;if((h|0)==0&(b|0)==0){g=e;break}else c=e}}return g|0}function Kt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=b;b=c;c=d;while(1){d=c+-1|0;a[d>>0]=f&7|48;f=Qv(f|0,b|0,3)|0;b=G()|0;if((f|0)==0&(b|0)==0){e=d;break}else c=d}}return e|0}function Lt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=b;f=c;c=d;do{g=e;e=Ov(e|0,f|0,10,0)|0;h=f;f=G()|0;i=Nv(e|0,f|0,10,0)|0;j=Iv(g|0,h|0,i|0,G()|0)|0;G()|0;c=c+-1|0;a[c>>0]=j&255|48}while(h>>>0>9|(h|0)==9&g>>>0>4294967295);k=c;l=e}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=k;k=(k>>>0)/10|0;d=b+-1|0;a[d>>0]=l-(k*10|0)|48;if(l>>>0<10){m=d;break}else b=d}}return m|0}function Mt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=e;r=b;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[l>>0]|0)==r<<24>>24)if(!k){m=16;break}else{t=l;break}q=B(f,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){b=c[g>>2]^q;if((b&-2139062144^-2139062144)&b+-16843009|0){u=g;v=s;break c}b=g+4|0;e=s+-4|0;if(e>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!w){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[g>>0]|0)==r<<24>>24){t=g;break b}q=q+-1|0;if(!q){m=16;break}else g=g+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Nt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Wv(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Gt(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Gt(a,g,h)}Ia=f;return}function Ot(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Pt(a,b,0)|0;return c|0}function Pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Qt()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(gt()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(gt()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Qt(){return Rt()|0}function Rt(){return 34988}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,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tt(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=Oa[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=k;m=0;n=d;o=b}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=k;m=0;n=d;o=b;break b}else f=p}p=Oa[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=c[g>>2]|0;m=f;n=d-f|0;o=b+f|0}while(0);Vv(l|0,o|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Tt(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Ut(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Vv(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+112|0;c[e>>2]=b;c[e+4>>2]=d;e=c[a+8>>2]|0;f=c[a+4>>2]|0;g=e-f|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]=f+b;else c[a+104>>2]=e;return}function Xt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(gt()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+104|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Yt(b)|0}while((Zt(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=d[o>>0]|0;q=m;break b}else{p=Yt(b)|0;q=m;break b}break}default:{p=n;q=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(p|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Yt(b)|0;if((r|32|0)!=120)if(m){s=8;t=r;u=47;break}else{v=e;w=r;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Yt(b)|0;if((d[34273+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Wt(b,0,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=16;t=x;u=47}}else{o=m?10:e;if(o>>>0>(d[34273+p>>0]|0)>>>0){v=o;w=p;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Wt(b,0,0);c[(gt()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((v|0)==10){m=w+-48|0;if(m>>>0<10){o=m;m=0;do{m=(m*10|0)+o|0;y=c[k>>2]|0;if(y>>>0<(c[l>>2]|0)>>>0){c[k>>2]=y+1;z=d[y>>0]|0}else z=Yt(b)|0;o=z+-48|0}while(o>>>0<10&m>>>0<429496729);if(o>>>0<10){y=m;A=0;C=z;D=o;while(1){E=Nv(y|0,A|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=y;L=A;M=10;N=C;u=76;break c}y=Hv(E|0,H|0,D|0,I|0)|0;A=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Yt(b)|0;D=O+-48|0;if(!(D>>>0<10&(A>>>0<429496729|(A|0)==429496729&y>>>0<2576980378)))break;else C=O}if(D>>>0>9){P=A;Q=y;R=q}else{K=y;L=A;M=10;N=O;u=76}}else{P=0;Q=m;R=q}}else{P=0;Q=0;R=q}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(s+-1&s)){C=a[104860+((s*23|0)>>>5&7)>>0]|0;o=a[34273+t>>0]|0;I=o&255;if(s>>>0>I>>>0){H=I;E=0;do{E=H|E<<C;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Yt(b)|0;T=a[34273+S>>0]|0;H=T&255}while(E>>>0<134217728&s>>>0>H>>>0);U=T;V=0;W=E;X=S;Y=H}else{U=o;V=0;W=0;X=t;Y=I}m=Qv(-1,-1,C|0)|0;A=G()|0;if(s>>>0<=Y>>>0|(A>>>0<V>>>0|(A|0)==(V|0)&m>>>0<W>>>0)){K=W;L=V;M=s;N=X;u=76;break}y=W;D=V;J=U;while(1){Z=Rv(y|0,D|0,C|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Yt(b)|0;J=a[34273+aa>>0]|0;if(s>>>0<=(J&255)>>>0|(_>>>0>A>>>0|(_|0)==(A|0)&$>>>0>m>>>0)){K=$;L=_;M=s;N=aa;u=76;break d}else{y=$;D=_}}}D=a[34273+t>>0]|0;y=D&255;if(s>>>0>y>>>0){m=y;A=0;do{A=m+(B(A,s)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Yt(b)|0;ca=a[34273+ba>>0]|0;m=ca&255}while(A>>>0<119304647&s>>>0>m>>>0);da=ca;ea=A;fa=0;ga=ba;ha=m}else{da=D;ea=0;fa=0;ga=t;ha=y}if(s>>>0>ha>>>0){J=Ov(-1,-1,s|0,0)|0;C=G()|0;I=da;o=fa;H=ea;E=ga;while(1){if(o>>>0>C>>>0|(o|0)==(C|0)&H>>>0>J>>>0){K=H;L=o;M=s;N=E;u=76;break d}_=Nv(H|0,o|0,s|0,0)|0;$=G()|0;Z=I&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=H;L=o;M=s;N=E;u=76;break d}ia=Hv(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Yt(b)|0;I=a[34273+ja>>0]|0;if(s>>>0<=(I&255)>>>0){K=ia;L=Z;M=s;N=ja;u=76;break}else{o=Z;H=ia;E=ja}}}else{K=ea;L=fa;M=s;N=ga;u=76}}while(0);if((u|0)==76)if(M>>>0>(d[34273+N>>0]|0)>>>0){do{E=c[k>>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;ka=d[E>>0]|0}else ka=Yt(b)|0}while(M>>>0>(d[34273+ka>>0]|0)>>>0);c[(gt()|0)>>2]=34;P=h;Q=g;R=(g&1|0)==0&0==0?q:0}else{P=L;Q=K;R=q}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(P>>>0<h>>>0|(P|0)==(h|0)&Q>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(R|0)!=0)){c[(gt()|0)>>2]=34;E=Hv(g|0,h|0,-1,-1)|0;i=G()|0;j=E;break}if(P>>>0>h>>>0|(P|0)==(h|0)&Q>>>0>g>>>0){c[(gt()|0)>>2]=34;i=h;j=g;break}}E=((R|0)<0)<<31>>31;H=Iv(Q^R|0,P^E|0,R|0,E|0)|0;i=G()|0;j=H}while(0);F(i|0);return j|0}function Yt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+112|0;f=e;g=c[f>>2]|0;h=c[f+4>>2]|0;if(!((g|0)==0&(h|0)==0)?(f=b+120|0,i=c[f+4>>2]|0,!((i|0)<(h|0)|((i|0)==(h|0)?(c[f>>2]|0)>>>0<g>>>0:0))):0)j=4;else{g=_t(b)|0;if((g|0)>=0){f=e;e=c[f>>2]|0;h=c[f+4>>2]|0;f=c[b+8>>2]|0;if(!((e|0)==0&(h|0)==0)){i=c[b+4>>2]|0;k=f-i|0;l=((k|0)<0)<<31>>31;m=b+120|0;n=Iv(e|0,h|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=G()|0;h=f;if((m|0)>(l|0)|(m|0)==(l|0)&n>>>0>k>>>0){o=h;j=9}else{c[b+104>>2]=i+(n+-1);p=h}}else{o=f;j=9}if((j|0)==9){c[b+104>>2]=f;p=o}o=b+4|0;if(!p)q=c[o>>2]|0;else{f=c[o>>2]|0;o=p+1-f|0;p=b+120|0;h=p;n=Hv(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=G()|0;h=p;c[h>>2]=n;c[h+4>>2]=o;q=f}f=q+-1|0;if((g|0)==(d[f>>0]|0|0))r=g;else{a[f>>0]=g;r=g}}else j=4}if((j|0)==4){c[b+104>>2]=0;r=-1}return r|0}function Zt(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function _t(a){a=a|0;var b=0,e=0,f=0;b=Ia;Ia=Ia+16|0;e=b;if(($t(a)|0)==0?(Oa[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ia=b;return f|0}function $t(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)Oa[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function au(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=b;b=c;do{d=d+1|0;b=b+1|0;c=a[d>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function bu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=d;h=b;while(1){if(!(a[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){e=j;f=5;break}else h=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=d;k=d;l=2;while(1){m=j+d+k|0;c[g+(l<<2)>>2]=m;if(m>>>0<i>>>0){n=k;k=m;l=l+1|0;j=n}else break}j=a+i+b|0;if(j>>>0>a>>>0){l=j;k=1;n=a;m=1;while(1){do if((k&3|0)!=3){o=m+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)du(n,d,e,m,g);else fu(n,d,e,h,m,0,g);if((m|0)==1){gu(h,1);p=0;break}else{gu(h,o);p=1;break}}else{du(n,d,e,m,g);eu(h,2);p=m+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0<j>>>0){k=o;n=q;m=p}else{r=o;s=q;t=p;break}}}else{r=1;s=a;t=1}fu(s,d,e,h,t,0,g);m=h+4|0;n=r;k=s;j=t;while(1){if((j|0)==1&(n|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{gu(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;eu(h,1);fu(k+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);gu(h,1);q=c[h>>2]|1;c[h>>2]=q;o=k+b|0;fu(o,d,e,h,l,1,g);v=q;w=o;x=l}if((u|0)==19){u=0;l=hu(h)|0;eu(h,l);v=c[h>>2]|0;w=k+b|0;x=l+j|0}n=v;k=w;j=x}}while(0);Ia=f;return}function du(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Ia;Ia=Ia+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=a;l=1;m=e;while(1){n=k+i|0;o=m+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Na[d&3](j,p)|0)>-1?(Na[d&3](j,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Na[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=m+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=c[h>>2]|0;k=s;l=o;m=t}}else q=1;while(0);ju(b,h,q);Ia=g;return}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=e;g=0;h=b+-32|0}else{f=c[a>>2]|0;g=c[d>>2]|0;h=b}c[a>>2]=g<<32-h|f>>>h;c[d>>2]=g>>>h;return}function fu(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ia;Ia=Ia+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Na[d&3](o,a)|0)>=1):0){p=o;o=a;q=1;r=f;s=(g|0)==0;while(1){if(s&(r|0)>1){t=o+n|0;u=c[h+(r+-2<<2)>>2]|0;if((Na[d&3](t,p)|0)>-1){v=o;w=q;x=r;y=10;break a}if((Na[d&3](t+(0-u)|0,p)|0)>-1){v=o;w=q;x=r;y=10;break a}}u=q+1|0;c[k+(q<<2)>>2]=p;t=hu(j)|0;eu(j,t);z=t+r|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=p;w=u;x=z;y=10;break a}t=p+(0-(c[h+(z<<2)>>2]|0))|0;if((Na[d&3](t,c[k>>2]|0)|0)<1){A=p;B=u;C=z;D=0;y=9;break}else{E=p;p=t;q=u;r=z;s=1;o=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=A;w=B;x=C;y=10}if((y|0)==10){ju(b,k,w);du(v,b,d,x,h)}Ia=i;return}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=e;g=0;h=b+-32|0}else{f=c[d>>2]|0;g=c[a>>2]|0;h=b}c[d>>2]=g>>>(32-h|0)|f<<h;c[a>>2]=g<<h;return}function hu(a){a=a|0;var b=0,d=0;b=iu((c[a>>2]|0)+-1|0)|0;if(!b){d=iu(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function iu(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=0;c=a;while(1){a=b+1|0;if(!(c&2)){b=a;c=c>>>1}else{d=a;break}}}else d=0;else d=32;return d|0}function ju(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=Ia;Ia=Ia+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=f;i=a;while(1){j=i>>>0<256?i:256;Vv(h|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Vv(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=i-j|0;if(!k)break a;h=c[g>>2]|0;i=k}}while(0);Ia=e;return}function ku(a,b){a=a|0;b=b|0;mu(a,b)|0;return a|0}function lu(a,b){a=a|0;b=b|0;ku(a+(bu(a)|0)|0,b)|0;return a|0}function mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=b;g=d}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=l;g=j;break}else{h=l;i=j}}}i=c[g>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=f;j=g;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){n=m;o=l;break}else{i=m;j=l}}}else{n=f;o=g}p=n;q=o;r=10}else{p=b;q=d;r=10}while(0);if((r|0)==10){r=a[q>>0]|0;a[p>>0]=r;if(!(r<<24>>24))k=p;else{r=p;p=q;while(1){p=p+1|0;q=r+1|0;d=a[p>>0]|0;a[q>>0]=d;if(!(d<<24>>24)){k=q;break}else r=q}}}return k|0}function nu(b,c){b=b|0;c=c|0;var d=0;d=uu(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=tu(a,589824,b)|0;do if((e|0)>=0){a=_s(1,2080)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Ia=b;return f|0}function pu(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ft($(195,e|0)|0)|0;Ia=d;return b|0}function qu(a){a=a|0;var b=0;b=su(c[a>>2]|0)|0;Zs(a);return b|0}function ru(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;f=a+16|0;g=c[f>>2]|0;h=a+20|0;a:do if((g|0)<(c[h>>2]|0)){i=g;j=a+32+g|0;k=7}else{l=a+32|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=0;j=l;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(gt()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=i+(e[j+16>>1]|0);i=j+8|0;f=c[i+4>>2]|0;k=a+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=f;n=j}Ia=b;return n|0}function su(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=ht(a)|0;a=ea(6,d|0)|0;d=ft((a|0)==-4?0:a)|0;Ia=b;return d|0}function tu(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=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=ft(i)|0;Ia=e;return f|0}function uu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(bu(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Ia;Ia=Ia+144|0;f=e;Wv(f|0,0,144)|0;g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Wt(f,0,0);i=+wu(f,d,1);d=f+120|0;f=(c[g>>2]|0)-(c[h>>2]|0)|0;h=Hv(c[d>>2]|0,c[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=G()|0;if(b|0)c[b>>2]=(h|0)==0&(f|0)==0?a:a+h|0;Ia=e;return +i}function wu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=24;h=-149;i=4;break}case 1:{g=53;h=-1074;i=4;break}case 2:{g=53;h=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+104|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Yt(b)|0}while((Zt(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Yt(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(a[104869+n>>0]|0)){q=l;t=n;break}do if(n>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Yt(b)|0;break}}else v=l;while(0);n=n+1|0;if(n>>>0>=8){q=v;t=8;break}else l=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{l=(f|0)!=0;if(l&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){n=q;u=0;while(1){if((n|32|0)!=(a[104878+u>>0]|0)){w=n;x=u;break d}do if(u>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Yt(b)|0;break}}else z=n;while(0);u=u+1|0;if(u>>>0>=3){w=z;x=3;break}else n=z}}else{w=q;x=t}while(0);switch(x|0){case 3:{n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;A=d[n>>0]|0}else A=Yt(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}n=1;while(1){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;B=d[u>>0]|0}else B=Yt(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;n=n+1|0}if((B|0)==41){j=r;break a}u=(c[k>>2]|0)==0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!l){c[(gt()|0)>>2]=22;Wt(b,0,0);j=0.0;break a}if(!n){j=r;break a}y=n;while(1){y=y+-1|0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((w|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Yt(b)|0;if((C|32|0)==120){j=+xu(b,g,h,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=w;j=+yu(b,D,g,h,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(gt()|0)>>2]=22;Wt(b,0,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){u=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;u=u+-1|0}while(u>>>0>3)}}j=+(p|0)*s}while(0);return +j}function xu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0.0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+104|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Yt(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=0;o=i;p=k;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Yt(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Yt(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Yt(a)|0;r=Hv(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=r;n=v;o=u;p=1;q=1;break}}}else{m=0;n=0;o=t;p=k;q=1}}k=0;t=0;u=m;m=n;n=o;o=p;p=q;q=0;w=1.0;i=0;x=0.0;while(1){s=n+-48|0;v=n|32;if(s>>>0>=10){r=(n|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=n;break}if(r)if(!p){z=t;A=k;B=t;C=k;D=o;E=1;F=q;H=w;I=i;J=x}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(n|0)>57?v+-87|0:s;do if(!((k|0)<0|(k|0)==0&t>>>0<8))if((k|0)<0|(k|0)==0&t>>>0<14){K=w*.0625;L=q;M=K;N=i;O=x+K*+(r|0);break}else{s=(q|0)!=0|(r|0)==0;L=s?q:1;M=w;N=i;O=s?x:x+w*.5;break}else{L=q;M=w;N=r+(i<<4)|0;O=x}while(0);r=Hv(t|0,k|0,1,0)|0;z=u;A=m;B=r;C=G()|0;D=1;E=p;F=L;H=M;I=N;J=O}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Yt(a)|0;k=C;t=B;u=z;m=A;n=P;o=D;p=E;q=F;w=H;i=I;x=J}do if(!o){I=(c[j>>2]|0)==0;if(!I)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!I?(c[h>>2]=(c[h>>2]|0)+-1,!((p|0)==0|I)):0)c[h>>2]=(c[h>>2]|0)+-1}else Wt(a,0,0);Q=+(f|0)*0.0}else{I=(p|0)==0;F=I?t:u;q=I?k:m;if((k|0)<0|(k|0)==0&t>>>0<8){I=t;E=k;D=i;while(1){P=D<<4;n=I;I=Hv(I|0,E|0,1,0)|0;A=E;E=G()|0;if(!((A|0)<0|(A|0)==0&n>>>0<7)){R=P;break}else D=P}}else R=i;if((y|32|0)==112){D=zu(a,g)|0;E=G()|0;if((D|0)==0&(E|0)==-2147483648){if(!g){Wt(a,0,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=D;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=Rv(F|0,q|0,2)|0;D=Hv(E|0,G()|0,-32,-1)|0;E=Hv(D|0,G()|0,S|0,T|0)|0;D=G()|0;if(!R){Q=+(f|0)*0.0;break}I=0-e|0;P=((I|0)<0)<<31>>31;if((D|0)>(P|0)|(D|0)==(P|0)&E>>>0>I>>>0){c[(gt()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}I=e+-106|0;P=((I|0)<0)<<31>>31;if((D|0)<(P|0)|(D|0)==(P|0)&E>>>0<I>>>0){c[(gt()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){I=E;P=D;n=R;J=x;while(1){A=!(J>=.5);z=n<<1|(A^1)&1;H=J+(A?J:J+-1.0);A=Hv(I|0,P|0,-1,-1)|0;B=G()|0;if((z|0)>-1){I=A;P=B;n=z;J=H}else{U=A;V=B;W=z;X=H;break}}}else{U=E;V=D;W=R;X=x}n=((b|0)<0)<<31>>31;P=Iv(32,0,e|0,((e|0)<0)<<31>>31|0)|0;I=Hv(P|0,G()|0,U|0,V|0)|0;P=G()|0;if((P|0)<(n|0)|(P|0)==(n|0)&I>>>0<b>>>0)if((I|0)>0){Y=I;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){J=+(f|0);$=+nt(+lt(1.0,_),J);aa=Z;ba=J}I=(W&1|0)==0&(X!=0.0&(aa|0)<32);J=(I?0.0:X)*ba+($+ba*+((W+(I&1)|0)>>>0))-$;if(!(J!=0.0))c[(gt()|0)>>2]=34;Q=+st(J,U)}while(0);return +Q} 143 + function be(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Ia;Ia=Ia+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|32|0)==54)p=2217396;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2217396:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2217396}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)Ac(e,47199,l);if((s&65535)>224)yc(e,6)}if(!(Ec(e,h,g)|0))Fc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=de(e,3,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ia=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Ia=k;return t|0}c[g>>2]=e;Ia=k;return t|0}function ce(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)Ac(a,47199,f);if((i&65535)>224)yc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(Ec(a,g,h)|0))Fc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=e;return}function de(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=xc(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Sc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=bd(d,47901,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0<q>>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}zc(d,f);c[o>>2]=p;return h|0}function ee(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=fe(b,j,(g|0)==0?80062:g,h)|0;if(f|0){Ia=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ia=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2217396;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Ia=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ia=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ia=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){Jc(h,e);Ia=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ia=i;return f|0}return 0}function fe(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Ia;Ia=Ia+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=de(a,4,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Pa[c[a>>2]&3](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Pa[c[e>>2]&3](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Pa[c[l>>2]&3](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Ia=g;return o|0}function ge(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=Oa[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(nu(j,98)|0)==0:0){c[h>>2]=71880;c[h+4>>2]=j;wd(b,47925,h)|0;yc(b,3)}o=he(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(nu(j,116)|0)==0:0){c[g>>2]=47967;c[g+4>>2]=j;wd(b,47925,g)|0;yc(b,3)}o=ie(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Ia=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Pa[c[m>>2]&3](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}Kc(b,1);l=Pa[c[m>>2]&3](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){Jc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)yc(b,4);else if((p|0)==27){Ia=f;return}}function he(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=49038;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8724];b[n+4>>1]=b[17450]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=c[e>>2]|0;q=l+1|0;r=17;while(1){if(!p){s=Oa[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=p;w=c[o>>2]|0}s=r>>>0>v>>>0?v:r;Vv(q|0,w|0,s|0)|0;p=(c[e>>2]|0)-s|0;c[e>>2]=p;c[o>>2]=(c[o>>2]|0)+s;r=r-s|0;if(!r)break;else q=q+s|0}if((u|0)==10)of(m,49052);if(tt(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))of(m,49062);if(tt(k,l,6)|0)of(m,49068);if(!(tt(k,l,12)|0))of(m,49101);else of(m,49088)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Pa[c[k>>2]&3](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))yc(d,4);Kc(d,1);r=Pa[c[k>>2]&3](c[u>>2]|0,0,6,20)|0;if(!r)yc(d,4);else x=r}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;r=c[k>>2]|0;c[r>>2]=x;c[r+4>>2]=70;r=(c[k>>2]|0)+8|0;c[k>>2]=r;u=r;do if(((c[d+24>>2]|0)-u|0)<8){r=c[d+32>>2]|0;if((r|0)>1e6)yc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;p=r<<1;r=(p|0)<1e6?p:1e6;p=(r|0)<(o|0)?o:r;if((p|0)>1e6){zc(d,1000200);Ac(d,47184,i)}else{zc(d,p);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Pa[c[i>>2]&3](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))yc(d,4);Kc(d,1);p=Pa[c[i>>2]&3](c[l>>2]|0,0,9,80)|0;if(!p)yc(d,4);else y=p}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;pf(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ia=h;return z|0}x=Yc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Ia=h;return z|0}function ie(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Ia;Ia=Ia+176|0;k=j+8|0;l=j;m=j+152|0;n=j+136|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Pa[c[r>>2]&3](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))yc(d,4);Kc(d,1);u=Pa[c[r>>2]&3](c[s>>2]|0,0,6,20)|0;if(!u)yc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)yc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){zc(d,1000200);Ac(d,47184,l)}else{zc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Pa[c[l>>2]&3](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))yc(d,4);Kc(d,1);w=Pa[c[l>>2]&3](c[q>>2]|0,0,9,80)|0;if(!w)yc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=xd(d,h,bu(h)|0)|0;c[x+36>>2]=t;h=o+52|0;c[h>>2]=f;f=o+56|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+68>>0]=46;g=o+44|0;c[g>>2]=d;c[o>>2]=i;c[o+32>>2]=287;c[o+48>>2]=e;e=o+40|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;c[o+8>>2]=1;c[o+12>>2]=0;r=o+16|0;c[r>>2]=1;c[o+20>>2]=-1;l=o+60|0;c[l>>2]=t;t=bd(d,47556,4)|0;d=o+64|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Pa[c[s>>2]&3](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))yc(w,4);Kc(w,1);B=Pa[c[s>>2]&3](c[z>>2]|0,h,q,32)|0;if(!B)yc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Pa[c[x>>2]&3](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))yc(w,4);Kc(w,1);e=Pa[c[x>>2]&3](c[u>>2]|0,0,5,32)|0;if(!e)yc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2217420;a[D+7>>0]=0;c[D+20>>2]=2217420;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)yc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){zc(w,1000200);Ac(w,47184,k)}else{zc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+56>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;je(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+32|0;if((c[i>>2]|0)==287){r=ke(o,o+28|0)|0;n=o+24|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+24|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=287;E=r;F=o+24|0}r=E;a:while(1){switch(r|0){case 277:case 292:case 287:case 262:case 261:case 260:{G=r;break a;break}default:{}}le(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==287){ne(o);Ia=j;return v|0}else me(o,287);return 0}function je(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)Ce(b,255,49029);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=se(c[(c[b+12>>2]|0)+44>>2]|0,c[k>>2]|0,h,8,255,49029)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+44>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){Jc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function ke(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0;f=Ia;Ia=Ia+16|0;g=f+12|0;h=f;i=b+12|0;j=c[i>>2]|0;a:do if((j|0)>1){switch(c[b>>2]|0){case 13:case 10:break;default:break a}c[i>>2]=j+-1;k=292;Ia=f;return k|0}while(0);j=b+52|0;c[(c[j>>2]|0)+4>>2]=0;l=b+8|0;m=b+48|0;b:while(1){n=c[l>>2]|0;c[l>>2]=0;o=c[b>>2]|0;c:do switch(o|0){case 63:{p=14;break b;break}case 92:case 33:case 126:case 124:case 38:case 37:case 42:case 43:{p=75;break b;break}case 91:{p=94;break b;break}case 61:{p=98;break b;break}case 60:{p=110;break b;break}case 94:{p=146;break b;break}case 62:{p=170;break b;break}case 58:{p=218;break b;break}case 39:case 34:{p=230;break b;break}case 46:{p=377;break b;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{q=o;break b;break}case -1:{k=287;p=587;break b;break}case 13:case 10:{hf(b);r=c[i>>2]|0;if(r|0){p=7;break b}break}case 11:case 9:case 12:case 32:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)v=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;v=d[t>>0]|0}w=v}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;w=d[s>>0]|0}c[b>>2]=w;c[l>>2]=n;break}case 45:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)x=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;x=d[t>>0]|0}y=x}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;y=d[s>>0]|0}c[b>>2]=y;switch(y|0){case 61:{p=26;break b;break}case 45:break;default:{k=45;p=587;break b}}s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)z=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;z=d[t>>0]|0}A=z}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;A=d[s>>0]|0}c[b>>2]=A;do if((A|0)==91){s=jf(b)|0;c[(c[j>>2]|0)+4>>2]=0;if((s|0)>-1){kf(b,0,s);c[(c[j>>2]|0)+4>>2]=0;break c}else{B=c[b>>2]|0;break}}else B=A;while(0);s=B;while(1){switch(s|0){case -1:case 13:case 10:{break c;break}default:{}}t=c[m>>2]|0;u=c[t>>2]|0;c[t>>2]=u+-1;if(!u){u=Oa[c[t+8>>2]&7](c[t+16>>2]|0,c[t+12>>2]|0,g)|0;C=c[g>>2]|0;if((u|0)==0|(C|0)==0)D=-1;else{c[t>>2]=C+-1;c[t+4>>2]=u+1;D=d[u>>0]|0}E=D}else{u=t+4|0;t=c[u>>2]|0;c[u>>2]=t+1;E=d[t>>0]|0}c[b>>2]=E;s=E}break}case 47:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)F=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;F=d[t>>0]|0}G=F}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;G=d[s>>0]|0}c[b>>2]=G;switch(G|0){case 61:{p=56;break b;break}case 47:break;default:{k=47;p=587;break b}}s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)H=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;H=d[t>>0]|0}I=H}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;I=d[s>>0]|0}s=I;while(1){c[b>>2]=s;switch(s|0){case -1:case 13:case 10:{break c;break}default:{}}t=c[m>>2]|0;u=c[t>>2]|0;c[t>>2]=u+-1;if(!u){u=Oa[c[t+8>>2]&7](c[t+16>>2]|0,c[t+12>>2]|0,g)|0;C=c[g>>2]|0;if((u|0)==0|(C|0)==0)J=-1;else{c[t>>2]=C+-1;c[t+4>>2]=u+1;J=d[u>>0]|0}K=J}else{u=t+4|0;t=c[u>>2]|0;c[u>>2]=t+1;K=d[t>>0]|0}s=K}break}default:{p=556;break b}}while(0)}switch(p|0){case 7:{c[i>>2]=r+-1;k=292;Ia=f;return k|0}case 14:{r=c[m>>2]|0;K=c[r>>2]|0;c[r>>2]=K+-1;if(!K){K=Oa[c[r+8>>2]&7](c[r+16>>2]|0,c[r+12>>2]|0,g)|0;J=c[g>>2]|0;if((K|0)==0|(J|0)==0)L=-1;else{c[r>>2]=J+-1;c[r+4>>2]=K+1;L=d[K>>0]|0}M=L}else{L=r+4|0;r=c[L>>2]|0;c[L>>2]=r+1;M=d[r>>0]|0}c[b>>2]=M;c[i>>2]=(c[i>>2]|0)+1;k=291;Ia=f;return k|0}case 26:{i=c[m>>2]|0;M=c[i>>2]|0;c[i>>2]=M+-1;if(!M){M=Oa[c[i+8>>2]&7](c[i+16>>2]|0,c[i+12>>2]|0,g)|0;r=c[g>>2]|0;if((M|0)==0|(r|0)==0)N=-1;else{c[i>>2]=r+-1;c[i+4>>2]=M+1;N=d[M>>0]|0}O=N}else{N=i+4|0;i=c[N>>2]|0;c[N>>2]=i+1;O=d[i>>0]|0}c[b>>2]=O;k=300;Ia=f;return k|0}case 56:{O=c[m>>2]|0;i=c[O>>2]|0;c[O>>2]=i+-1;if(!i){i=Oa[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((i|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=i+1;P=d[i>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;k=302;Ia=f;return k|0}case 75:{Q=c[m>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=Oa[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;if((S|0)!=61){k=o;Ia=f;return k|0}S=c[m>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(o|0){case 42:{k=301;Ia=f;return k|0}case 37:{k=303;Ia=f;return k|0}case 38:{k=306;Ia=f;return k|0}case 124:{k=307;Ia=f;return k|0}case 126:{k=284;Ia=f;return k|0}case 33:{k=285;Ia=f;return k|0}case 43:{k=299;Ia=f;return k|0}default:{k=305;Ia=f;return k|0}}break}case 94:{U=jf(b)|0;if((U|0)>-1){kf(b,e,U);k=290;Ia=f;return k|0}if((U|0)==-1){k=91;Ia=f;return k|0}else Ae(b,48810,290);break}case 98:{U=c[m>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=Oa[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;if((W|0)!=61){k=61;Ia=f;return k|0}W=c[m>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=Oa[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;k=281;Ia=f;return k|0}case 110:{Y=c[m>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=Oa[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;switch(_|0){case 61:{_=c[m>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=Oa[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;k=283;Ia=f;return k|0}case 60:{aa=c[m>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=Oa[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;switch(ca|0){case 61:{ca=c[m>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=Oa[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;k=309;Ia=f;return k|0}case 62:{ea=c[m>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=Oa[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=61){k=297;Ia=f;return k|0}ga=c[m>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;k=312;Ia=f;return k|0}default:{k=294;Ia=f;return k|0}}break}default:{k=60;Ia=f;return k|0}}break}case 146:{ia=c[m>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=Oa[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ha=c[g>>2]|0;if((ga|0)==0|(ha|0)==0)ja=-1;else{c[ia>>2]=ha+-1;c[ia+4>>2]=ga+1;ja=d[ga>>0]|0}ka=ja}else{ja=ia+4|0;ia=c[ja>>2]|0;c[ja>>2]=ia+1;ka=d[ia>>0]|0}c[b>>2]=ka;switch(ka|0){case 61:{ka=c[m>>2]|0;ia=c[ka>>2]|0;c[ka>>2]=ia+-1;if(!ia){ia=Oa[c[ka+8>>2]&7](c[ka+16>>2]|0,c[ka+12>>2]|0,g)|0;ja=c[g>>2]|0;if((ia|0)==0|(ja|0)==0)la=-1;else{c[ka>>2]=ja+-1;c[ka+4>>2]=ia+1;la=d[ia>>0]|0}ma=la}else{la=ka+4|0;ka=c[la>>2]|0;c[la>>2]=ka+1;ma=d[ka>>0]|0}c[b>>2]=ma;k=304;Ia=f;return k|0}case 94:{ma=c[m>>2]|0;ka=c[ma>>2]|0;c[ma>>2]=ka+-1;if(!ka){ka=Oa[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;la=c[g>>2]|0;if((ka|0)==0|(la|0)==0)na=-1;else{c[ma>>2]=la+-1;c[ma+4>>2]=ka+1;na=d[ka>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;if((oa|0)!=61){k=293;Ia=f;return k|0}oa=c[m>>2]|0;ma=c[oa>>2]|0;c[oa>>2]=ma+-1;if(!ma){ma=Oa[c[oa+8>>2]&7](c[oa+16>>2]|0,c[oa+12>>2]|0,g)|0;na=c[g>>2]|0;if((ma|0)==0|(na|0)==0)pa=-1;else{c[oa>>2]=na+-1;c[oa+4>>2]=ma+1;pa=d[ma>>0]|0}qa=pa}else{pa=oa+4|0;oa=c[pa>>2]|0;c[pa>>2]=oa+1;qa=d[oa>>0]|0}c[b>>2]=qa;k=308;Ia=f;return k|0}default:{k=94;Ia=f;return k|0}}break}case 170:{qa=c[m>>2]|0;oa=c[qa>>2]|0;c[qa>>2]=oa+-1;if(!oa){oa=Oa[c[qa+8>>2]&7](c[qa+16>>2]|0,c[qa+12>>2]|0,g)|0;pa=c[g>>2]|0;if((oa|0)==0|(pa|0)==0)ra=-1;else{c[qa>>2]=pa+-1;c[qa+4>>2]=oa+1;ra=d[oa>>0]|0}sa=ra}else{ra=qa+4|0;qa=c[ra>>2]|0;c[ra>>2]=qa+1;sa=d[qa>>0]|0}c[b>>2]=sa;switch(sa|0){case 61:{sa=c[m>>2]|0;qa=c[sa>>2]|0;c[sa>>2]=qa+-1;if(!qa){qa=Oa[c[sa+8>>2]&7](c[sa+16>>2]|0,c[sa+12>>2]|0,g)|0;ra=c[g>>2]|0;if((qa|0)==0|(ra|0)==0)ta=-1;else{c[sa>>2]=ra+-1;c[sa+4>>2]=qa+1;ta=d[qa>>0]|0}ua=ta}else{ta=sa+4|0;sa=c[ta>>2]|0;c[ta>>2]=sa+1;ua=d[sa>>0]|0}c[b>>2]=ua;k=282;Ia=f;return k|0}case 62:{ua=c[m>>2]|0;sa=c[ua>>2]|0;c[ua>>2]=sa+-1;if(!sa){sa=Oa[c[ua+8>>2]&7](c[ua+16>>2]|0,c[ua+12>>2]|0,g)|0;ta=c[g>>2]|0;if((sa|0)==0|(ta|0)==0)va=-1;else{c[ua>>2]=ta+-1;c[ua+4>>2]=sa+1;va=d[sa>>0]|0}wa=va}else{va=ua+4|0;ua=c[va>>2]|0;c[va>>2]=ua+1;wa=d[ua>>0]|0}c[b>>2]=wa;switch(wa|0){case 61:{wa=c[m>>2]|0;ua=c[wa>>2]|0;c[wa>>2]=ua+-1;if(!ua){ua=Oa[c[wa+8>>2]&7](c[wa+16>>2]|0,c[wa+12>>2]|0,g)|0;va=c[g>>2]|0;if((ua|0)==0|(va|0)==0)xa=-1;else{c[wa>>2]=va+-1;c[wa+4>>2]=ua+1;xa=d[ua>>0]|0}ya=xa}else{xa=wa+4|0;wa=c[xa>>2]|0;c[xa>>2]=wa+1;ya=d[wa>>0]|0}c[b>>2]=ya;k=310;Ia=f;return k|0}case 60:{ya=c[m>>2]|0;wa=c[ya>>2]|0;c[ya>>2]=wa+-1;if(!wa){wa=Oa[c[ya+8>>2]&7](c[ya+16>>2]|0,c[ya+12>>2]|0,g)|0;xa=c[g>>2]|0;if((wa|0)==0|(xa|0)==0)za=-1;else{c[ya>>2]=xa+-1;c[ya+4>>2]=wa+1;za=d[wa>>0]|0}Aa=za}else{za=ya+4|0;ya=c[za>>2]|0;c[za>>2]=ya+1;Aa=d[ya>>0]|0}c[b>>2]=Aa;if((Aa|0)!=61){k=298;Ia=f;return k|0}Aa=c[m>>2]|0;ya=c[Aa>>2]|0;c[Aa>>2]=ya+-1;if(!ya){ya=Oa[c[Aa+8>>2]&7](c[Aa+16>>2]|0,c[Aa+12>>2]|0,g)|0;za=c[g>>2]|0;if((ya|0)==0|(za|0)==0)Ba=-1;else{c[Aa>>2]=za+-1;c[Aa+4>>2]=ya+1;Ba=d[ya>>0]|0}Ca=Ba}else{Ba=Aa+4|0;Aa=c[Ba>>2]|0;c[Ba>>2]=Aa+1;Ca=d[Aa>>0]|0}c[b>>2]=Ca;k=313;Ia=f;return k|0}case 62:{Ca=c[m>>2]|0;Aa=c[Ca>>2]|0;c[Ca>>2]=Aa+-1;if(!Aa){Aa=Oa[c[Ca+8>>2]&7](c[Ca+16>>2]|0,c[Ca+12>>2]|0,g)|0;Ba=c[g>>2]|0;if((Aa|0)==0|(Ba|0)==0)Da=-1;else{c[Ca>>2]=Ba+-1;c[Ca+4>>2]=Aa+1;Da=d[Aa>>0]|0}Ea=Da}else{Da=Ca+4|0;Ca=c[Da>>2]|0;c[Da>>2]=Ca+1;Ea=d[Ca>>0]|0}c[b>>2]=Ea;if((Ea|0)!=61){k=296;Ia=f;return k|0}Ea=c[m>>2]|0;Ca=c[Ea>>2]|0;c[Ea>>2]=Ca+-1;if(!Ca){Ca=Oa[c[Ea+8>>2]&7](c[Ea+16>>2]|0,c[Ea+12>>2]|0,g)|0;Da=c[g>>2]|0;if((Ca|0)==0|(Da|0)==0)Fa=-1;else{c[Ea>>2]=Da+-1;c[Ea+4>>2]=Ca+1;Fa=d[Ca>>0]|0}Ga=Fa}else{Fa=Ea+4|0;Ea=c[Fa>>2]|0;c[Fa>>2]=Ea+1;Ga=d[Ea>>0]|0}c[b>>2]=Ga;k=311;Ia=f;return k|0}default:{k=295;Ia=f;return k|0}}break}default:{k=62;Ia=f;return k|0}}break}case 218:{Ga=c[m>>2]|0;Ea=c[Ga>>2]|0;c[Ga>>2]=Ea+-1;if(!Ea){Ea=Oa[c[Ga+8>>2]&7](c[Ga+16>>2]|0,c[Ga+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((Ea|0)==0|(Fa|0)==0)Ha=-1;else{c[Ga>>2]=Fa+-1;c[Ga+4>>2]=Ea+1;Ha=d[Ea>>0]|0}Ja=Ha}else{Ha=Ga+4|0;Ga=c[Ha>>2]|0;c[Ha>>2]=Ga+1;Ja=d[Ga>>0]|0}c[b>>2]=Ja;if((Ja|0)!=58){k=58;Ia=f;return k|0}Ja=c[m>>2]|0;Ga=c[Ja>>2]|0;c[Ja>>2]=Ga+-1;if(!Ga){Ga=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ha=c[g>>2]|0;if((Ga|0)==0|(Ha|0)==0)Ka=-1;else{c[Ja>>2]=Ha+-1;c[Ja+4>>2]=Ga+1;Ka=d[Ga>>0]|0}La=Ka}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;La=d[Ja>>0]|0}c[b>>2]=La;k=286;Ia=f;return k|0}case 230:{La=c[j>>2]|0;Ja=La+4|0;Ka=c[Ja>>2]|0;Ga=Ka+1|0;Ha=La+8|0;Ea=c[Ha>>2]|0;if(Ga>>>0>Ea>>>0){if(Ea>>>0>2147483645)Ae(b,48200,0);Fa=Ea<<1;Ca=c[b+44>>2]|0;if((Fa|0)==-2)Lc(Ca);Da=c[La>>2]|0;Aa=c[Ca+12>>2]|0;Ba=(Da|0)==0;ya=Aa+4|0;za=Pa[c[Aa>>2]&3](c[ya>>2]|0,Da,Ea,Fa)|0;if((Fa|0)!=0&(za|0)==0){if(!(a[Aa+51>>0]|0))yc(Ca,4);Kc(Ca,1);wa=Pa[c[Aa>>2]&3](c[ya>>2]|0,Da,Ea,Fa)|0;if(!wa)yc(Ca,4);else Ma=wa}else Ma=za;za=Aa+12|0;c[za>>2]=(Ba?0:0-Ea|0)+Fa+(c[za>>2]|0);c[La>>2]=Ma;c[Ha>>2]=Fa;Fa=c[Ja>>2]|0;Na=Ma;Qa=Fa;Ra=Fa+1|0}else{Na=c[La>>2]|0;Qa=Ka;Ra=Ga}Ga=o&255;c[Ja>>2]=Ra;a[Na+Qa>>0]=Ga;Qa=c[m>>2]|0;Na=c[Qa>>2]|0;c[Qa>>2]=Na+-1;if(!Na){Na=Oa[c[Qa+8>>2]&7](c[Qa+16>>2]|0,c[Qa+12>>2]|0,g)|0;Ra=c[g>>2]|0;if((Na|0)==0|(Ra|0)==0)Sa=-1;else{c[Qa>>2]=Ra+-1;c[Qa+4>>2]=Na+1;Sa=d[Na>>0]|0}Ta=Sa}else{Sa=Qa+4|0;Qa=c[Sa>>2]|0;c[Sa>>2]=Qa+1;Ta=d[Qa>>0]|0}c[b>>2]=Ta;d:do if((Ta|0)!=(o|0)){Qa=b+44|0;Sa=h+4|0;Na=h+8|0;Ra=Ta;e:while(1){f:do switch(Ra|0){case -1:{p=249;break e;break}case 13:case 10:{p=250;break e;break}case 92:{Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ka|0)==0|(La|0)==0)Ua=-1;else{c[Ja>>2]=La+-1;c[Ja+4>>2]=Ka+1;Ua=d[Ka>>0]|0}Va=Ua}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Va=d[Ja>>0]|0}c[b>>2]=Va;do switch(Va|0){case -1:{Wa=Va;break f;break}case 97:{Xa=7;p=324;break}case 98:{Xa=8;p=324;break}case 102:{Xa=12;p=324;break}case 110:{Xa=10;p=324;break}case 114:{Xa=13;p=324;break}case 116:{Xa=9;p=324;break}case 118:{Xa=11;p=324;break}case 42:{Xa=1;p=324;break}case 35:{Xa=2;p=324;break}case 45:{Xa=3;p=324;break}case 124:{Xa=4;p=324;break}case 43:{Xa=5;p=324;break}case 94:{Xa=6;p=324;break}case 120:{c[h>>2]=120;Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ka|0)==0|(La|0)==0)Ya=-1;else{c[Ja>>2]=La+-1;c[Ja+4>>2]=Ka+1;Ya=d[Ka>>0]|0}Za=Ya}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Za=d[Ja>>0]|0}c[b>>2]=Za;c[Sa>>2]=Za;if(!(a[64+(Za+1)>>0]&16)){_a=2;p=275;break e}Ja=Za+-48|0;Ka=Ja>>>0<10?Ja:(Za|32)+268435369|0;Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)$a=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;$a=d[La>>0]|0}ab=$a}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;ab=d[Ja>>0]|0}c[b>>2]=ab;c[Na>>2]=ab;if(!(a[64+(ab+1)>>0]&16)){_a=3;p=275;break e}Ja=ab+-48|0;Xa=(Ja>>>0<10?Ja:(ab|32)+-87|0)+(Ka<<4)|0;p=324;break}case 13:case 10:{hf(b);bb=10;break}case 39:case 34:case 92:{Xa=Va;p=324;break}case 122:{Ka=c[m>>2]|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+-1;if(!Ja){Ja=Oa[c[Ka+8>>2]&7](c[Ka+16>>2]|0,c[Ka+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ja|0)==0|(La|0)==0)cb=-1;else{c[Ka>>2]=La+-1;c[Ka+4>>2]=Ja+1;cb=d[Ja>>0]|0}db=cb}else{Ja=Ka+4|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+1;db=d[Ka>>0]|0}c[b>>2]=db;if(!(a[64+(db+1)>>0]&8)){Wa=db;break f}Ka=db;while(1){switch(Ka|0){case 13:case 10:{hf(b);eb=c[b>>2]|0;break}default:{Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)fb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;fb=d[La>>0]|0}gb=fb}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;gb=d[Ja>>0]|0}c[b>>2]=gb;eb=gb}}if(!(a[64+(eb+1)>>0]&8)){Wa=eb;break f}else Ka=eb}break}default:{Ka=Va+-48|0;if(Ka>>>0>=10){p=302;break e}c[h>>2]=Va;Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)hb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;hb=d[La>>0]|0}ib=hb}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;ib=d[Ja>>0]|0}c[b>>2]=ib;Ja=ib+-48|0;if(Ja>>>0<10){c[Sa>>2]=ib;La=Ja+(Ka*10|0)|0;Ja=c[m>>2]|0;Fa=c[Ja>>2]|0;c[Ja>>2]=Fa+-1;if(!Fa){Fa=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ma=c[g>>2]|0;if((Fa|0)==0|(Ma|0)==0)jb=-1;else{c[Ja>>2]=Ma+-1;c[Ja+4>>2]=Fa+1;jb=d[Fa>>0]|0}kb=jb}else{Fa=Ja+4|0;Ja=c[Fa>>2]|0;c[Fa>>2]=Ja+1;kb=d[Ja>>0]|0}c[b>>2]=kb;Ja=kb+-48|0;if(Ja>>>0<10){c[Na>>2]=kb;Fa=Ja+(La*10|0)|0;Ja=c[m>>2]|0;Ma=c[Ja>>2]|0;c[Ja>>2]=Ma+-1;if(!Ma){Ma=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ha=c[g>>2]|0;if((Ma|0)==0|(Ha|0)==0)lb=-1;else{c[Ja>>2]=Ha+-1;c[Ja+4>>2]=Ma+1;lb=d[Ma>>0]|0}mb=lb}else{Ma=Ja+4|0;Ja=c[Ma>>2]|0;c[Ma>>2]=Ja+1;mb=d[Ja>>0]|0}c[b>>2]=mb;nb=3;ob=Fa}else{nb=2;ob=La}if((ob|0)>255){p=310;break e}else pb=ob}else pb=Ka;bb=pb}}while(0);if((p|0)==324){p=0;Ka=c[m>>2]|0;La=c[Ka>>2]|0;c[Ka>>2]=La+-1;if(!La){La=Oa[c[Ka+8>>2]&7](c[Ka+16>>2]|0,c[Ka+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)qb=-1;else{c[Ka>>2]=Fa+-1;c[Ka+4>>2]=La+1;qb=d[La>>0]|0}rb=qb}else{La=Ka+4|0;Ka=c[La>>2]|0;c[La>>2]=Ka+1;rb=d[Ka>>0]|0}c[b>>2]=rb;bb=Xa}Ka=c[j>>2]|0;La=Ka+4|0;Fa=c[La>>2]|0;Ja=Fa+1|0;Ma=Ka+8|0;Ha=c[Ma>>2]|0;if(Ja>>>0>Ha>>>0){if(Ha>>>0>2147483645){p=333;break e}za=Ha<<1;sb=c[Qa>>2]|0;if((za|0)==-2){p=335;break e}Ea=c[Ka>>2]|0;Ba=c[sb+12>>2]|0;Aa=(Ea|0)==0;wa=Ba+4|0;Ca=Pa[c[Ba>>2]&3](c[wa>>2]|0,Ea,Ha,za)|0;if((za|0)!=0&(Ca|0)==0){if(!(a[Ba+51>>0]|0)){p=339;break e}Kc(sb,1);Da=Pa[c[Ba>>2]&3](c[wa>>2]|0,Ea,Ha,za)|0;if(!Da){p=339;break e}else tb=Da}else tb=Ca;Ca=Ba+12|0;c[Ca>>2]=(Aa?0:0-Ha|0)+za+(c[Ca>>2]|0);c[Ka>>2]=tb;c[Ma>>2]=za;za=c[La>>2]|0;ub=tb;vb=za;wb=za+1|0}else{ub=c[Ka>>2]|0;vb=Fa;wb=Ja}c[La>>2]=wb;a[ub+vb>>0]=bb;Wa=c[b>>2]|0;break}default:{La=c[j>>2]|0;Ja=La+4|0;Fa=c[Ja>>2]|0;Ka=Fa+1|0;za=La+8|0;Ma=c[za>>2]|0;if(Ka>>>0>Ma>>>0){if(Ma>>>0>2147483645){p=345;break e}Ca=Ma<<1;xb=c[Qa>>2]|0;if((Ca|0)==-2){p=347;break e}Ha=c[La>>2]|0;Aa=c[xb+12>>2]|0;Ba=(Ha|0)==0;Da=Aa+4|0;Ea=Pa[c[Aa>>2]&3](c[Da>>2]|0,Ha,Ma,Ca)|0;if((Ca|0)!=0&(Ea|0)==0){if(!(a[Aa+51>>0]|0)){p=351;break e}Kc(xb,1);wa=Pa[c[Aa>>2]&3](c[Da>>2]|0,Ha,Ma,Ca)|0;if(!wa){p=351;break e}else yb=wa}else yb=Ea;Ea=Aa+12|0;c[Ea>>2]=(Ba?0:0-Ma|0)+Ca+(c[Ea>>2]|0);c[La>>2]=yb;c[za>>2]=Ca;Ca=c[Ja>>2]|0;zb=yb;Ab=Ca;Bb=Ca+1|0}else{zb=c[La>>2]|0;Ab=Fa;Bb=Ka}c[Ja>>2]=Bb;a[zb+Ab>>0]=Ra;Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((Ka|0)==0|(Fa|0)==0)Cb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=Ka+1;Cb=d[Ka>>0]|0}Db=Cb}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Db=d[Ja>>0]|0}c[b>>2]=Db;Wa=Db}}while(0);if((Wa|0)==(o|0))break d;else Ra=Wa}switch(p|0){case 249:{Ae(b,48840,287);break}case 250:{Ae(b,48840,290);break}case 275:{lf(b,h,_a,48858);break}case 302:{lf(b,b,1,48885);break}case 310:{lf(b,h,nb,48909);break}case 333:{Ae(b,48200,0);break}case 335:{Lc(sb);break}case 339:{yc(sb,4);break}case 345:{Ae(b,48200,0);break}case 347:{Lc(xb);break}case 351:{yc(xb,4);break}}}while(0);xb=c[j>>2]|0;sb=xb+4|0;nb=c[sb>>2]|0;h=nb+1|0;_a=xb+8|0;Wa=c[_a>>2]|0;if(h>>>0>Wa>>>0){if(Wa>>>0>2147483645)Ae(b,48200,0);Db=Wa<<1;Cb=c[b+44>>2]|0;if((Db|0)==-2)Lc(Cb);Ab=c[xb>>2]|0;zb=c[Cb+12>>2]|0;Bb=(Ab|0)==0;yb=zb+4|0;bb=Pa[c[zb>>2]&3](c[yb>>2]|0,Ab,Wa,Db)|0;if((Db|0)!=0&(bb|0)==0){if(!(a[zb+51>>0]|0))yc(Cb,4);Kc(Cb,1);vb=Pa[c[zb>>2]&3](c[yb>>2]|0,Ab,Wa,Db)|0;if(!vb)yc(Cb,4);else Eb=vb}else Eb=bb;bb=zb+12|0;c[bb>>2]=(Bb?0:0-Wa|0)+Db+(c[bb>>2]|0);c[xb>>2]=Eb;c[_a>>2]=Db;Db=c[sb>>2]|0;Fb=Eb;Gb=Db;Hb=Db+1|0}else{Fb=c[xb>>2]|0;Gb=nb;Hb=h}c[sb>>2]=Hb;a[Fb+Gb>>0]=Ga;Ga=c[m>>2]|0;Gb=c[Ga>>2]|0;c[Ga>>2]=Gb+-1;if(!Gb){Gb=Oa[c[Ga+8>>2]&7](c[Ga+16>>2]|0,c[Ga+12>>2]|0,g)|0;Fb=c[g>>2]|0;if((Gb|0)==0|(Fb|0)==0)Ib=-1;else{c[Ga>>2]=Fb+-1;c[Ga+4>>2]=Gb+1;Ib=d[Gb>>0]|0}Jb=Ib}else{Ib=Ga+4|0;Ga=c[Ib>>2]|0;c[Ib>>2]=Ga+1;Jb=d[Ga>>0]|0}c[b>>2]=Jb;Jb=c[j>>2]|0;c[e>>2]=qe(b,(c[Jb>>2]|0)+1|0,(c[Jb+4>>2]|0)+-2|0)|0;k=290;Ia=f;return k|0}case 377:{Jb=c[j>>2]|0;Ga=Jb+4|0;Ib=c[Ga>>2]|0;Gb=Ib+1|0;Fb=Jb+8|0;Hb=c[Fb>>2]|0;if(Gb>>>0>Hb>>>0){if(Hb>>>0>2147483645)Ae(b,48200,0);sb=Hb<<1;h=c[b+44>>2]|0;if((sb|0)==-2)Lc(h);nb=c[Jb>>2]|0;xb=c[h+12>>2]|0;Db=(nb|0)==0;Eb=xb+4|0;_a=Pa[c[xb>>2]&3](c[Eb>>2]|0,nb,Hb,sb)|0;if((sb|0)!=0&(_a|0)==0){if(!(a[xb+51>>0]|0))yc(h,4);Kc(h,1);bb=Pa[c[xb>>2]&3](c[Eb>>2]|0,nb,Hb,sb)|0;if(!bb)yc(h,4);else Kb=bb}else Kb=_a;_a=xb+12|0;c[_a>>2]=(Db?0:0-Hb|0)+sb+(c[_a>>2]|0);c[Jb>>2]=Kb;c[Fb>>2]=sb;sb=c[Ga>>2]|0;Lb=Kb;Mb=sb;Nb=sb+1|0}else{Lb=c[Jb>>2]|0;Mb=Ib;Nb=Gb}c[Ga>>2]=Nb;a[Lb+Mb>>0]=46;Mb=c[m>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=Oa[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Nb=c[g>>2]|0;if((Lb|0)==0|(Nb|0)==0)Ob=-1;else{c[Mb>>2]=Nb+-1;c[Mb+4>>2]=Lb+1;Ob=d[Lb>>0]|0}Pb=Ob}else{Ob=Mb+4|0;Mb=c[Ob>>2]|0;c[Ob>>2]=Mb+1;Pb=d[Mb>>0]|0}c[b>>2]=Pb;if(!Pb){k=46;Ia=f;return k|0}if(!(Mt(104886,Pb,2)|0)){if((Pb+-48|0)>>>0<10){q=Pb;break}else k=46;Ia=f;return k|0}Mb=c[j>>2]|0;Ob=Mb+4|0;Lb=c[Ob>>2]|0;Nb=Lb+1|0;Ga=Mb+8|0;Gb=c[Ga>>2]|0;if(Nb>>>0>Gb>>>0){if(Gb>>>0>2147483645)Ae(b,48200,0);Ib=Gb<<1;Jb=c[b+44>>2]|0;if((Ib|0)==-2)Lc(Jb);sb=c[Mb>>2]|0;Kb=c[Jb+12>>2]|0;Fb=(sb|0)==0;_a=Kb+4|0;Hb=Pa[c[Kb>>2]&3](c[_a>>2]|0,sb,Gb,Ib)|0;if((Ib|0)!=0&(Hb|0)==0){if(!(a[Kb+51>>0]|0))yc(Jb,4);Kc(Jb,1);Db=Pa[c[Kb>>2]&3](c[_a>>2]|0,sb,Gb,Ib)|0;if(!Db)yc(Jb,4);else Qb=Db}else Qb=Hb;Hb=Kb+12|0;c[Hb>>2]=(Fb?0:0-Gb|0)+Ib+(c[Hb>>2]|0);c[Mb>>2]=Qb;c[Ga>>2]=Ib;Ib=c[Ob>>2]|0;Rb=Qb;Sb=Ib;Tb=Ib+1|0}else{Rb=c[Mb>>2]|0;Sb=Lb;Tb=Nb}c[Ob>>2]=Tb;a[Rb+Sb>>0]=Pb;Pb=c[m>>2]|0;Sb=c[Pb>>2]|0;c[Pb>>2]=Sb+-1;if(!Sb){Sb=Oa[c[Pb+8>>2]&7](c[Pb+16>>2]|0,c[Pb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Sb|0)==0|(Rb|0)==0)Ub=-1;else{c[Pb>>2]=Rb+-1;c[Pb+4>>2]=Sb+1;Ub=d[Sb>>0]|0}Vb=Ub}else{Ub=Pb+4|0;Pb=c[Ub>>2]|0;c[Ub>>2]=Pb+1;Vb=d[Pb>>0]|0}c[b>>2]=Vb;if(!Vb){k=279;Ia=f;return k|0}if(Mt(104886,Vb,2)|0){Pb=c[j>>2]|0;Ub=Pb+4|0;Sb=c[Ub>>2]|0;Rb=Sb+1|0;Tb=Pb+8|0;Ob=c[Tb>>2]|0;if(Rb>>>0>Ob>>>0){if(Ob>>>0>2147483645)Ae(b,48200,0);Nb=Ob<<1;Lb=c[b+44>>2]|0;if((Nb|0)==-2)Lc(Lb);Mb=c[Pb>>2]|0;Ib=c[Lb+12>>2]|0;Qb=(Mb|0)==0;Ga=Ib+4|0;Hb=Pa[c[Ib>>2]&3](c[Ga>>2]|0,Mb,Ob,Nb)|0;if((Nb|0)!=0&(Hb|0)==0){if(!(a[Ib+51>>0]|0))yc(Lb,4);Kc(Lb,1);Gb=Pa[c[Ib>>2]&3](c[Ga>>2]|0,Mb,Ob,Nb)|0;if(!Gb)yc(Lb,4);else Wb=Gb}else Wb=Hb;Hb=Ib+12|0;c[Hb>>2]=(Qb?0:0-Ob|0)+Nb+(c[Hb>>2]|0);c[Pb>>2]=Wb;c[Tb>>2]=Nb;Nb=c[Ub>>2]|0;Xb=Wb;Yb=Nb;Zb=Nb+1|0}else{Xb=c[Pb>>2]|0;Yb=Sb;Zb=Rb}c[Ub>>2]=Zb;a[Xb+Yb>>0]=Vb;Yb=c[m>>2]|0;Xb=c[Yb>>2]|0;c[Yb>>2]=Xb+-1;if(!Xb){Xb=Oa[c[Yb+8>>2]&7](c[Yb+16>>2]|0,c[Yb+12>>2]|0,g)|0;Zb=c[g>>2]|0;if((Xb|0)==0|(Zb|0)==0)_b=-1;else{c[Yb>>2]=Zb+-1;c[Yb+4>>2]=Xb+1;_b=d[Xb>>0]|0}$b=_b}else{_b=Yb+4|0;Yb=c[_b>>2]|0;c[_b>>2]=Yb+1;$b=d[Yb>>0]|0}c[b>>2]=$b;k=280;Ia=f;return k|0}if(!(Mt(97449,Vb,2)|0)){k=279;Ia=f;return k|0}$b=c[j>>2]|0;Yb=$b+4|0;_b=c[Yb>>2]|0;Xb=_b+1|0;Zb=$b+8|0;Ub=c[Zb>>2]|0;if(Xb>>>0>Ub>>>0){if(Ub>>>0>2147483645)Ae(b,48200,0);Rb=Ub<<1;Sb=c[b+44>>2]|0;if((Rb|0)==-2)Lc(Sb);Pb=c[$b>>2]|0;Nb=c[Sb+12>>2]|0;Wb=(Pb|0)==0;Tb=Nb+4|0;Hb=Pa[c[Nb>>2]&3](c[Tb>>2]|0,Pb,Ub,Rb)|0;if((Rb|0)!=0&(Hb|0)==0){if(!(a[Nb+51>>0]|0))yc(Sb,4);Kc(Sb,1);Ob=Pa[c[Nb>>2]&3](c[Tb>>2]|0,Pb,Ub,Rb)|0;if(!Ob)yc(Sb,4);else ac=Ob}else ac=Hb;Hb=Nb+12|0;c[Hb>>2]=(Wb?0:0-Ub|0)+Rb+(c[Hb>>2]|0);c[$b>>2]=ac;c[Zb>>2]=Rb;Rb=c[Yb>>2]|0;bc=ac;cc=Rb;dc=Rb+1|0}else{bc=c[$b>>2]|0;cc=_b;dc=Xb}c[Yb>>2]=dc;a[bc+cc>>0]=Vb;Vb=c[m>>2]|0;cc=c[Vb>>2]|0;c[Vb>>2]=cc+-1;if(!cc){cc=Oa[c[Vb+8>>2]&7](c[Vb+16>>2]|0,c[Vb+12>>2]|0,g)|0;bc=c[g>>2]|0;if((cc|0)==0|(bc|0)==0)ec=-1;else{c[Vb>>2]=bc+-1;c[Vb+4>>2]=cc+1;ec=d[cc>>0]|0}fc=ec}else{ec=Vb+4|0;Vb=c[ec>>2]|0;c[ec>>2]=Vb+1;fc=d[Vb>>0]|0}c[b>>2]=fc;k=314;Ia=f;return k|0}case 556:{g:do if(!((o|0)==95|(Av(o)|0)!=0)?!((o|0)<0|(o&-128|0)==128):0){switch(o|0){case 30:case 31:{break g;break}case 41:{gc=-1;break}case 40:{gc=(c[b+20>>2]|0)>0?1:-1;break}default:gc=0}fc=b+20|0;c[fc>>2]=(c[fc>>2]|0)+gc;fc=c[m>>2]|0;Vb=c[fc>>2]|0;c[fc>>2]=Vb+-1;if(!Vb){Vb=Oa[c[fc+8>>2]&7](c[fc+16>>2]|0,c[fc+12>>2]|0,g)|0;ec=c[g>>2]|0;if((Vb|0)==0|(ec|0)==0)hc=-1;else{c[fc>>2]=ec+-1;c[fc+4>>2]=Vb+1;hc=d[Vb>>0]|0}ic=hc}else{Vb=fc+4|0;fc=c[Vb>>2]|0;c[Vb>>2]=fc+1;ic=d[fc>>0]|0}c[b>>2]=ic;k=o;Ia=f;return k|0}while(0);ic=b+44|0;hc=o;while(1){o=c[j>>2]|0;gc=o+4|0;fc=c[gc>>2]|0;Vb=fc+1|0;ec=o+8|0;cc=c[ec>>2]|0;if(Vb>>>0>cc>>>0){if(cc>>>0>2147483645){p=563;break}bc=cc<<1;jc=c[ic>>2]|0;if((bc|0)==-2){p=565;break}dc=c[o>>2]|0;Yb=c[jc+12>>2]|0;Xb=(dc|0)==0;_b=Yb+4|0;$b=Pa[c[Yb>>2]&3](c[_b>>2]|0,dc,cc,bc)|0;if((bc|0)!=0&($b|0)==0){if(!(a[Yb+51>>0]|0)){p=569;break}Kc(jc,1);Rb=Pa[c[Yb>>2]&3](c[_b>>2]|0,dc,cc,bc)|0;if(!Rb){p=569;break}else kc=Rb}else kc=$b;$b=Yb+12|0;c[$b>>2]=(Xb?0:0-cc|0)+bc+(c[$b>>2]|0);c[o>>2]=kc;c[ec>>2]=bc;bc=c[gc>>2]|0;lc=kc;mc=bc;nc=bc+1|0}else{lc=c[o>>2]|0;mc=fc;nc=Vb}c[gc>>2]=nc;a[lc+mc>>0]=hc;gc=c[m>>2]|0;Vb=c[gc>>2]|0;c[gc>>2]=Vb+-1;if(!Vb){Vb=Oa[c[gc+8>>2]&7](c[gc+16>>2]|0,c[gc+12>>2]|0,g)|0;fc=c[g>>2]|0;if((Vb|0)==0|(fc|0)==0)oc=-1;else{c[gc>>2]=fc+-1;c[gc+4>>2]=Vb+1;oc=d[Vb>>0]|0}pc=oc}else{Vb=gc+4|0;gc=c[Vb>>2]|0;c[Vb>>2]=gc+1;pc=d[gc>>0]|0}c[b>>2]=pc;if(pc>>>0>127|((zv(pc)|0)!=0|(pc|0)==95)|(pc&-2|0)==30)hc=pc;else{p=577;break}}if((p|0)==563)Ae(b,48200,0);else if((p|0)==565)Lc(jc);else if((p|0)==569)yc(jc,4);else if((p|0)==577){jc=c[j>>2]|0;pc=qe(b,c[jc>>2]|0,c[jc+4>>2]|0)|0;c[e>>2]=pc;if((a[pc+4>>0]|0)==4){jc=a[pc+6>>0]|0;Ia=f;return (jc<<24>>24==0?289:jc&255|256)|0}else{k=289;Ia=f;return k|0}}break}case 587:{Ia=f;return k|0}}jc=c[j>>2]|0;pc=jc+4|0;hc=c[pc>>2]|0;oc=hc+1|0;mc=jc+8|0;lc=c[mc>>2]|0;if(oc>>>0>lc>>>0){if(lc>>>0>2147483645)Ae(b,48200,0);nc=lc<<1;kc=c[b+44>>2]|0;if((nc|0)==-2)Lc(kc);ic=c[jc>>2]|0;gc=c[kc+12>>2]|0;Vb=(ic|0)==0;fc=gc+4|0;o=Pa[c[gc>>2]&3](c[fc>>2]|0,ic,lc,nc)|0;if((nc|0)!=0&(o|0)==0){if(!(a[gc+51>>0]|0))yc(kc,4);Kc(kc,1);bc=Pa[c[gc>>2]&3](c[fc>>2]|0,ic,lc,nc)|0;if(!bc)yc(kc,4);else qc=bc}else qc=o;o=gc+12|0;c[o>>2]=(Vb?0:0-lc|0)+nc+(c[o>>2]|0);c[jc>>2]=qc;c[mc>>2]=nc;nc=c[pc>>2]|0;rc=qc;sc=nc;tc=nc+1|0}else{rc=c[jc>>2]|0;sc=hc;tc=oc}c[pc>>2]=tc;a[rc+sc>>0]=q;sc=c[m>>2]|0;rc=c[sc>>2]|0;c[sc>>2]=rc+-1;if(!rc){rc=Oa[c[sc+8>>2]&7](c[sc+16>>2]|0,c[sc+12>>2]|0,g)|0;tc=c[g>>2]|0;if((rc|0)==0|(tc|0)==0)uc=-1;else{c[sc>>2]=tc+-1;c[sc+4>>2]=rc+1;uc=d[rc>>0]|0}vc=uc}else{uc=sc+4|0;sc=c[uc>>2]|0;c[uc>>2]=sc+1;vc=d[sc>>0]|0}c[b>>2]=vc;if(!((q|0)!=48|(vc|0)==0)){if(!(Mt(48934,vc,3)|0)){wc=vc;xc=0}else{q=c[j>>2]|0;sc=q+4|0;uc=c[sc>>2]|0;rc=uc+1|0;tc=q+8|0;pc=c[tc>>2]|0;if(rc>>>0>pc>>>0){if(pc>>>0>2147483645)Ae(b,48200,0);oc=pc<<1;hc=c[b+44>>2]|0;if((oc|0)==-2)Lc(hc);jc=c[q>>2]|0;nc=c[hc+12>>2]|0;qc=(jc|0)==0;mc=nc+4|0;o=Pa[c[nc>>2]&3](c[mc>>2]|0,jc,pc,oc)|0;if((oc|0)!=0&(o|0)==0){if(!(a[nc+51>>0]|0))yc(hc,4);Kc(hc,1);lc=Pa[c[nc>>2]&3](c[mc>>2]|0,jc,pc,oc)|0;if(!lc)yc(hc,4);else zc=lc}else zc=o;o=nc+12|0;c[o>>2]=(qc?0:0-pc|0)+oc+(c[o>>2]|0);c[q>>2]=zc;c[tc>>2]=oc;oc=c[sc>>2]|0;Ac=zc;Bc=oc;Cc=oc+1|0}else{Ac=c[q>>2]|0;Bc=uc;Cc=rc}c[sc>>2]=Cc;a[Ac+Bc>>0]=vc;Bc=c[m>>2]|0;Ac=c[Bc>>2]|0;c[Bc>>2]=Ac+-1;if(!Ac){Ac=Oa[c[Bc+8>>2]&7](c[Bc+16>>2]|0,c[Bc+12>>2]|0,g)|0;Cc=c[g>>2]|0;if((Ac|0)==0|(Cc|0)==0)Dc=-1;else{c[Bc>>2]=Cc+-1;c[Bc+4>>2]=Ac+1;Dc=d[Ac>>0]|0}Ec=Dc}else{Dc=Bc+4|0;Bc=c[Dc>>2]|0;c[Dc>>2]=Bc+1;Ec=d[Bc>>0]|0}c[b>>2]=Ec;wc=Ec;xc=1}if(wc)if(!(Mt(48937,wc,3)|0)){Fc=wc;Gc=0;Hc=xc}else{Ec=c[j>>2]|0;Bc=Ec+4|0;Dc=c[Bc>>2]|0;Ac=Dc+1|0;Cc=Ec+8|0;sc=c[Cc>>2]|0;if(Ac>>>0>sc>>>0){if(sc>>>0>2147483645)Ae(b,48200,0);rc=sc<<1;uc=c[b+44>>2]|0;if((rc|0)==-2)Lc(uc);q=c[Ec>>2]|0;oc=c[uc+12>>2]|0;zc=(q|0)==0;tc=oc+4|0;o=Pa[c[oc>>2]&3](c[tc>>2]|0,q,sc,rc)|0;if((rc|0)!=0&(o|0)==0){if(!(a[oc+51>>0]|0))yc(uc,4);Kc(uc,1);pc=Pa[c[oc>>2]&3](c[tc>>2]|0,q,sc,rc)|0;if(!pc)yc(uc,4);else Ic=pc}else Ic=o;o=oc+12|0;c[o>>2]=(zc?0:0-sc|0)+rc+(c[o>>2]|0);c[Ec>>2]=Ic;c[Cc>>2]=rc;rc=c[Bc>>2]|0;Jc=Ic;Mc=rc;Nc=rc+1|0}else{Jc=c[Ec>>2]|0;Mc=Dc;Nc=Ac}c[Bc>>2]=Nc;a[Jc+Mc>>0]=wc;wc=c[m>>2]|0;Mc=c[wc>>2]|0;c[wc>>2]=Mc+-1;if(!Mc){Mc=Oa[c[wc+8>>2]&7](c[wc+16>>2]|0,c[wc+12>>2]|0,g)|0;Jc=c[g>>2]|0;if((Mc|0)==0|(Jc|0)==0)Oc=-1;else{c[wc>>2]=Jc+-1;c[wc+4>>2]=Mc+1;Oc=d[Mc>>0]|0}Pc=Oc}else{Oc=wc+4|0;wc=c[Oc>>2]|0;c[Oc>>2]=wc+1;Pc=d[wc>>0]|0}c[b>>2]=Pc;Fc=Pc;Gc=1;Hc=xc}else{Fc=0;Gc=0;Hc=xc}}else{Fc=vc;Gc=0;Hc=0}vc=(Hc|0)!=0;Hc=b+44|0;xc=(Gc|vc)^1;Pc=Fc;h:while(1){do if(!((Pc+-48|0)>>>0<10&xc)){if(vc?a[64+(Pc+1)>>0]&16:0)break;if(!((Pc|0)==46|Gc&(Pc&-2|0)==48)){p=525;break h}}while(0);Fc=c[j>>2]|0;wc=Fc+4|0;Oc=c[wc>>2]|0;Mc=Oc+1|0;Jc=Fc+8|0;Nc=c[Jc>>2]|0;if(Mc>>>0>Nc>>>0){if(Nc>>>0>2147483645){p=511;break}Bc=Nc<<1;Qc=c[Hc>>2]|0;if((Bc|0)==-2){p=513;break}Ac=c[Fc>>2]|0;Dc=c[Qc+12>>2]|0;Ec=(Ac|0)==0;rc=Dc+4|0;Ic=Pa[c[Dc>>2]&3](c[rc>>2]|0,Ac,Nc,Bc)|0;if((Bc|0)!=0&(Ic|0)==0){if(!(a[Dc+51>>0]|0)){p=517;break}Kc(Qc,1);Cc=Pa[c[Dc>>2]&3](c[rc>>2]|0,Ac,Nc,Bc)|0;if(!Cc){p=517;break}else Rc=Cc}else Rc=Ic;Ic=Dc+12|0;c[Ic>>2]=(Ec?0:0-Nc|0)+Bc+(c[Ic>>2]|0);c[Fc>>2]=Rc;c[Jc>>2]=Bc;Bc=c[wc>>2]|0;Sc=Rc;Tc=Bc;Uc=Bc+1|0}else{Sc=c[Fc>>2]|0;Tc=Oc;Uc=Mc}c[wc>>2]=Uc;a[Sc+Tc>>0]=Pc;wc=c[m>>2]|0;Mc=c[wc>>2]|0;c[wc>>2]=Mc+-1;if(!Mc){Mc=Oa[c[wc+8>>2]&7](c[wc+16>>2]|0,c[wc+12>>2]|0,g)|0;Oc=c[g>>2]|0;if((Mc|0)==0|(Oc|0)==0)Vc=-1;else{c[wc>>2]=Oc+-1;c[wc+4>>2]=Mc+1;Vc=d[Mc>>0]|0}Xc=Vc}else{Mc=wc+4|0;wc=c[Mc>>2]|0;c[Mc>>2]=wc+1;Xc=d[wc>>0]|0}c[b>>2]=Xc;Pc=Xc}if((p|0)==511)Ae(b,48200,0);else if((p|0)==513)Lc(Qc);else if((p|0)==517)yc(Qc,4);else if((p|0)==525){p=c[j>>2]|0;Qc=p+4|0;Xc=c[Qc>>2]|0;Pc=Xc+1|0;Vc=p+8|0;g=c[Vc>>2]|0;if(Pc>>>0>g>>>0){if(g>>>0>2147483645)Ae(b,48200,0);m=g<<1;Tc=c[Hc>>2]|0;if((m|0)==-2)Lc(Tc);Hc=c[p>>2]|0;Sc=c[Tc+12>>2]|0;Uc=(Hc|0)==0;Rc=Sc+4|0;Gc=Pa[c[Sc>>2]&3](c[Rc>>2]|0,Hc,g,m)|0;if((m|0)!=0&(Gc|0)==0){if(!(a[Sc+51>>0]|0))yc(Tc,4);Kc(Tc,1);vc=Pa[c[Sc>>2]&3](c[Rc>>2]|0,Hc,g,m)|0;if(!vc)yc(Tc,4);else Yc=vc}else Yc=Gc;Gc=Sc+12|0;c[Gc>>2]=(Uc?0:0-g|0)+m+(c[Gc>>2]|0);c[p>>2]=Yc;c[Vc>>2]=m;m=c[Qc>>2]|0;Zc=Yc;_c=m;$c=m+1|0}else{Zc=c[p>>2]|0;_c=Xc;$c=Pc}c[Qc>>2]=$c;a[Zc+_c>>0]=0;_c=b+68|0;Zc=a[_c>>0]|0;$c=c[j>>2]|0;Qc=c[$c>>2]|0;Pc=c[$c+4>>2]|0;if(!Pc){ad=Qc;bd=-1}else{$c=Pc;do{$c=$c+-1|0;Pc=Qc+$c|0;if((a[Pc>>0]|0)==46)a[Pc>>0]=Zc}while(($c|0)!=0);$c=c[j>>2]|0;ad=c[$c>>2]|0;bd=(c[$c+4>>2]|0)+-1|0}if(Wc(ad,bd,e)|0){k=288;Ia=f;return k|0}bd=a[_c>>0]|0;ad=a[c[(Bv()|0)>>2]>>0]|0;a[_c>>0]=ad;$c=c[j>>2]|0;Zc=c[$c>>2]|0;Qc=c[$c+4>>2]|0;if(!Qc){cd=Zc;dd=-1}else{$c=Qc;do{$c=$c+-1|0;Qc=Zc+$c|0;if((a[Qc>>0]|0)==bd<<24>>24)a[Qc>>0]=ad}while(($c|0)!=0);$c=c[j>>2]|0;cd=c[$c>>2]|0;dd=(c[$c+4>>2]|0)+-1|0}if(Wc(cd,dd,e)|0){k=288;Ia=f;return k|0}k=a[_c>>0]|0;_c=c[j>>2]|0;j=c[_c>>2]|0;f=c[_c+4>>2]|0;if(!f)Ae(b,48940,288);_c=f;do{_c=_c+-1|0;f=j+_c|0;if((a[f>>0]|0)==k<<24>>24)a[f>>0]=46}while((_c|0)!=0);Ae(b,48940,288)}return 0}function le(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0;f=Ia;Ia=Ia+96|0;g=f;h=f+72|0;i=f+56|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8721]=m;n=e+40|0;o=c[n>>2]|0;p=e+44|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)Ce(o,200,48307);r=e+24|0;do switch(c[r>>2]|0){case 59:{c[e+16>>2]=m;q=e+32|0;if((c[q>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}else{A=q;B=c[A+4>>2]|0;C=e+24|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=287;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}break}case 291:{De(e);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 267:{c[i>>2]=-1;q=Ee(e,i)|0;a:while(1){switch(c[r>>2]|0){case 260:{D=11;break a;break}case 261:break;default:break a}Ee(e,i)|0}if((D|0)==11){c[e+16>>2]=c[l>>2];B=e+32|0;if((c[B>>2]|0)==287){C=ke(e,e+28|0)|0;c[r>>2]=C;E=C}else{C=B;A=c[C>>2]|0;F=c[C+4>>2]|0;C=e+24|0;c[C>>2]=A;c[C+4>>2]=F;c[B>>2]=287;E=A}A=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[A+46>>0]|0;B=c[(c[A+12>>2]|0)+56>>2]|0;b[h+4>>1]=c[B+28>>2];b[h+6>>1]=c[B+16>>2];a[h+9>>0]=0;B=A+16|0;c[h>>2]=c[B>>2];c[B>>2]=h;B=E;b:while(1){switch(B|0){case 277:case 292:case 287:case 262:case 261:case 260:{break b;break}default:{}}le(e);if((B|0)==274)break;B=c[r>>2]|0}pe(A)}c:do if(!q)Fe(e,262,267,m);else switch(c[r>>2]|0){case 287:case 292:{c[e+16>>2]=c[l>>2];B=e+32|0;if((c[B>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break c}else{F=B;C=c[F+4>>2]|0;G=e+24|0;c[G>>2]=c[F>>2];c[G+4>>2]=C;c[B>>2]=287;break c}break}case 277:case 262:case 261:case 260:{B=e+12|0;c[B>>2]=(c[B>>2]|0)+-1;break c;break}default:{Fe(e,292,267,m);break c}}while(0);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}C=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=C+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;F=(B|0)==-1?-1:G+1+B|0;if((F|0)==-1)break;else G=F}C=q+~G|0;if((((C|0)>-1?C:0-C|0)|0)>131071)re(c[o+12>>2]|0,47972);else{c[H>>2]=(C<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 278:{q=e+16|0;c[q>>2]=m;A=e+32|0;if((c[A>>2]|0)==287){C=ke(e,e+28|0)|0;c[r>>2]=C;J=C}else{C=A;F=c[C>>2]|0;B=c[C+4>>2]|0;C=e+24|0;c[C>>2]=F;c[C+4>>2]=B;c[A>>2]=287;J=F}F=e+20|0;c[F>>2]=(J|0)==40?1:-1;B=o+20|0;C=c[B>>2]|0;K=o+24|0;c[K>>2]=C;Ge(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;He(c[n>>2]|0,h);L=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;M=o+12|0;N=c[(c[M>>2]|0)+56>>2]|0;b[i+4>>1]=c[N+28>>2];b[i+6>>1]=c[N+16>>2];a[i+9>>0]=0;N=o+16|0;c[i>>2]=c[N>>2];c[N>>2]=i;N=c[r>>2]|0;switch(N|0){case 259:{D=47;break}case 287:{me(e,259);break}default:D=42}do if((D|0)==42){if((c[F>>2]|0)==0?(c[l>>2]|0)==(m|0):0){O=e+12|0;c[O>>2]=(c[O>>2]|0)+1;P=1;break}if((N|0)==259)D=47;else me(e,259)}while(0);do if((D|0)==47){c[q>>2]=c[l>>2];if((c[A>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;P=0;break}else{N=A;F=c[N+4>>2]|0;O=e+24|0;c[O>>2]=c[N>>2];c[O+4>>2]=F;c[A>>2]=287;P=0;break}}while(0);Ie(e);F=o+28|0;O=c[F>>2]|0;c[F>>2]=-1;N=oe(o,2147450916)|0;do if((O|0)!=-1)if((N|0)!=-1){Q=c[(c[o>>2]|0)+12>>2]|0;R=N;while(1){S=Q+(R<<2)|0;T=c[S>>2]|0;U=(T>>>14)+-131071|0;V=(U|0)==-1?-1:R+1+U|0;if((V|0)==-1)break;else R=V}Q=O+~R|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071)re(c[M>>2]|0,47972);else{c[S>>2]=(Q<<14)+2147467264|T&16383;W=N;break}}else W=O;else W=N;while(0);ze(o,W,C);d:do if(P)switch(c[r>>2]|0){case 287:case 292:{c[q>>2]=c[l>>2];if((c[A>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break d}else{N=A;O=c[N+4>>2]|0;Q=e+24|0;c[Q>>2]=c[N>>2];c[Q+4>>2]=O;c[A>>2]=287;break d}break}case 277:case 262:case 261:case 260:{O=e+12|0;c[O>>2]=(c[O>>2]|0)+-1;break d;break}default:{Fe(e,292,278,m);break d}}else Fe(e,262,278,m);while(0);pe(o);c[K>>2]=c[B>>2];do if((L|0)!=-1){A=c[F>>2]|0;if((A|0)==-1){c[F>>2]=L;break}q=c[(c[o>>2]|0)+12>>2]|0;C=A;while(1){X=q+(C<<2)|0;Y=c[X>>2]|0;A=(Y>>>14)+-131071|0;O=(A|0)==-1?-1:C+1+A|0;if((O|0)==-1)break;else C=O}q=L+~C|0;if((((q|0)>-1?q:0-q|0)|0)>131071)re(c[M>>2]|0,47972);else{c[X>>2]=(q<<14)+2147467264|Y&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 259:{c[e+16>>2]=m;M=e+32|0;if((c[M>>2]|0)==287)c[r>>2]=ke(e,e+28|0)|0;else{L=M;F=c[L+4>>2]|0;B=e+24|0;c[B>>2]=c[L>>2];c[B+4>>2]=F;c[M>>2]=287}Ie(e);Fe(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;M=c[(c[o+12>>2]|0)+56>>2]|0;b[i+4>>1]=c[M+28>>2];b[i+6>>1]=c[M+16>>2];a[i+9>>0]=0;M=o+16|0;c[i>>2]=c[M>>2];c[M>>2]=i;M=e+16|0;c[M>>2]=m;F=e+32|0;if((c[F>>2]|0)==287){B=ke(e,e+28|0)|0;c[r>>2]=B;Z=B}else{B=F;L=c[B>>2]|0;K=c[B+4>>2]|0;B=e+24|0;c[B>>2]=L;c[B+4>>2]=K;c[F>>2]=287;Z=L}if((Z|0)!=289)me(e,289);L=e+28|0;K=c[L>>2]|0;c[M>>2]=c[l>>2];if((c[F>>2]|0)==287){B=ke(e,L)|0;c[r>>2]=B;_=B}else{B=F;q=c[B>>2]|0;R=c[B+4>>2]|0;B=e+24|0;c[B>>2]=q;c[B+4>>2]=R;c[F>>2]=287;_=q}switch(_|0){case 61:{q=c[n>>2]|0;R=q+48|0;B=d[R>>0]|0;Je(e,qe(e,48316,11)|0);Je(e,qe(e,48328,11)|0);Je(e,qe(e,48340,10)|0);Je(e,K);if((c[r>>2]|0)!=61)me(e,61);c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{O=F;A=c[O+4>>2]|0;Q=e+24|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=A;c[F>>2]=287}Ke(e);if((c[r>>2]|0)!=44)me(e,44);c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{A=F;Q=c[A+4>>2]|0;O=e+24|0;c[O>>2]=c[A>>2];c[O+4>>2]=Q;c[F>>2]=287}Ke(e);if((c[r>>2]|0)==44){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{Q=F;O=c[Q+4>>2]|0;A=e+24|0;c[A>>2]=c[Q>>2];c[A+4>>2]=O;c[F>>2]=287}Ke(e)}else{O=d[R>>0]|0;A=q+12|0;c[h>>2]=65536;c[h+4>>2]=3;Q=Le(q,h,h)|0;N=O<<6;if((Q|0)<262144)oe(q,N|Q<<14|1)|0;else{oe(q,N|2)|0;oe(q,Q<<6|52)|0}Q=a[R>>0]|0;N=(Q&255)+1|0;O=(c[q>>2]|0)+78|0;do if((Q&255)>=(d[O>>0]|0))if((Q&255)>248)re(c[A>>2]|0,48351);else{q=N&255;a[O>>0]=q;$=q;break}else $=N&255;while(0);a[R>>0]=$}Me(e,B,m,1,1);break}case 268:case 44:{N=c[n>>2]|0;O=N+48|0;A=d[O>>0]|0;Je(e,qe(e,48386,15)|0);Je(e,qe(e,48402,11)|0);Je(e,qe(e,48414,13)|0);Je(e,K);Q=c[r>>2]|0;do if((Q|0)==44){q=e+24|0;G=4;while(1){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287){V=ke(e,L)|0;c[r>>2]=V;aa=V}else{V=F;U=c[V>>2]|0;ba=c[V+4>>2]|0;V=q;c[V>>2]=U;c[V+4>>2]=ba;c[F>>2]=287;aa=U}if((aa|0)!=289){D=118;break}U=c[L>>2]|0;c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{ba=F;V=c[ba+4>>2]|0;ca=q;c[ca>>2]=c[ba>>2];c[ca+4>>2]=V;c[F>>2]=287}Je(e,U);da=c[r>>2]|0;if((da|0)==44)G=G+1|0;else{D=123;break}}if((D|0)==118)me(e,289);else if((D|0)==123){ea=da;fa=G+-2|0;break}}else{ea=Q;fa=1}while(0);if((ea|0)!=268)me(e,268);Q=c[l>>2]|0;c[M>>2]=Q;if((c[F>>2]|0)==287){c[r>>2]=ke(e,L)|0;ga=c[l>>2]|0}else{K=F;B=c[K+4>>2]|0;R=e+24|0;c[R>>2]=c[K>>2];c[R+4>>2]=B;c[F>>2]=287;ga=Q}Ge(e,h,0)|0;e:do if((c[r>>2]|0)==44){Q=e+24|0;B=h+4|0;R=1;while(1){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{K=F;q=c[K+4>>2]|0;C=Q;c[C>>2]=c[K>>2];c[C+4>>2]=q;c[F>>2]=287}ha=c[n>>2]|0;Ne(ha,h);if(((c[h>>2]|0)==6?(q=c[B>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[ha+46>>0]|0):0){q=ha+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=ha+48|0;C=a[q>>0]|0;K=(C&255)+1|0;U=(c[ha>>2]|0)+78|0;if((C&255)<(d[U>>0]|0))ia=K&255;else{if((C&255)>248)break;C=K&255;a[U>>0]=C;ia=C}a[q>>0]=ia;Oe(ha,h,(ia&255)+-1|0);Ge(e,h,0)|0;q=R+1|0;if((c[r>>2]|0)==44)R=q;else{ja=q;break e}}re(c[ha+12>>2]|0,48351)}else ja=1;while(0);Pe(c[n>>2]|0,3,ja,h);F=(d[O>>0]|0)+3|0;L=(c[N>>2]|0)+78|0;do if(F>>>0>(d[L>>0]|0)>>>0)if(F>>>0>249)re(c[N+12>>2]|0,48351);else{a[L>>0]=F;break}while(0);Me(e,A,ga,fa,0);break}default:re(e,48428)}Fe(e,262,264,m);pe(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 273:{F=c[o+20>>2]|0;c[o+24>>2]=F;a[i+10>>0]=1;L=a[o+46>>0]|0;a[i+8>>0]=L;N=c[(c[o+12>>2]|0)+56>>2]|0;O=c[N+28>>2]&65535;b[i+4>>1]=O;M=c[N+16>>2]&65535;b[i+6>>1]=M;a[i+9>>0]=0;N=o+16|0;c[i>>2]=c[N>>2];a[j+10>>0]=0;R=j+8|0;a[R>>0]=L;b[j+4>>1]=O;b[j+6>>1]=M;M=j+9|0;a[M>>0]=0;c[j>>2]=i;c[N>>2]=j;c[e+16>>2]=m;N=e+32|0;if((c[N>>2]|0)==287){O=ke(e,e+28|0)|0;c[r>>2]=O;ka=O}else{O=N;L=c[O>>2]|0;B=c[O+4>>2]|0;O=e+24|0;c[O>>2]=L;c[O+4>>2]=B;c[N>>2]=287;ka=L}L=ka;f:while(1){switch(L|0){case 277:case 292:case 287:case 262:case 261:case 260:{break f;break}default:{}}le(e);if((L|0)==274)break;L=c[r>>2]|0}Fe(e,277,273,m);Ge(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;He(c[n>>2]|0,h);L=c[h+12>>2]|0;if(!((L|0)==-1|(a[M>>0]|0)==0)){A=c[(c[o>>2]|0)+12>>2]|0;N=(d[R>>0]<<6)+64&16320;B=L;do{O=A+(B<<2)|0;Q=c[O>>2]|0;G=(Q>>>14)+-131071|0;c[O>>2]=Q&-16321|N;B=(G|0)==-1?-1:B+1+G|0}while((B|0)!=-1)}pe(o);ze(o,L,F);pe(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 265:{B=e+16|0;c[B>>2]=m;N=e+32|0;if((c[N>>2]|0)==287){A=e+28|0;c[r>>2]=ke(e,A)|0;la=e+24|0;ma=N;na=A}else{A=e+24|0;R=N;M=c[R+4>>2]|0;G=A;c[G>>2]=c[R>>2];c[G+4>>2]=M;c[N>>2]=287;la=A;ma=N;na=e+28|0}Qe(e,j);A=j+8|0;M=j+12|0;G=h+4|0;R=i+8|0;Q=i+12|0;O=i+4|0;q=j+4|0;C=q+2|0;U=q+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=181;break g;break}case 46:break;default:{oa=0;break g}}K=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[A>>2]|0)==(c[M>>2]|0):0))Re(K,j)|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287){V=ke(e,na)|0;c[r>>2]=V;pa=V}else{V=ma;ca=c[V>>2]|0;ba=c[V+4>>2]|0;V=la;c[V>>2]=ca;c[V+4>>2]=ba;c[N>>2]=287;pa=ca}if((pa|0)!=289){D=176;break}ca=c[na>>2]|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287)c[r>>2]=ke(e,na)|0;else{ba=ma;V=c[ba+4>>2]|0;qa=la;c[qa>>2]=c[ba>>2];c[qa+4>>2]=V;c[N>>2]=287}V=c[n>>2]|0;c[h>>2]=ca;c[G>>2]=(a[ca+4>>0]|64)&255;ca=Le(V,h,h)|0;c[R>>2]=-1;c[Q>>2]=-1;c[i>>2]=4;c[O>>2]=ca;a[C>>0]=c[q>>2];b[q>>1]=Se(K,i)|0;a[U>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==176)me(e,289);if((D|0)==181){O=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[A>>2]|0)==(c[M>>2]|0):0))Re(O,j)|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287){Q=ke(e,na)|0;c[r>>2]=Q;ra=Q}else{Q=ma;R=c[Q>>2]|0;G=c[Q+4>>2]|0;Q=la;c[Q>>2]=R;c[Q+4>>2]=G;c[N>>2]=287;ra=R}if((ra|0)!=289)me(e,289);R=c[na>>2]|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287)c[r>>2]=ke(e,na)|0;else{G=ma;Q=c[G+4>>2]|0;F=la;c[F>>2]=c[G>>2];c[F+4>>2]=Q;c[N>>2]=287}Q=c[n>>2]|0;c[h>>2]=R;c[h+4>>2]=(a[R+4>>0]|64)&255;R=Le(Q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=R;a[C>>0]=c[q>>2];b[q>>1]=Se(O,i)|0;a[U>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;oa=1}Te(e,k,oa,m);Ue(c[n>>2]|0,j,k);O=c[n>>2]|0;c[(c[(c[O>>2]|0)+20>>2]|0)+((c[O+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 269:{O=e+16|0;c[O>>2]=m;R=e+32|0;if((c[R>>2]|0)==287){Q=ke(e,e+28|0)|0;c[r>>2]=Q;sa=Q}else{Q=R;F=c[Q>>2]|0;G=c[Q+4>>2]|0;Q=e+24|0;c[Q>>2]=F;c[Q+4>>2]=G;c[R>>2]=287;sa=F}if((sa|0)==265){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287){F=ke(e,e+28|0)|0;c[r>>2]=F;ta=F}else{F=R;G=c[F>>2]|0;Q=c[F+4>>2]|0;F=e+24|0;c[F>>2]=G;c[F+4>>2]=Q;c[R>>2]=287;ta=G}G=c[n>>2]|0;if((ta|0)!=289)me(e,289);Q=e+28|0;F=c[Q>>2]|0;c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,Q)|0;else{Q=R;L=c[Q+4>>2]|0;K=e+24|0;c[K>>2]=c[Q>>2];c[K+4>>2]=L;c[R>>2]=287}Je(e,F);F=c[n>>2]|0;L=F+46|0;K=a[L>>0]|0;a[L>>0]=(K&255)+1;c[(c[(c[F>>2]|0)+24>>2]|0)+((b[(c[c[(c[F+12>>2]|0)+56>>2]>>2]|0)+((c[F+40>>2]|0)+(K+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[F+20>>2];Te(e,h,0,c[l>>2]|0);c[(c[(c[G>>2]|0)+24>>2]|0)+((b[(c[c[(c[G+12>>2]|0)+56>>2]>>2]|0)+((c[G+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[G+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}if((sa|0)!=289)me(e,289);G=e+28|0;F=e+24|0;K=0;h:while(1){L=c[G>>2]|0;c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{Q=R;ca=c[Q+4>>2]|0;V=F;c[V>>2]=c[Q>>2];c[V+4>>2]=ca;c[R>>2]=287}Je(e,L);K=K+1|0;switch(c[r>>2]|0){case 61:{D=218;break h;break}case 44:break;default:{D=236;break h}}c[O>>2]=c[l>>2];if((c[R>>2]|0)==287){L=ke(e,G)|0;c[r>>2]=L;ua=L}else{L=R;ca=c[L>>2]|0;V=c[L+4>>2]|0;L=F;c[L>>2]=ca;c[L+4>>2]=V;c[R>>2]=287;ua=ca}if((ua|0)!=289){D=209;break}}i:do if((D|0)==209)me(e,289);else if((D|0)==218){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{U=R;q=c[U+4>>2]|0;C=F;c[C>>2]=c[U>>2];c[C+4>>2]=q;c[R>>2]=287}Ge(e,h,0)|0;if((c[r>>2]|0)==44){q=h+4|0;C=1;while(1){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{U=R;N=c[U+4>>2]|0;B=F;c[B>>2]=c[U>>2];c[B+4>>2]=N;c[R>>2]=287}va=c[n>>2]|0;Ne(va,h);if(((c[h>>2]|0)==6?(N=c[q>>2]|0,(N&256|0)==0):0)?(N|0)>=(d[va+46>>0]|0):0){N=va+48|0;a[N>>0]=(a[N>>0]|0)+-1<<24>>24}N=va+48|0;B=a[N>>0]|0;U=(B&255)+1|0;M=(c[va>>2]|0)+78|0;if((B&255)<(d[M>>0]|0))wa=U&255;else{if((B&255)>248)break;B=U&255;a[M>>0]=B;wa=B}a[N>>0]=wa;Oe(va,h,(wa&255)+-1|0);Ge(e,h,0)|0;N=C+1|0;if((c[r>>2]|0)==44)C=N;else{xa=N;break i}}re(c[va+12>>2]|0,48351)}else xa=1}else if((D|0)==236){c[h>>2]=0;xa=0}while(0);Pe(c[n>>2]|0,K,xa,h);R=c[n>>2]|0;F=R+46|0;G=K+(d[F>>0]|0)|0;a[F>>0]=G;F=c[R+20>>2]|0;O=c[(c[R>>2]|0)+24>>2]|0;C=c[c[(c[R+12>>2]|0)+56>>2]>>2]|0;q=(c[R+40>>2]|0)+(G&255)|0;G=K;do{c[O+((b[C+(q-G<<1)>>1]|0)*12|0)+4>>2]=F;G=G+-1|0}while((G|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 286:{G=e+16|0;c[G>>2]=m;F=e+32|0;if((c[F>>2]|0)==287){q=ke(e,e+28|0)|0;c[r>>2]=q;ya=q}else{q=F;C=c[q>>2]|0;O=c[q+4>>2]|0;q=e+24|0;c[q>>2]=C;c[q+4>>2]=O;c[F>>2]=287;ya=C}if((ya|0)!=289)me(e,289);C=e+28|0;O=c[C>>2]|0;c[G>>2]=c[l>>2];if((c[F>>2]|0)==287){q=ke(e,C)|0;c[r>>2]=q;za=q}else{q=F;K=c[q>>2]|0;R=c[q+4>>2]|0;q=e+24|0;c[q>>2]=K;c[q+4>>2]=R;c[F>>2]=287;za=K}K=c[n>>2]|0;R=e+56|0;q=c[R>>2]|0;N=q+24|0;B=K+16|0;M=b[(c[B>>2]|0)+4>>1]|0;U=q+28|0;A=c[U>>2]|0;j:do if((A|0)>(M|0)){ca=c[N>>2]|0;V=a[O+4>>0]|0;L=O+12|0;Q=O+16|0;if(V<<24>>24==4){qa=M;while(1){ba=c[ca+(qa<<4)>>2]|0;if((ba|0)==(O|0)&(a[ba+4>>0]|0)==4){Aa=qa;break}qa=qa+1|0;if((qa|0)>=(A|0))break j}Ba=K+12|0;Ca=c[Ba>>2]|0;Da=Ca+44|0;Ea=c[Da>>2]|0;Fa=ca+(Aa<<4)+8|0;Ga=c[Fa>>2]|0;Ha=we(Ga)|0;Ja=c[N>>2]|0;Ka=Ja+(Aa<<4)+8|0;La=c[Ka>>2]|0;Ma=xe(La)|0;c[g>>2]=Q;Na=g+4|0;c[Na>>2]=Ha;Oa=g+8|0;c[Oa>>2]=Ma;Pa=wd(Ea,48449,g)|0;Qa=c[Ba>>2]|0;ye(Qa,Pa)}qa=M;while(1){ba=c[ca+(qa<<4)>>2]|0;if(V<<24>>24==(a[ba+4>>0]|0)){Ra=c[L>>2]|0;if((ba|0)==(O|0)){Aa=qa;D=258;break}if((Ra|0)==(c[ba+12>>2]|0)?(tt(Q,ba+16|0,Ra)|0)==0:0){Aa=qa;D=258;break}}qa=qa+1|0;if((qa|0)>=(A|0))break j}if((D|0)==258){Ba=K+12|0;Ca=c[Ba>>2]|0;Da=Ca+44|0;Ea=c[Da>>2]|0;Fa=ca+(Aa<<4)+8|0;Ga=c[Fa>>2]|0;Ha=we(Ga)|0;Ja=c[N>>2]|0;Ka=Ja+(Aa<<4)+8|0;La=c[Ka>>2]|0;Ma=xe(La)|0;c[g>>2]=Q;Na=g+4|0;c[Na>>2]=Ha;Oa=g+8|0;c[Oa>>2]=Ma;Pa=wd(Ea,48449,g)|0;Qa=c[Ba>>2]|0;ye(Qa,Pa)}}while(0);if((za|0)!=286)me(e,286);c[G>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,C)|0;else{A=F;M=c[A+4>>2]|0;qa=e+24|0;c[qa>>2]=c[A>>2];c[qa+4>>2]=M;c[F>>2]=287}M=c[K+20>>2]|0;qa=c[U>>2]|0;A=q+32|0;if((qa|0)<(c[A>>2]|0)){Sa=c[N>>2]|0;Ta=qa}else{L=se(c[p>>2]|0,c[N>>2]|0,A,16,32767,47999)|0;c[N>>2]=L;Sa=L;Ta=c[U>>2]|0}c[Sa+(qa<<4)>>2]=O;c[Sa+(qa<<4)+8>>2]=m;a[Sa+(qa<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Sa+(qa<<4)+4>>2]=M;c[U>>2]=Ta+1;k:while(1){switch(c[r>>2]|0){case 292:case 287:case 262:case 261:case 260:{D=272;break k;break}case 286:case 59:break;default:{D=271;break k}}le(e)}if((D|0)==271)Ua=c[N>>2]|0;else if((D|0)==272){U=c[N>>2]|0;a[U+(qa<<4)+12>>0]=a[(c[B>>2]|0)+8>>0]|0;Ua=U}U=Ua+(qa<<4)|0;O=c[R>>2]|0;q=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;K=O+16|0;F=c[K>>2]|0;if((F|0)<=(q|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}C=O+12|0;O=F;F=q;while(1){q=c[(c[C>>2]|0)+(F<<4)>>2]|0;G=c[U>>2]|0;M=a[q+4>>0]|0;do if(M<<24>>24==(a[G+4>>0]|0)){if(M<<24>>24==4){if((q|0)!=(G|0)){D=282;break}}else{L=c[q+12>>2]|0;if((q|0)!=(G|0)){if((L|0)!=(c[G+12>>2]|0)){D=282;break}if(tt(q+16|0,G+16|0,L)|0){D=282;break}}}te(e,F,U);Va=c[K>>2]|0;Wa=F}else D=282;while(0);if((D|0)==282){D=0;Va=O;Wa=F+1|0}if((Wa|0)<(Va|0)){O=Va;F=Wa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 274:{F=e+16|0;c[F>>2]=m;O=e+32|0;if((c[O>>2]|0)==287){K=ke(e,e+28|0)|0;c[r>>2]=K;Xa=K;Ya=c[n>>2]|0}else{K=O;U=c[K>>2]|0;C=c[K+4>>2]|0;K=e+24|0;c[K>>2]=U;c[K+4>>2]=C;c[O>>2]=287;Xa=U;Ya=o}l:do switch(Xa|0){case 59:case 277:case 292:case 287:case 262:case 261:case 260:{Za=0;_a=0;break}default:{Ge(e,h,0)|0;m:do if((c[r>>2]|0)==44){U=e+28|0;C=e+24|0;K=h+4|0;R=1;while(1){c[F>>2]=c[l>>2];if((c[O>>2]|0)==287)c[r>>2]=ke(e,U)|0;else{qa=O;B=c[qa+4>>2]|0;N=C;c[N>>2]=c[qa>>2];c[N+4>>2]=B;c[O>>2]=287}$a=c[n>>2]|0;Ne($a,h);if(((c[h>>2]|0)==6?(B=c[K>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[$a+46>>0]|0):0){B=$a+48|0;a[B>>0]=(a[B>>0]|0)+-1<<24>>24}B=$a+48|0;N=a[B>>0]|0;qa=(N&255)+1|0;G=(c[$a>>2]|0)+78|0;if((N&255)<(d[G>>0]|0))ab=qa&255;else{if((N&255)>248)break;N=qa&255;a[G>>0]=N;ab=N}a[B>>0]=ab;Oe($a,h,(ab&255)+-1|0);Ge(e,h,0)|0;B=R+1|0;if((c[r>>2]|0)==44)R=B;else{bb=h;cb=B;break m}}re(c[$a+12>>2]|0,48351)}else{bb=h;cb=1}while(0);R=c[bb>>2]|0;if((R&-2|0)==12){switch(R|0){case 12:{R=(c[(c[Ya>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[R>>2]=c[R>>2]&-8372225;if((cb|0)==1){R=(c[(c[Ya>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[R>>2]=c[R>>2]&-64|43}break}case 13:{R=c[Ya>>2]|0;K=c[R+12>>2]|0;C=h+4|0;U=K+(c[C>>2]<<2)|0;c[U>>2]=c[U>>2]&8388607;U=K+(c[C>>2]<<2)|0;C=Ya+48|0;K=a[C>>0]|0;B=K&255;c[U>>2]=B<<6|c[U>>2]&-16321;U=B+1|0;B=R+78|0;do if((K&255)>=(d[B>>0]|0))if((K&255)>248)re(c[Ya+12>>2]|0,48351);else{R=U&255;a[B>>0]=R;db=R;break}else db=U&255;while(0);a[C>>0]=db;break}default:{}}Za=d[Ya+46>>0]|0;_a=-1;break l}if((cb|0)==1){Za=Re(Ya,h)|0;_a=1;break l}Ne(Ya,h);if(((c[bb>>2]|0)==6?(U=c[h+4>>2]|0,(U&256|0)==0):0)?(U|0)>=(d[Ya+46>>0]|0):0){U=Ya+48|0;a[U>>0]=(a[U>>0]|0)+-1<<24>>24}U=Ya+48|0;B=a[U>>0]|0;K=(B&255)+1|0;R=(c[Ya>>2]|0)+78|0;do if((B&255)>=(d[R>>0]|0))if((B&255)>248)re(c[Ya+12>>2]|0,48351);else{N=K&255;a[R>>0]=N;eb=N;break}else eb=K&255;while(0);a[U>>0]=eb;Oe(Ya,h,(eb&255)+-1|0);Za=d[Ya+46>>0]|0;_a=cb}}while(0);oe(Ya,Za<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[F>>2]=c[l>>2];if((c[O>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break}else{K=O;R=c[K+4>>2]|0;B=e+24|0;c[B>>2]=c[K>>2];c[B+4>>2]=R;c[O>>2]=287;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 266:case 258:{O=o+28|0;F=c[O>>2]|0;c[O>>2]=-1;O=oe(o,2147450916)|0;do if((F|0)!=-1)if((O|0)!=-1){R=c[(c[o>>2]|0)+12>>2]|0;B=O;while(1){fb=R+(B<<2)|0;gb=c[fb>>2]|0;K=(gb>>>14)+-131071|0;C=(K|0)==-1?-1:B+1+K|0;if((C|0)==-1)break;else B=C}R=F+~B|0;if((((R|0)>-1?R:0-R|0)|0)>131071)re(c[o+12>>2]|0,47972);else{c[fb>>2]=(R<<14)+2147467264|gb&16383;hb=O;break}}else hb=F;else hb=O;while(0);O=c[l>>2]|0;F=(c[r>>2]|0)==266;R=e+16|0;c[R>>2]=O;U=e+32|0;C=(c[U>>2]|0)==287;do if(F){if(C){K=ke(e,e+28|0)|0;c[r>>2]=K;ib=K}else{K=U;N=c[K>>2]|0;G=c[K+4>>2]|0;K=e+24|0;c[K>>2]=N;c[K+4>>2]=G;c[U>>2]=287;ib=N}if((ib|0)!=289)me(e,289);N=e+28|0;G=c[N>>2]|0;c[R>>2]=c[l>>2];if((c[U>>2]|0)==287){c[r>>2]=ke(e,N)|0;jb=G;break}else{N=U;K=c[N+4>>2]|0;qa=e+24|0;c[qa>>2]=c[N>>2];c[qa+4>>2]=K;c[U>>2]=287;jb=G;break}}else{if(C)c[r>>2]=ke(e,e+28|0)|0;else{G=U;K=c[G+4>>2]|0;qa=e+24|0;c[qa>>2]=c[G>>2];c[qa+4>>2]=K;c[U>>2]=287}jb=xd(c[p>>2]|0,58797,5)|0}while(0);U=c[e+56>>2]|0;C=U+12|0;R=U+16|0;F=c[R>>2]|0;K=U+20|0;if((F|0)<(c[K>>2]|0)){kb=c[C>>2]|0;lb=F}else{U=se(c[p>>2]|0,c[C>>2]|0,K,16,32767,47999)|0;c[C>>2]=U;kb=U;lb=c[R>>2]|0}c[kb+(F<<4)>>2]=jb;c[kb+(F<<4)+8>>2]=O;a[kb+(F<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[kb+(F<<4)+4>>2]=hb;c[R>>2]=lb+1;ue(e,F)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}default:{F=j+4|0;Ve(e,F);R=c[r>>2]|0;n:do if((R+-299|0)>>>0<16){c[j>>2]=0;U=c[n>>2]|0;c[h>>2]=c[F>>2];c[h+4>>2]=c[F+4>>2];c[h+8>>2]=c[F+8>>2];c[h+12>>2]=c[F+12>>2];do switch(R|0){case 299:{mb=0;break}case 300:{mb=1;break}case 301:{mb=2;break}case 302:{mb=3;break}case 305:{mb=15;break}case 303:{mb=4;break}case 304:{mb=5;break}case 314:{mb=19;break}case 306:{mb=6;break}case 307:{mb=7;break}case 308:{mb=8;break}case 309:{mb=9;break}case 310:{mb=10;break}case 311:{mb=11;break}case 313:{mb=13;break}case 312:{mb=12;break}default:mb=28}while(0);B=U+46|0;C=d[B>>0]|0;K=(d[U+48>>0]|0)-C|0;if((K|0)>0){qa=0;do{Je(e,qe(e,48496,14)|0);qa=qa+1|0}while((qa|0)!=(K|0));qa=c[n>>2]|0;G=qa+46|0;nb=d[G>>0]|0;ob=qa;pb=G}else{nb=C;ob=U;pb=B}G=K+nb|0;a[pb>>0]=G;if(K|0){qa=c[ob+20>>2]|0;N=c[(c[ob>>2]|0)+24>>2]|0;q=c[c[(c[ob+12>>2]|0)+56>>2]>>2]|0;M=(c[ob+40>>2]|0)+(G&255)|0;G=K;do{c[N+((b[q+(M-G<<1)>>1]|0)*12|0)+4>>2]=qa;G=G+-1|0}while((G|0)!=0)}G=c[l>>2]|0;c[e+16>>2]=G;qa=e+32|0;if((c[qa>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;qb=c[l>>2]|0;rb=c[n>>2]|0}else{M=qa;q=c[M+4>>2]|0;N=e+24|0;c[N>>2]=c[M>>2];c[N+4>>2]=q;c[qa>>2]=287;qb=G;rb=ob}G=(c[p>>2]|0)+38|0;qa=(b[G>>1]|0)+1<<16>>16;b[G>>1]=qa;if((qa&65535)>200)Ce(rb,200,48307);else{We(U,mb,h);Ge(e,i,0)|0;Xe(U,mb,h,i,qb);qa=(c[p>>2]|0)+38|0;b[qa>>1]=(b[qa>>1]|0)+-1<<16>>16;Ue(c[n>>2]|0,F,h);break}}else{switch(R|0){case 44:case 61:{c[j>>2]=0;Ye(e,j,1);break n;break}default:{}}if((c[F>>2]|0)==12){qa=(c[(c[o>>2]|0)+12>>2]|0)+(c[j+8>>2]<<2)|0;c[qa>>2]=c[qa>>2]&-8372225|16384;break}else re(e,58234)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}}while(0)}function me(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+44>>2]|0;c[e>>2]=Be(a,b)|0;re(a,wd(d,48295,e)|0)}function ne(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+44>>2]|0;g=e+40|0;h=c[g>>2]|0;i=c[h>>2]|0;oe(h,8388652)|0;pe(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)Lc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Pa[c[q>>2]&3](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))yc(f,4);Kc(f,1);u=Pa[c[q>>2]&3](c[s>>2]|0,m,o,p)|0;if(!u)yc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)Lc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Pa[c[v>>2]&3](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))yc(f,4);Kc(f,1);m=Pa[c[v>>2]&3](c[q>>2]|0,l,p,o)|0;if(!m)yc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)Lc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Pa[c[t>>2]&3](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))yc(f,4);Kc(f,1);l=Pa[c[t>>2]&3](c[v>>2]|0,n,o,p)|0;if(!l)yc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)Lc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Pa[c[u>>2]&3](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))yc(f,4);Kc(f,1);n=Pa[c[u>>2]&3](c[t>>2]|0,w,p,o)|0;if(!n)yc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)Lc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Pa[c[y>>2]&3](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))yc(f,4);Kc(f,1);m=Pa[c[y>>2]&3](c[n>>2]|0,l,p,r)|0;if(!m)yc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Pa[c[p>>2]&3](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))yc(f,4);Kc(f,1);o=Pa[c[p>>2]&3](c[y>>2]|0,x,i,r)|0;if(!o)yc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if(((c[e+24>>2]|0)+-289|0)>>>0<2){h=c[e+28>>2]|0;qe(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{Oc(f);return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=o;q=m}else{p=l;q=k}if((p&63|0)==41){c[q>>2]=p&8372224|p>>>23<<6|40;m=h+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071){r=8;break}s=(m<<14)+2147467264|0;t=c[k>>2]&16383}else{m=h+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071){r=11;break}s=l&16383;t=(m<<14)+2147467264|0}c[k>>2]=t|s;if((j|0)==-1){r=14;break}}if((r|0)==8)re(c[a+12>>2]|0,47972);else if((r|0)==11)re(c[a+12>>2]|0,47972);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=se(c[(c[a+12>>2]|0)+44>>2]|0,c[u>>2]|0,e,4,2147483645,48287)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=b;y=d+20|0;z=c[v>>2]|0;A=z+16|0;B=c[A>>2]|0;C=c[y>>2]|0;D=C+(x<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=se(c[(c[v>>2]|0)+44>>2]|0,c[b>>2]|0,w,4,2147483645,48287)|0;x=c[g>>2]|0;y=b;z=c[v>>2]|0;A=z+16|0;B=c[A>>2]|0;C=c[y>>2]|0;D=C+(x<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function pe(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=oe(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=d[g+8>>0]|0;n=k;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)re(c[h>>2]|0,47972);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=k;n=l}}k=c[(c[e>>2]|0)+12>>2]|0;o=(m<<6)+64&16320;t=n;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=n;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=n+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[h>>2]|0,47972);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+44|0;x=bd(c[y>>2]|0,58797,5)|0;n=i+56|0;m=c[n>>2]|0;r=m+24|0;q=i+40|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=m+28|0;t=c[l>>2]|0;w=m+32|0;if((t|0)<(c[w>>2]|0)){z=c[r>>2]|0;A=k;B=t;C=m}else{m=se(c[y>>2]|0,c[r>>2]|0,w,16,32767,47999)|0;c[r>>2]=m;z=m;A=c[q>>2]|0;B=c[l>>2]|0;C=c[n>>2]|0}c[z+(t<<4)>>2]=x;c[z+(t<<4)+8>>2]=0;a[z+(t<<4)+12>>0]=a[A+46>>0]|0;c[z+(t<<4)+4>>2]=j;c[l>>2]=B+1;B=(c[C+24>>2]|0)+(t<<4)|0;t=b[(c[A+16>>2]|0)+6>>1]|0;A=C+16|0;l=c[A>>2]|0;if((l|0)>(t|0)){j=C+12|0;C=l;l=t;while(1){t=c[(c[j>>2]|0)+(l<<4)>>2]|0;z=c[B>>2]|0;x=a[t+4>>0]|0;do if(x<<24>>24==(a[z+4>>0]|0)){if(x<<24>>24==4){if((t|0)!=(z|0)){u=35;break}}else{n=c[t+12>>2]|0;if((t|0)!=(z|0)){if((n|0)!=(c[z+12>>2]|0)){u=35;break}if(tt(t+16|0,z+16|0,n)|0){u=35;break}}}te(i,l,B);D=c[A>>2]|0;E=l}else u=35;while(0);if((u|0)==35){u=0;D=C;E=l+1|0}if((E|0)<(D|0)){C=D;l=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;l=a[f>>0]|0;D=e+46|0;C=a[D>>0]|0;u=C&255;A=c[(c[h>>2]|0)+56>>2]|0;B=A+4|0;c[B>>2]=(l&255)-u+(c[B>>2]|0);if((l&255)<(C&255)){B=c[e+20>>2]|0;j=c[e+40>>2]|0;z=c[(c[e>>2]|0)+24>>2]|0;t=c[A>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[z+((b[t+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=B;if((u&255)>(l&255))x=x+-1|0;else break}a[D>>0]=l;F=l}else F=C;a[e+48>>0]=F;F=c[i+56>>2]|0;c[F+28>>2]=b[g+4>>1];C=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(C|0))ve(i,(c[F+12>>2]|0)+(C<<4)|0);else return;F=A+16|0;if((c[F>>2]|0)<=(C|0))return;i=A+12|0;A=g+9|0;g=l;l=C;while(1){C=c[i>>2]|0;E=C+(l<<4)+12|0;D=g&255;if((d[E>>0]|0)>(g&255)){if(a[A>>0]|0?(x=c[C+(l<<4)+4>>2]|0,(x|0)!=-1):0){C=c[(c[e>>2]|0)+12>>2]|0;B=(D<<6)+64&16320;D=x;do{x=C+(D<<2)|0;j=c[x>>2]|0;t=(j>>>14)+-131071|0;c[x>>2]=j&-16321|B;D=(t|0)==-1?-1:D+1+t|0}while((D|0)!=-1)}a[E>>0]=g}D=l+((ue(c[h>>2]|0,l)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=a[f>>0]|0;l=D}return}function qe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+44>>2]|0;g=xd(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+40>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=Mc(d,b)|0;if((h|0)==2217396)i=Nc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{Oc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function re(a,b){a=a|0;b=b|0;Ae(a,b,c[a+24>>2]|0)}function se(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;Ac(b,48164,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)Lc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Pa[c[f>>2]&3](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}if(!(a[f+51>>0]|0))yc(b,4);Kc(b,1);m=Pa[c[f>>2]&3](c[h>>2]|0,d,j,k)|0;if(!m)yc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}return 0}function te(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Ia;Ia=Ia+16|0;i=h;j=c[e+40>>2]|0;k=c[e+56>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+56>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+44>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=we(c[q>>2]|0)|0;s=xe(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;ye(e,wd(n,48099,i)|0)}ze(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Ia=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Ia=h;return}function ue(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+40>>2]|0;h=c[e+56>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(tt(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}te(e,f,s);l=1;return l|0}function ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?48012:48065;else g=48012;h=c[b+44>>2]|0;i=d+8|0;d=we(c[i>>2]|0)|0;j=xe(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ye(b,wd(h,g,f)|0)}function we(a){a=a|0;return ($g(a,0)|0)<<16|0}function xe(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;$g(a,d)|0;Ia=b;return c[d>>2]<<16|0}function ye(a,b){a=a|0;b=b|0;c[a+24>>2]=0;re(a,b)}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)re(c[a+12>>2]|0,47972);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=f;l=g}else{k=h;l=b}if((k&63|0)!=41){g=~j+d|0;if((((g|0)>-1?g:0-g|0)|0)>131071){m=20;break}else{n=h;o=g}}else{c[l>>2]=k&8372224|k>>>23<<6|40;g=~j+d|0;if((((g|0)>-1?g:0-g|0)|0)>131071){m=17;break}n=c[b>>2]|0;o=g}c[b>>2]=n&16383|(o<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)re(c[a+12>>2]|0,47972);else if((m|0)==20)re(c[a+12>>2]|0,47972);else if((m|0)==22)return}function Ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ia;Ia=Ia+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+60>>2]|0)+16|0;k=bu(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{Vv(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[74024]|0;a[j+1>>0]=a[74025]|0;a[j+2>>0]=a[74026]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Vv(j|0,f+1|0,k|0)|0;break a}break}default:{l=nu(f,10)|0;m=j;n=47837;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){Vv(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;Vv(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[74024]|0;a[s+1>>0]=a[74025]|0;a[s+2>>0]=a[74026]|0;r=s+3|0};a[r>>0]=a[47847]|0;a[r+1>>0]=a[47848]|0;a[r+2>>0]=a[47849]|0}}while(0);r=b+44|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=wd(f,48190,i)|0;if(!e){t=c[r>>2]|0;yc(t,3)}i=c[r>>2]|0;if((e+-288|0)>>>0<3){f=b+52|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)Ae(b,48200,0);q=s<<1;if((q|0)==-2)Lc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Pa[c[u>>2]&3](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))yc(i,4);Kc(i,1);y=Pa[c[u>>2]&3](c[w>>2]|0,p,s,q)|0;if(!y)yc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=z;B=q;C=q+1|0}else{A=c[k>>2]|0;B=n;C=m}c[j>>2]=C;a[A+B>>0]=0;B=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=wd(B,48225,h)|0}else D=Be(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;wd(i,48230,g)|0;t=c[r>>2]|0;yc(t,3)}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Ia;Ia=Ia+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+44>>2]|0;c[s>>2]=69674;u=wd(t,48225,s)|0;Ia=d;return u|0}case 124:{t=c[a+44>>2]|0;c[r>>2]=69940;u=wd(t,48225,r)|0;Ia=d;return u|0}case 295:{t=c[a+44>>2]|0;c[q>>2]=70142;u=wd(t,48225,q)|0;Ia=d;return u|0}case 290:{t=c[a+44>>2]|0;c[p>>2]=70456;u=wd(t,48225,p)|0;Ia=d;return u|0}case 291:{t=c[a+44>>2]|0;c[o>>2]=70580;u=wd(t,48225,o)|0;Ia=d;return u|0}case 292:{t=c[a+44>>2]|0;c[n>>2]=70785;u=wd(t,48225,n)|0;Ia=d;return u|0}case 293:{t=c[a+44>>2]|0;c[m>>2]=70936;u=wd(t,48225,m)|0;Ia=d;return u|0}case 294:{t=c[a+44>>2]|0;c[l>>2]=71044;u=wd(t,48225,l)|0;Ia=d;return u|0}case 126:{t=c[a+44>>2]|0;c[k>>2]=96848;u=wd(t,48225,k)|0;Ia=d;return u|0}case 92:{t=c[a+44>>2]|0;c[j>>2]=73119;u=wd(t,48225,j)|0;Ia=d;return u|0}case 64:{t=c[a+44>>2]|0;c[i>>2]=80871;u=wd(t,48225,i)|0;Ia=d;return u|0}case 296:{t=c[a+44>>2]|0;c[h>>2]=48241;u=wd(t,48225,h)|0;Ia=d;return u|0}case 36:{t=c[a+44>>2]|0;c[g>>2]=80873;u=wd(t,48225,g)|0;Ia=d;return u|0}default:{if((b|0)<257){t=c[a+44>>2]|0;c[f>>2]=b;u=wd(t,48244,f)|0;Ia=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=287){u=t;Ia=d;return u|0}v=c[a+44>>2]|0;c[e>>2]=t;u=wd(v,48225,e)|0;Ia=d;return u|0}}while(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,k=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+44>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=48764;else{a=($g(j,0)|0)<<16;$g(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=wd(i,48735,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=wd(i,48778,f)|0;re(c[e>>2]|0,k)}function De(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;e=Ia;Ia=Ia+32|0;f=e+16|0;g=e;h=b+4|0;i=c[h>>2]|0;j=b+40|0;k=c[j>>2]|0;l=b+28|0;c[l>>2]=xd(c[b+44>>2]|0,80056,5)|0;m=b+24|0;c[m>>2]=289;Qe(b,f);Ne(k,f);if(((c[f>>2]|0)==6?(n=c[f+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[k+46>>0]|0|0):0){n=k+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=k+48|0;o=a[n>>0]|0;p=(o&255)+1|0;q=(c[k>>2]|0)+78|0;do if((o&255)>=(d[q>>0]|0))if((o&255)>248)re(c[k+12>>2]|0,48351);else{r=p&255;a[q>>0]=r;s=r;break}else s=p&255;while(0);a[n>>0]=s;Oe(k,f,(s&255)+-1|0);a:do switch(c[m>>2]|0){case 287:case 292:{c[g>>2]=0;break}default:{Ge(b,g,0)|0;b:do if((c[m>>2]|0)==44){s=b+16|0;p=b+32|0;q=b+24|0;o=g+4|0;while(1){c[s>>2]=c[h>>2];if((c[p>>2]|0)==287)c[m>>2]=ke(b,l)|0;else{r=p;t=c[r+4>>2]|0;u=q;c[u>>2]=c[r>>2];c[u+4>>2]=t;c[p>>2]=287}v=c[j>>2]|0;Ne(v,g);if(((c[g>>2]|0)==6?(t=c[o>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[v+46>>0]|0|0):0){t=v+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=v+48|0;u=a[t>>0]|0;r=(u&255)+1|0;w=(c[v>>2]|0)+78|0;if((u&255)<(d[w>>0]|0))x=r&255;else{if((u&255)>248)break;u=r&255;a[w>>0]=u;x=u}a[t>>0]=x;Oe(v,g,(x&255)+-1|0);Ge(b,g,0)|0;if((c[m>>2]|0)!=44){y=g;break b}}re(c[v+12>>2]|0,48351)}else y=g;while(0);switch(c[y>>2]|0){case 12:{o=(c[(c[k>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-8372225;break a;break}case 13:break;default:break a}o=c[k>>2]|0;p=c[o+12>>2]|0;q=g+4|0;s=p+(c[q>>2]<<2)|0;c[s>>2]=c[s>>2]&8388607;s=p+(c[q>>2]<<2)|0;q=a[n>>0]|0;p=q&255;c[s>>2]=p<<6|c[s>>2]&-16321;s=p+1|0;p=o+78|0;do if((q&255)>=(d[p>>0]|0))if((q&255)>248)re(c[k+12>>2]|0,48351);else{o=s&255;a[p>>0]=o;z=o;break}else z=s&255;while(0);a[n>>0]=z}}while(0);do if((c[m>>2]|0)==287){c[b+16>>2]=c[h>>2];z=b+32|0;if((c[z>>2]|0)==287){c[m>>2]=ke(b,l)|0;break}else{y=z;v=c[y+4>>2]|0;x=b+24|0;c[x>>2]=c[y>>2];c[x+4>>2]=v;c[z>>2]=287;break}}else Fe(b,292,63,i);while(0);b=c[f+4>>2]|0;switch(c[g>>2]|0){case 0:break;case 13:case 12:{A=0;B=b<<6;C=B|A;D=C|32810;oe(k,D)|0;E=c[k>>2]|0;F=E+20|0;G=c[F>>2]|0;H=k+20|0;I=c[H>>2]|0;J=I+-1|0;K=G+(J<<2)|0;c[K>>2]=i;L=b+1|0;M=L&255;a[n>>0]=M;Ia=e;return}default:N=42}if((N|0)==42){Ne(k,g);if(((c[g>>2]|0)==6?(N=c[g+4>>2]|0,(N&256|0)==0):0)?(N|0)>=(d[k+46>>0]|0|0):0){N=(a[n>>0]|0)+-1<<24>>24;a[n>>0]=N;O=N}else O=a[n>>0]|0;N=(O&255)+1|0;f=(c[k>>2]|0)+78|0;do if((O&255)>=(d[f>>0]|0))if((O&255)>248)re(c[k+12>>2]|0,48351);else{l=N&255;a[f>>0]=l;P=l;break}else P=N&255;while(0);a[n>>0]=P;Oe(k,g,(P&255)+-1|0)}A=((b^511)+(d[n>>0]|0)<<23)+8388608|0;B=b<<6;C=B|A;D=C|32810;oe(k,D)|0;E=c[k>>2]|0;F=E+20|0;G=c[F>>2]|0;H=k+20|0;I=c[H>>2]|0;J=I+-1|0;K=G+(J<<2)|0;c[K>>2]=i;L=b+1|0;M=L&255;a[n>>0]=M;Ia=e;return}function Ee(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+40|0;j=c[i>>2]|0;k=d+4|0;l=c[k>>2]|0;m=d+24|0;n=(c[m>>2]|0)==267&1;o=d+16|0;c[o>>2]=l;p=d+32|0;if((c[p>>2]|0)==287){q=ke(d,d+28|0)|0;c[m>>2]=q;r=q}else{q=p;s=c[q>>2]|0;t=c[q+4>>2]|0;q=d+24|0;c[q>>2]=s;c[q+4>>2]=t;c[p>>2]=287;r=s}s=d+20|0;c[s>>2]=(r|0)==40?1:-1;Ge(d,h,0)|0;r=c[m>>2]|0;switch(r|0){case 287:case 259:case 275:{u=0;break}default:if(!(c[s>>2]|0))u=(l|0)==(c[k>>2]|0)&1;else u=0}l=u&n;a:do if(!l)switch(r|0){case 259:{c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){n=ke(d,d+28|0)|0;c[m>>2]=n;v=n;break a}else{n=p;u=c[n>>2]|0;s=c[n+4>>2]|0;n=d+24|0;c[n>>2]=u;c[n+4>>2]=s;c[p>>2]=287;v=u;break a}break}case 275:{c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){u=ke(d,d+28|0)|0;c[m>>2]=u;v=u;break a}else{u=p;s=c[u>>2]|0;n=c[u+4>>2]|0;u=d+24|0;c[u>>2]=s;c[u+4>>2]=n;c[p>>2]=287;v=s;break a}break}default:me(d,275)}else{s=d+12|0;c[s>>2]=(c[s>>2]|0)+1;v=r}while(0);b:do switch(v|0){case 258:case 266:{$e(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;r=j+12|0;s=c[(c[r>>2]|0)+56>>2]|0;b[g+4>>1]=c[s+28>>2];b[g+6>>1]=c[s+16>>2];a[g+9>>0]=0;s=j+16|0;c[g>>2]=c[s>>2];c[s>>2]=g;s=c[h+8>>2]|0;n=c[k>>2]|0;u=(c[m>>2]|0)==266;c[o>>2]=n;t=(c[p>>2]|0)==287;do if(u){if(t){q=ke(d,d+28|0)|0;c[m>>2]=q;w=q}else{q=p;x=c[q>>2]|0;y=c[q+4>>2]|0;q=d+24|0;c[q>>2]=x;c[q+4>>2]=y;c[p>>2]=287;w=x}if((w|0)!=289)me(d,289);x=d+28|0;y=c[x>>2]|0;c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){c[m>>2]=ke(d,x)|0;z=y;break}else{x=p;q=c[x+4>>2]|0;A=d+24|0;c[A>>2]=c[x>>2];c[A+4>>2]=q;c[p>>2]=287;z=y;break}}else{if(t)c[m>>2]=ke(d,d+28|0)|0;else{y=p;q=c[y+4>>2]|0;A=d+24|0;c[A>>2]=c[y>>2];c[A+4>>2]=q;c[p>>2]=287}z=xd(c[d+44>>2]|0,58797,5)|0}while(0);t=c[d+56>>2]|0;u=t+12|0;q=t+16|0;A=c[q>>2]|0;y=t+20|0;if((A|0)<(c[y>>2]|0)){B=c[u>>2]|0;C=A}else{t=se(c[d+44>>2]|0,c[u>>2]|0,y,16,32767,47999)|0;c[u>>2]=t;B=t;C=c[q>>2]|0}c[B+(A<<4)>>2]=z;c[B+(A<<4)+8>>2]=n;a[B+(A<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[B+(A<<4)+4>>2]=s;c[q>>2]=C+1;ue(d,A)|0;c:while(1){switch(c[m>>2]|0){case 292:case 287:case 262:case 261:case 260:{D=37;break c;break}case 286:case 59:break;default:break c}le(d)}if((D|0)==37){pe(j);Ia=f;return l|0}s=j+28|0;n=c[s>>2]|0;c[s>>2]=-1;s=oe(j,2147450916)|0;if((n|0)!=-1)if((s|0)!=-1){A=c[(c[j>>2]|0)+12>>2]|0;q=s;while(1){E=A+(q<<2)|0;F=c[E>>2]|0;t=(F>>>14)+-131071|0;u=(t|0)==-1?-1:q+1+t|0;if((u|0)==-1)break;else q=u}A=n+~q|0;if((((A|0)>-1?A:0-A|0)|0)>131071)re(c[r>>2]|0,47972);else{c[E>>2]=(A<<14)+2147467264|F&16383;G=s;break b}}else G=n;else G=s;break}default:{He(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;A=c[(c[j+12>>2]|0)+56>>2]|0;b[g+4>>1]=c[A+28>>2];b[g+6>>1]=c[A+16>>2];a[g+9>>0]=0;A=j+16|0;c[g>>2]=c[A>>2];c[A>>2]=g;G=c[h+12>>2]|0}}while(0);d:do{h=c[m>>2]|0;switch(h|0){case 277:case 292:case 287:case 262:case 261:case 260:{break d;break}default:{}}le(d)}while((h|0)!=274);pe(j);d=j+28|0;do if((c[m>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=oe(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;F=g;while(1){H=i+(F<<2)|0;I=c[H>>2]|0;E=(I>>>14)+-131071|0;C=(E|0)==-1?-1:F+1+E|0;if((C|0)==-1)break;else F=C}i=h+~F|0;if((((i|0)>-1?i:0-i|0)|0)>131071)re(c[j+12>>2]|0,47972);else{c[H>>2]=(i<<14)+2147467264|I&16383;D=57;break}}else J=h;else D=57;while(0);if((D|0)==57)if((g|0)==-1)break;else J=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=J;break}s=c[(c[j>>2]|0)+12>>2]|0;n=h;while(1){K=s+(n<<2)|0;L=c[K>>2]|0;h=(L>>>14)+-131071|0;r=(h|0)==-1?-1:n+1+h|0;if((r|0)==-1)break;else n=r}s=J+~n|0;if((((s|0)>-1?s:0-s|0)|0)>131071)re(c[j+12>>2]|0,47972);else{c[K>>2]=(s<<14)+2147467264|L&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((G|0)==-1){Ia=f;return l|0}L=c[d>>2]|0;if((L|0)==-1){c[d>>2]=G;Ia=f;return l|0}d=c[(c[j>>2]|0)+12>>2]|0;K=L;while(1){M=d+(K<<2)|0;N=c[M>>2]|0;L=(N>>>14)+-131071|0;J=(L|0)==-1?-1:K+1+L|0;if((J|0)==-1)break;else K=J}d=G+~K|0;if((((d|0)>-1?d:0-d|0)|0)>131071)re(c[j+12>>2]|0,47972);c[M>>2]=(d<<14)+2147467264|N&16383;Ia=f;return l|0}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ia;Ia=Ia+16|0;g=f;h=a+24|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))me(a,b);else{j=c[a+44>>2]|0;k=Be(a,b)|0;b=Be(a,d)|0;d=we(e)|0;l=xe(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;re(a,wd(j,48689,g)|0)}c[a+16>>2]=i;i=a+32|0;if((c[i>>2]|0)==287){c[h>>2]=ke(a,a+28|0)|0;Ia=f;return}else{h=i;g=c[h+4>>2]|0;j=a+24|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=287;Ia=f;return}}function Ge(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Ia;Ia=Ia+16|0;i=h;j=e+40|0;k=c[j>>2]|0;l=e+44|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)Ce(k,200,48307);n=e+24|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 288:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+28>>2];p=29;break}case 290:{m=c[e+28>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=Le(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=29;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=29;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=29;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=29;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))re(e,48646);else{m=oe(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=29;break a}break}case 123:{df(e,f);p=32;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+16>>2]=q;r=e+32|0;if((c[r>>2]|0)==287){c[n>>2]=ke(e,e+28|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+24|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=287;s=q}Te(e,f,0,s);p=32;break}case 291:{De(e);q=(d[(c[j>>2]|0)+48>>0]|0)+-1|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=6;c[f+4>>2]=q;p=32;break}default:{Ve(e,f);p=32}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+16>>2]=s;k=e+32|0;if((c[k>>2]|0)==287)c[n>>2]=ke(e,e+28|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+24|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=287}Ge(e,f,18)|0;gf(c[j>>2]|0,o,f,s);p=32}else if((p|0)==29){c[e+16>>2]=c[e+4>>2];s=e+32|0;if((c[s>>2]|0)==287){k=ke(e,e+28|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+24|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=287;p=32;break}}while(0);if((p|0)==32)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 293:{w=8;break}case 126:{w=8;break}case 294:{w=9;break}case 295:{w=10;break}case 296:{w=11;break}case 297:{w=12;break}case 298:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 285:case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}}while(0);v=e+4|0;o=e+16|0;s=e+32|0;r=e+28|0;t=e+24|0;k=w;while(1){if((d[896+(k<<1)>>0]|0)<=(g|0)){x=k;p=64;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=287}We(c[j>>2]|0,k,f);u=k;k=Ge(e,i,d[896+(k<<1)+1>>0]|0)|0;Xe(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=64;break}}if((p|0)==64){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}return 0}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;Ne(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=j;l=h}else{k=c[i>>2]|0;l=i}c[l>>2]=((k&16320|0)==0&1)<<6|k&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;h=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;j=b+20|0;if((h&63|0)==33){c[j>>2]=(c[j>>2]|0)+-1;oe(b,h>>>23<<6|16424)|0;h=b+28|0;j=c[h>>2]|0;c[h>>2]=-1;h=oe(b,2147450916)|0;if((j|0)!=-1)if((h|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=h;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=j+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=h;n=32;break a}}else{u=j;n=33}else{m=h;n=32}}else{v=g;w=i;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=c[b>>2]|0;w=o;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;k=v+78|0;do if((r&255)>=(d[k>>0]|0))if((r&255)>248)re(c[b+12>>2]|0,48351);else{v=q&255;a[k>>0]=v;y=v;break}else y=q&255;while(0);a[f>>0]=y;af(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=w;n=22}else{z=w;n=25}}if((n|0)==22){w=c[e+4>>2]|0;if((w&256|0)==0?(w|0)>=(d[b+46>>0]|0|0):0){w=b+48|0;a[w>>0]=(a[w>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){oe(b,c[z>>2]<<23|16361)|0;x=b+28|0;w=c[x>>2]|0;c[x>>2]=-1;x=oe(b,2147450916)|0;if((w|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;k=(q|0)==-1?-1:f+1+q|0;if((k|0)==-1)break;else f=k}y=w+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=w;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)re(c[b+12>>2]|0,47972);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function Ie(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=c[d+40>>2]|0;a[f+10>>0]=0;a[f+8>>0]=a[g+46>>0]|0;h=c[(c[g+12>>2]|0)+56>>2]|0;b[f+4>>1]=c[h+28>>2];b[f+6>>1]=c[h+16>>2];a[f+9>>0]=0;h=g+16|0;c[f>>2]=c[h>>2];c[h>>2]=f;f=d+24|0;a:while(1){h=c[f>>2]|0;switch(h|0){case 277:case 292:case 287:case 262:case 261:case 260:{i=4;break a;break}default:{}}le(d);if((h|0)==274){i=4;break}}if((i|0)==4){pe(g);Ia=e;return}}function Je(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+40>>2]|0;h=c[e+56>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=se(c[e+44>>2]|0,c[o>>2]|0,j,12,32767,48630)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+44>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){Jc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)Ce(g,200,48630);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=se(c[e+44>>2]|0,c[h>>2]|0,g,2,2147483645,48630)|0;c[h>>2]=k;g=c[l>>2]|0;q=k;r=g;s=g+1|0;c[l>>2]=s;t=q+(r<<1)|0;b[t>>1]=f;return}else{q=c[h>>2]|0;r=i;s=m;c[l>>2]=s;t=q+(r<<1)|0;b[t>>1]=f;return}}function Ke(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;Ge(b,f,0)|0;g=c[b+40>>2]|0;Ne(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;Oe(g,f,m);Ia=e;return}if((h&255)>248)re(c[g+12>>2]|0,48351);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;Oe(g,f,m);Ia=e;return}function Le(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+44>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=Mc(i,e)|0;if((j|0)==2217396)k=Nc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Tc(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=se(g,c[k>>2]|0,e,8,67108863,48620)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){Jc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function Me(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;j=Ia;Ia=Ia+16|0;k=j;l=e+40|0;m=c[l>>2]|0;n=m+46|0;o=a[n>>0]|0;a[n>>0]=(o&255)+3;p=m+20|0;q=c[p>>2]|0;r=m+12|0;s=c[(c[m>>2]|0)+24>>2]|0;t=c[c[(c[r>>2]|0)+56>>2]>>2]|0;u=(c[m+40>>2]|0)+(o+3&255)|0;c[s+((b[t+(u+-3<<1)>>1]|0)*12|0)+4>>2]=q;c[s+((b[t+(u+-2<<1)>>1]|0)*12|0)+4>>2]=q;c[s+((b[t+(u+-1<<1)>>1]|0)*12|0)+4>>2]=q;q=e+24|0;if((c[q>>2]|0)!=259)me(e,259);c[e+16>>2]=c[e+4>>2];u=e+32|0;if((c[u>>2]|0)==287)c[q>>2]=ke(e,e+28|0)|0;else{q=u;t=c[q+4>>2]|0;s=e+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=t;c[u>>2]=287}u=(i|0)!=0;do if(!u){i=m+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=oe(m,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){s=c[(c[m>>2]|0)+12>>2]|0;q=i;while(1){v=s+(q<<2)|0;w=c[v>>2]|0;o=(w>>>14)+-131071|0;x=(o|0)==-1?-1:q+1+o|0;if((x|0)==-1)break;else q=x}s=t+~q|0;if((((s|0)>-1?s:0-s|0)|0)>131071)re(c[r>>2]|0,47972);else{c[v>>2]=(s<<14)+2147467264|w&16383;y=i;break}}else y=t;else y=i}else y=oe(m,f<<6|2147450926)|0;while(0);a[k+10>>0]=0;a[k+8>>0]=a[n>>0]|0;n=c[r>>2]|0;w=c[n+56>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=m+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;k=c[l>>2]|0;l=k+46|0;w=(d[l>>0]|0)+h|0;a[l>>0]=w;if(h|0){l=c[k+20>>2]|0;v=c[(c[k>>2]|0)+24>>2]|0;s=c[c[(c[k+12>>2]|0)+56>>2]>>2]|0;x=(c[k+40>>2]|0)+(w&255)|0;w=h;do{c[v+((b[s+(x-w<<1)>>1]|0)*12|0)+4>>2]=l;w=w+-1|0}while((w|0)!=0)}w=m+48|0;l=(d[w>>0]|0)+h|0;x=(c[m>>2]|0)+78|0;do if((l|0)>(d[x>>0]|0))if((l|0)>249)re(n,48351);else{s=l&255;a[x>>0]=s;z=s;break}else z=l&255;while(0);a[w>>0]=z;Ie(e);pe(m);c[m+24>>2]=c[p>>2];e=m+28|0;do if((y|0)!=-1){z=c[e>>2]|0;if((z|0)==-1){c[e>>2]=y;break}w=c[(c[m>>2]|0)+12>>2]|0;l=z;while(1){A=w+(l<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:l+1+z|0;if((x|0)==-1)break;else l=x}w=y+~l|0;if((((w|0)>-1?w:0-w|0)|0)>131071)re(c[r>>2]|0,47972);else{c[A>>2]=(w<<14)+2147467264|B&16383;break}}while(0);B=f<<6;if(u){C=B|2147450925;D=oe(m,C)|0;E=y+1|0;ze(m,D,E);F=c[m>>2]|0;G=F+20|0;H=c[G>>2]|0;I=c[p>>2]|0;J=I+-1|0;K=H+(J<<2)|0;c[K>>2]=g;Ia=j;return}else{oe(m,B|h<<14|47)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[p>>2]|0)+-1<<2)>>2]=g;C=B+128|2147450928;D=oe(m,C)|0;E=y+1|0;ze(m,D,E);F=c[m>>2]|0;G=F+20|0;H=c[G>>2]|0;I=c[p>>2]|0;J=I+-1|0;K=H+(J<<2)|0;c[K>>2]=g;Ia=j;return}}function Ne(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=oe(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=oe(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}} 144 + function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;af(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=oe(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=oe(a,n|16387)|0;c[k>>2]=c[r>>2];q=oe(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=A;C=h}else{B=u;C=k}if((B&63|0)!=41){h=s+~r|0;if((((h|0)>-1?h:0-h|0)|0)>131071){o=65;break}else{D=u;E=h}}else{c[C>>2]=B&8372224|B>>>23<<6|40;h=z+~r|0;if((((h|0)>-1?h:0-h|0)|0)>131071){o=62;break}D=c[k>>2]|0;E=h}c[k>>2]=D&16383|(E<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;re(G,47972)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;re(I,47972)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,h=c[n>>2]|0,((h&63)+-37|0)>>>0<5):0){J=h;K=n}else{J=g;K=q}if((J&63|0)!=41){n=s+~k|0;if((((n|0)>-1?n:0-n|0)|0)>131071){o=65;break}else{L=g;M=n}}else{if((J>>>23|0)==(d|0))N=J&8372224|w|40;else N=J&-16321|v;c[K>>2]=N;n=z+~k|0;if((((n|0)>-1?n:0-n|0)|0)>131071){o=62;break}L=c[q>>2]|0;M=n}c[q>>2]=L&16383|(M<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;re(G,47972)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;re(I,47972)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){M=I;while(1){L=H+(M<<2)|0;N=c[L>>2]|0;K=(N>>>14)+-131071|0;J=M;M=(K|0)==-1?-1:M+1+K|0;if((J|0)>0?(K=L+-4|0,s=c[K>>2]|0,((s&63)+-37|0)>>>0<5):0){O=s;P=K}else{O=N;P=L}if((O&63|0)!=41){K=t+~J|0;if((((K|0)>-1?K:0-K|0)|0)>131071){o=90;break}else{Q=N;R=K}}else{c[P>>2]=O&8372224|O>>>23<<6|40;K=z+~J|0;if((((K|0)>-1?K:0-K|0)|0)>131071){o=87;break}Q=c[L>>2]|0;R=K}c[L>>2]=Q&16383|(R<<14)+2147467264;if((M|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;re(T,47972)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;re(V,47972)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}M=I;while(1){I=H+(M<<2)|0;R=c[I>>2]|0;Q=(R>>>14)+-131071|0;O=M;M=(Q|0)==-1?-1:M+1+Q|0;if((O|0)>0?(Q=I+-4|0,P=c[Q>>2]|0,((P&63)+-37|0)>>>0<5):0){W=P;X=Q}else{W=R;X=I}if((W&63|0)!=41){Q=t+~O|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=90;break}else{Y=R;Z=Q}}else{if((W>>>23|0)==(d|0))_=W&8372224|G|40;else _=W&-16321|F;c[X>>2]=_;Q=z+~O|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=c[I>>2]|0;Z=Q}c[I>>2]=Y&16383|(Z<<14)+2147467264;if((M|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;re(T,47972)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;re(V,47972)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function Pe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)re(c[b+12>>2]|0,48351);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)re(c[b+12>>2]|0,48351);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{Ne(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)re(c[b+12>>2]|0,48351);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;Oe(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)re(c[b+12>>2]|0,48351);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0<g>>>0?k>>>0<g>>>0|(k|0)>(n|0):0)break;e=k>>>0<g>>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);oe(b,(h<<23)+-8388608|g<<6|4)|0;return}function Qe(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+24|0;if((c[i>>2]|0)!=289)me(d,289);j=d+28|0;k=c[j>>2]|0;c[d+16>>2]=c[d+4>>2];l=d+32|0;if((c[l>>2]|0)==287)c[i>>2]=ke(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+24|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=287}l=d+40|0;i=c[l>>2]|0;if(ff(i,k,e,1)|0){Ia=f;return}ff(i,c[d+64>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=Le(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=Se(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ia=f;return}function Re(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;Ne(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){Oe(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){Ne(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)re(c[b+12>>2]|0,48351);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;Oe(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))Ne(b,d);else Re(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=Le(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=Le(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ia=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+44>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=bd(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=Le(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=Le(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Ia=e;return j|0}j=Re(b,d)|0;Ia=e;return j|0}function Te(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Ia;Ia=Ia+80|0;j=i;k=i+16|0;l=i+4|0;m=e+40|0;n=c[m>>2]|0;o=e+44|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=se(p,c[t>>2]|0,n,4,262143,48580)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Pa[c[s>>2]&3](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))yc(p,4);Kc(p,1);u=Pa[c[s>>2]&3](c[t>>2]|0,0,9,80)|0;if(!u)yc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){Jc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+56>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+60>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Pa[c[n>>2]&3](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))yc(v,4);Kc(v,1);s=Pa[c[n>>2]&3](c[w>>2]|0,0,5,32)|0;if(!s)yc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2217420;a[x+7>>0]=0;c[x+20>>2]=2217420;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)yc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){zc(v,1000200);Ac(v,47184,j)}else{zc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+56>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+24|0;if((c[l>>2]|0)!=40)me(e,40);q=e+4|0;v=e+16|0;c[v>>2]=c[q>>2];o=e+32|0;if((c[o>>2]|0)==287){j=ke(e,e+28|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+24|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=287;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{Je(e,qe(e,48590,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+56>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+28|0;u=e+24|0;s=B;j=0;b:while(1){switch(s|0){case 280:{break b;break}case 289:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=287}Je(e,n);n=j+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==287){w=ke(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=287;F=r}s=F;j=n}if((E|0)==43)re(e,48595);c[v>>2]=c[q>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(e,y)|0;else{s=o;n=c[s+4>>2]|0;r=u;c[r>>2]=c[s>>2];c[r+4>>2]=n;c[o>>2]=287}a[g>>0]=1;D=j}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+56>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[z+46>>0]|0;a[A+76>>0]=F;A=z+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[C>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)re(c[z+12>>2]|0,48351);else{C=E&255;a[F>>0]=C;G=C;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)me(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==287){v=ke(e,e+28|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+24|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=287;H=G}G=H;c:while(1){switch(G|0){case 277:case 292:case 287:case 262:case 261:case 260:{break c;break}default:{}}le(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];Fe(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=oe(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;Ne(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;Oe(h,f,K);ne(e);Ia=i;return}if((q&255)>248)re(c[h+12>>2]|0,48351);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;Oe(h,f,K);ne(e);Ia=i;return}function Ue(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}Oe(b,g,c[f+4>>2]|0);return}case 8:{oe(b,(Re(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;oe(b,(Se(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function Ve(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=e+40|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+24|0;switch(c[n>>2]|0){case 40:{o=e+16|0;c[o>>2]=m;p=e+32|0;if((c[p>>2]|0)==287)c[n>>2]=ke(e,e+28|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=287}Ge(e,f,0)|0;Fe(e,41,40,m);Ne(c[j>>2]|0,f);t=o;u=p;v=p;break}case 289:{Qe(e,f);p=e+32|0;t=e+16|0;u=p;v=p;break}default:re(e,48511)}p=f+8|0;o=f+12|0;r=e+28|0;s=e+24|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[p>>2]|0)==(c[o>>2]|0):0))Re(L,f)|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287){M=ke(e,r)|0;c[n>>2]=M;N=M}else{M=u;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[v>>2]=287;N=O}if((N|0)!=289){Q=17;break a}O=c[r>>2]|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{P=u;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[v>>2]=287}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=Le(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=Se(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[p>>2]|0)==(c[o>>2]|0):0))Re(k,f)|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{L=u;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[v>>2]=287}Ge(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))Ne(O,h);else Re(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{O=u;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[v>>2]=287}a[J>>0]=c[I>>2];b[I>>1]=Se(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[t>>2]=c[l>>2];if((c[v>>2]|0)==287){M=ke(e,r)|0;c[n>>2]=M;S=M}else{M=u;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[v>>2]=287;S=L}if((S|0)!=289){Q=41;break a}L=c[r>>2]|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{O=u;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[v>>2]=287}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=Le(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;bf(k,f,i);cf(e,f,m);break}case 123:case 290:case 40:{Ne(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;Oe(k,f,(U&255)+-1|0);cf(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)me(e,289);else if((Q|0)==32)me(e,93);else if((Q|0)==41)me(e,289);else if((Q|0)==54)re(c[k+12>>2]|0,48351);else if((Q|0)==58){Ia=g;return}}function We(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{He(b,f);return}case 27:{$e(b,f);return}case 19:{Ne(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)re(c[b+12>>2]|0,48351);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;Oe(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;Se(b,f)|0;return}default:{Se(b,f)|0;return}}}function Xe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{Ne(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{Ne(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ne(b,g);else Re(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=c[m>>2]|0;t=m}else{s=o;t=n}c[t>>2]=c[i>>2]<<23|s&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}Ne(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;s=(i&255)+1|0;t=(c[b>>2]|0)+78|0;do if((i&255)>=(d[t>>0]|0))if((i&255)>248)re(c[b+12>>2]|0,48351);else{n=s&255;a[t>>0]=n;u=n;break}else u=s&255;while(0);a[q>>0]=u;Oe(b,g,(u&255)+-1|0);Ze(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Ze(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{_e(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{_e(b,e+14|0,0,f,g);return}default:return}}function Ye(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Ia;Ia=Ia+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)re(f,58234);m=f+24|0;a:do switch(c[m>>2]|0){case 44:{c[f+16>>2]=c[f+4>>2];n=f+32|0;if((c[n>>2]|0)==287)c[m>>2]=ke(f,f+28|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+24|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=287}c[k>>2]=g;n=k+4|0;Ve(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+40>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=0;v=g;while(1){if((c[v+4>>2]|0)==9){w=v+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=u;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=u;v=c[v>>2]|0;if(!v)break;else u=A}if(A|0){oe(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;u=a[q>>0]|0;v=(u&255)+1|0;s=(c[n>>2]|0)+78|0;do if((u&255)>=(d[s>>0]|0))if((u&255)>248)re(c[n+12>>2]|0,48351);else{t=v&255;a[s>>0]=t;B=t;break}else B=v&255;while(0);a[q>>0]=B}}if(((e[(c[f+44>>2]|0)+38>>1]|0)+h|0)>200)Ce(c[f+40>>2]|0,200,48307);else{Ye(f,k,h+1|0);C=f+40|0;break a}break}case 61:{v=f+4|0;s=f+16|0;c[s>>2]=c[v>>2];n=f+32|0;if((c[n>>2]|0)==287)c[m>>2]=ke(f,f+28|0)|0;else{u=n;r=c[u+4>>2]|0;p=f+24|0;c[p>>2]=c[u>>2];c[p+4>>2]=r;c[n>>2]=287}Ge(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+28|0;p=f+40|0;u=f+24|0;o=j+4|0;t=1;while(1){c[s>>2]=c[v>>2];if((c[n>>2]|0)==287)c[m>>2]=ke(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=u;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=287}D=c[p>>2]|0;Ne(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;Oe(D,j,(F&255)+-1|0);Ge(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=p;H=y;break b}}re(c[D+12>>2]|0,48351)}else{G=f+40|0;H=1}while(0);n=c[G>>2]|0;if((H|0)!=(h|0)){Pe(n,h,H,j);if((H|0)<=(h|0)){C=G;break a}v=(c[G>>2]|0)+48|0;a[v>>0]=h-H+(d[v>>0]|0);C=G;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;v=j+4|0;c[v>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[v>>2]<<2)>>2]|0)>>>6&255;break}case 13:{v=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[v>>2]=c[v>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ue(n,l,j);Ia=i;return}default:me(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ue(f,l,j);Ia=i;return}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=sd(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=Se(b,g)|0;i=Se(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=oe(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function _e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Se(b,g)|0;j=Se(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;oe(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=oe(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[b+12>>2]|0,47972);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function $e(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;Ne(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;oe(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=oe(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=i;u=j;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=c[b>>2]|0;u=m;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=t+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)re(c[b+12>>2]|0,48351);else{t=o&255;a[m>>0]=t;w=t;break}else w=o&255;while(0);a[f>>0]=w;af(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=u;h=19}else{x=u;h=22}}if((h|0)==19){u=c[e+4>>2]|0;if((u&256|0)==0?(u|0)>=(d[b+46>>0]|0|0):0){u=b+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){oe(b,c[x>>2]<<23|32745)|0;v=b+28|0;u=c[v>>2]|0;c[v>>2]=-1;v=oe(b,2147450916)|0;if((u|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=u+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=u;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)re(c[b+12>>2]|0,47972);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;Ne(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);oe(b,e<<6|4)|0;break}case 2:case 3:{oe(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){oe(b,k|j<<14|1)|0;break a}else{oe(b,k|2)|0;oe(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+44>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=bd(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=Le(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=Le(b,h,h)|0;o=e<<6;if((q|0)<262144){oe(b,o|q<<14|1)|0;break a}else{oe(b,o|2)|0;oe(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))oe(b,o<<23|e<<6)|0;break}default:{Ia=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ia=f;return}function bf(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;Re(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)re(c[b+12>>2]|0,48351);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;oe(b,h<<23|l<<6|(Se(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function cf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=b+40|0;k=c[j>>2]|0;l=b+24|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+16|0;c[n>>2]=c[m>>2];o=b+32|0;if((c[o>>2]|0)==287){p=ke(b,b+28|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+24|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=287;q=r}b:do if((q|0)==41)c[i>>2]=0;else{Ge(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+28|0;s=b+24|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=287}w=c[j>>2]|0;Ne(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;Oe(w,i,(y&255)+-1|0);Ge(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}re(c[w+12>>2]|0,48351)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)re(c[k+12>>2]|0,48351);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);Fe(b,41,40,f);break}case 123:{df(b,i);break}case 290:{o=b+28|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=Le(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+16>>2]=c[b+4>>2];m=b+32|0;if((c[m>>2]|0)==287){c[l>>2]=ke(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+24|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=287;break a}break}default:re(b,48529)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=oe(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}default:{Ne(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)re(c[k+12>>2]|0,48351);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;Oe(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=oe(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}function df(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Ia;Ia=Ia+32|0;g=f;h=b+40|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=oe(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;Ne(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)re(c[s+12>>2]|0,48351);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;Oe(s,e,(x&255)+-1|0);x=b+24|0;if((c[x>>2]|0)!=123)me(b,123);e=b+16|0;c[e>>2]=c[j>>2];s=b+32|0;if((c[s>>2]|0)==287){t=ke(b,b+28|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+24|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=287;y=u}a:do if((y|0)!=125){u=b+36|0;v=b+32|0;t=i+48|0;q=i+46|0;w=b+28|0;z=b+24|0;A=0;b:while(1){if(A|0){Ne(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;Oe(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)oe(i,B<<14|H)|0;else{oe(i,H)|0;oe(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 289:{G=ke(b,u)|0;c[v>>2]=G;if((G|0)==61){ef(b,g);break c}Ge(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{ef(b,g);break}default:{Ge(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==287){G=ke(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=287;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==287){B=ke(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=287;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)re(c[i+12>>2]|0,48351);else if((F|0)==38)Ce(c[h>>2]|0,2147483645,48557);else if((F|0)==43)Ce(c[h>>2]|0,2147483645,48557)}while(0);Fe(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)re(c[i+12>>2]|0,48351);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{Ne(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)re(c[i+12>>2]|0,48351);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;Oe(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)oe(i,x<<14|h)|0;else{oe(i,h)|0;oe(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)oe(i,h<<14|b)|0;else{oe(i,b)|0;oe(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}function ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=b+40|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+24|0;do if((c[m>>2]|0)!=289){n=b+4|0;o=b+16|0;c[o>>2]=c[n>>2];p=b+32|0;if((c[p>>2]|0)==287)c[m>>2]=ke(b,b+28|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=287}Ge(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ne(r,g);else Re(r,g)|0;if((c[m>>2]|0)!=93)me(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==287){n=ke(b,b+28|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+24|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=287;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)Ce(j,2147483645,48557);o=b+28|0;p=c[o>>2]|0;c[b+16>>2]=c[b+4>>2];r=b+32|0;if((c[r>>2]|0)==287){c[m>>2]=ke(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+24|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=287;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=Le(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)me(b,61);c[b+16>>2]=c[b+4>>2];t=b+32|0;if((c[t>>2]|0)==287){c[m>>2]=ke(b,b+28|0)|0;v=Se(j,g)|0;Ge(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Se(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;oe(j,G)|0;a[k>>0]=l;Ia=e;return}else{m=t;f=c[m+4>>2]|0;u=b+24|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=287;v=Se(j,g)|0;Ge(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Se(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;oe(j,G)|0;a[k>>0]=l;Ia=e;return}}function ff(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+56>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(tt(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(tt(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(ff(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=je(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Ia;Ia=Ia+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Ia=h;return}Re(b,f)|0;Ze(b,32,f,i,g);Ia=h;return}case 14:{Re(b,f)|0;Ze(b,27,f,i,g);Ia=h;return}case 16:{Re(b,f)|0;Ze(b,29,f,i,g);Ia=h;return}case 17:{Re(b,f)|0;Ze(b,30,f,i,g);Ia=h;return}case 18:{Re(b,f)|0;Ze(b,31,f,i,g);Ia=h;return}case 1:{Ne(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=k;m=e}else{l=c[j>>2]|0;m=j}c[m>>2]=((l&16320|0)==0&1)<<6|l&-16321;break}case 6:{n=25;break}case 11:{l=b+48|0;m=a[l>>0]|0;j=(m&255)+1|0;e=(c[b>>2]|0)+78|0;do if((m&255)>=(d[e>>0]|0))if((m&255)>248)re(c[b+12>>2]|0,48351);else{k=j&255;a[e>>0]=k;o=k;break}else o=j&255;while(0);a[l>>0]=o;af(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;l=c[o>>2]|0;if((l&256|0)==0?(l|0)>=(d[b+46>>0]|0|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=oe(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;l=c[o>>2]|0;c[p>>2]=l;c[o>>2]=n;if((l|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=l;do{l=n+(p<<2)|0;if((p|0)>0?(j=l+-4|0,e=c[j>>2]|0,((e&63)+-37|0)>>>0<5):0){r=e;s=j}else{r=c[l>>2]|0;s=l}if((r&63|0)==41)c[s>>2]=r&8372224|r>>>23<<6|40;j=((c[l>>2]|0)>>>14)+-131071|0;p=(j|0)==-1?-1:p+1+j|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Ia=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(r=q+-4|0,s=c[r>>2]|0,((s&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=c[q>>2]|0;u=q}if((t&63|0)==41)c[u>>2]=t&8372224|t>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Ia=h;return}case 2:{Re(b,f)|0;Ze(b,34,f,i,g);Ia=h;return}default:{Ia=h;return}}}function hf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;e=b;f=c[a>>2]|0;g=a+48|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=Oa[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=Oa[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)re(a,49004);else{c[a+8>>2]=1;Ia=b;return}}function jf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Ia;Ia=Ia+16|0;f=e;g=c[b>>2]|0;h=b+52|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)Ae(b,48200,0);o=n<<1;p=c[b+44>>2]|0;if((o|0)==-2)Lc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Pa[c[r>>2]&3](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))yc(p,4);Kc(p,1);v=Pa[c[r>>2]&3](c[t>>2]|0,q,n,o)|0;if(!v)yc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=w;y=o;z=o+1|0}else{x=c[i>>2]|0;y=k;z=l}c[j>>2]=z;a[x+y>>0]=g;y=b+48|0;x=c[y>>2]|0;z=c[x>>2]|0;c[x>>2]=z+-1;if(!z){z=Oa[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;j=c[f>>2]|0;if((z|0)==0|(j|0)==0)A=-1;else{c[x>>2]=j+-1;c[x+4>>2]=z+1;A=d[z>>0]|0}B=A}else{A=x+4|0;x=c[A>>2]|0;c[A>>2]=x+1;B=d[x>>0]|0}c[b>>2]=B;if((B|0)!=61){C=B;D=0;E=(C|0)!=(g|0);F=E<<31>>31;G=D^F;Ia=e;return G|0}B=b+44|0;x=0;while(1){A=c[h>>2]|0;z=A+4|0;j=c[z>>2]|0;l=j+1|0;k=A+8|0;i=c[k>>2]|0;if(l>>>0>i>>>0){if(i>>>0>2147483645){H=22;break}o=i<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Pa[c[m>>2]&3](c[n>>2]|0,w,i,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}Kc(I,1);r=Pa[c[m>>2]&3](c[n>>2]|0,w,i,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-i|0)+o+(c[s>>2]|0);c[A>>2]=J;c[k>>2]=o;o=c[z>>2]|0;K=J;L=o;M=o+1|0}else{K=c[A>>2]|0;L=j;M=l}c[z>>2]=M;a[K+L>>0]=61;z=c[y>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=Oa[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,f)|0;j=c[f>>2]|0;if((l|0)==0|(j|0)==0)N=-1;else{c[z>>2]=j+-1;c[z+4>>2]=l+1;N=d[l>>0]|0}O=N}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;O=d[z>>0]|0}c[b>>2]=O;z=x+1|0;if((O|0)==61)x=z;else{C=O;D=z;H=36;break}}if((H|0)==22)Ae(b,48200,0);else if((H|0)==24)Lc(I);else if((H|0)==28)yc(I,4);else if((H|0)==36){E=(C|0)!=(g|0);F=E<<31>>31;G=D^F;Ia=e;return G|0}return 0}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b>>2]|0;j=b+52|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)Ae(b,48200,0);q=p<<1;r=c[b+44>>2]|0;if((q|0)==-2)Lc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Pa[c[t>>2]&3](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))yc(r,4);Kc(r,1);x=Pa[c[t>>2]&3](c[v>>2]|0,s,p,q)|0;if(!x)yc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=y;A=q;B=q+1|0}else{z=c[k>>2]|0;A=m;B=n}c[l>>2]=B;a[z+A>>0]=i;i=b+48|0;A=c[i>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=Oa[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,h)|0;B=c[h>>2]|0;if((z|0)==0|(B|0)==0)C=-1;else{c[A>>2]=B+-1;c[A+4>>2]=z+1;C=d[z>>0]|0}D=C}else{C=A+4|0;A=c[C>>2]|0;c[C>>2]=A+1;D=d[A>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{hf(b);break}default:{}}D=(e|0)==0;A=b+44|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((jf(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{z=c[j>>2]|0;B=z+4|0;l=c[B>>2]|0;n=l+1|0;m=z+8|0;k=c[m>>2]|0;if(n>>>0>k>>>0){if(k>>>0>2147483645){E=43;break a}q=k<<1;F=c[A>>2]|0;if((q|0)==-2){E=45;break a}y=c[z>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Pa[c[o>>2]&3](c[p>>2]|0,y,k,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}Kc(F,1);t=Pa[c[o>>2]&3](c[p>>2]|0,y,k,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-k|0)+q+(c[u>>2]|0);c[z>>2]=G;c[m>>2]=q;q=c[B>>2]|0;H=G;I=q;J=q+1|0}else{H=c[z>>2]|0;I=l;J=n}c[B>>2]=J;a[H+I>>0]=10;hf(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){B=c[i>>2]|0;n=c[B>>2]|0;c[B>>2]=n+-1;if(!n){n=Oa[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;l=c[h>>2]|0;if((n|0)==0|(l|0)==0)K=-1;else{c[B>>2]=l+-1;c[B+4>>2]=n+1;K=d[n>>0]|0}L=K}else{n=B+4|0;B=c[n>>2]|0;c[n>>2]=B+1;L=d[B>>0]|0}c[b>>2]=L;break b}B=c[j>>2]|0;n=B+4|0;l=c[n>>2]|0;z=l+1|0;q=B+8|0;m=c[q>>2]|0;if(z>>>0>m>>>0){if(m>>>0>2147483645){E=58;break a}u=m<<1;M=c[A>>2]|0;if((u|0)==-2){E=60;break a}k=c[B>>2]|0;w=c[M+12>>2]|0;o=(k|0)==0;t=w+4|0;y=Pa[c[w>>2]&3](c[t>>2]|0,k,m,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}Kc(M,1);p=Pa[c[w>>2]&3](c[t>>2]|0,k,m,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-m|0)+u+(c[y>>2]|0);c[B>>2]=N;c[q>>2]=u;u=c[n>>2]|0;O=N;P=u;Q=u+1|0}else{O=c[B>>2]|0;P=l;Q=z}c[n>>2]=Q;a[O+P>>0]=C;n=c[i>>2]|0;z=c[n>>2]|0;c[n>>2]=z+-1;if(!z){z=Oa[c[n+8>>2]&7](c[n+16>>2]|0,c[n+12>>2]|0,h)|0;l=c[h>>2]|0;if((z|0)==0|(l|0)==0)R=-1;else{c[n>>2]=l+-1;c[n+4>>2]=z+1;R=d[z>>0]|0}S=R}else{z=n+4|0;n=c[z>>2]|0;c[z>>2]=n+1;S=d[n>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)Ae(b,D?48957:48981,287);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;P=R+4|0;O=c[P>>2]|0;Q=O+1|0;N=R+8|0;L=c[N>>2]|0;if(Q>>>0>L>>>0){if(L>>>0>2147483645)Ae(b,48200,0);K=L<<1;I=c[A>>2]|0;if((K|0)==-2)Lc(I);A=c[R>>2]|0;H=c[I+12>>2]|0;J=(A|0)==0;G=H+4|0;C=Pa[c[H>>2]&3](c[G>>2]|0,A,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[H+51>>0]|0))yc(I,4);Kc(I,1);n=Pa[c[H>>2]&3](c[G>>2]|0,A,L,K)|0;if(!n)yc(I,4);else T=n}else T=C;C=H+12|0;c[C>>2]=(J?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[P>>2]|0;U=T;V=K;W=K+1|0}else{U=c[R>>2]|0;V=O;W=Q}c[P>>2]=W;a[U+V>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;V=c[h>>2]|0;if((i|0)==0|(V|0)==0)X=-1;else{c[S>>2]=V+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Ia=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=qe(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ia=g;return}else if((E|0)==43)Ae(b,48200,0);else if((E|0)==45)Lc(F);else if((E|0)==49)yc(F,4);else if((E|0)==58)Ae(b,48200,0);else if((E|0)==60)Lc(M);else if((E|0)==64)yc(M,4)}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+52>>2]|0)+4>>2]=0;mf(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;mf(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);Ae(a,e,290)}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;e=c[b+52>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=c[e>>2]|0;l=g;m=h;n=d&255;c[f>>2]=m;o=k+l|0;a[o>>0]=n;return}if(j>>>0>2147483645)Ae(b,48200,0);h=j<<1;g=c[b+44>>2]|0;if((h|0)==-2)Lc(g);b=nf(g,c[e>>2]|0,j,h)|0;c[e>>2]=b;c[i>>2]=h;h=c[f>>2]|0;k=b;l=h;m=h+1|0;n=d&255;c[f>>2]=m;o=k+l|0;a[o>>0]=n;return}function nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Pa[c[g>>2]&3](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);k=Pa[c[g>>2]&3](c[i>>2]|0,d,e,f)|0;if(!k)yc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;wd(d,49111,e)|0;yc(c[a>>2]|0,3)}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,Ja=0,Ka=0,La=0,Ma=0;e=Ia;Ia=Ia+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=c[i>>2]|0;o=g;p=4;while(1){if(!n){q=Oa[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=n;u=c[m>>2]|0}q=p>>>0>t>>>0?t:p;Vv(o|0,u|0,q|0)|0;n=(c[i>>2]|0)-q|0;c[i>>2]=n;c[m>>2]=(c[m>>2]|0)+q;p=p-q|0;if(!p)break;else o=o+q|0}if((s|0)==7)of(b,49052);o=c[g>>2]|0;if((o|0)<0)of(b,49101);c[d+64>>2]=o;o=c[h>>2]|0;p=o+16|0;m=o+8|0;n=o+12|0;i=o+4|0;u=c[o>>2]|0;t=g;l=4;while(1){if(!u){j=Oa[c[m>>2]&7](c[p>>2]|0,c[n>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=u;w=c[i>>2]|0}j=l>>>0>v>>>0?v:l;Vv(t|0,w|0,j|0)|0;u=(c[o>>2]|0)-j|0;c[o>>2]=u;c[i>>2]=(c[i>>2]|0)+j;l=l-j|0;if(!l)break;else t=t+j|0}if((s|0)==16)of(b,49052);t=c[g>>2]|0;if((t|0)<0)of(b,49101);c[d+68>>2]=t;t=c[h>>2]|0;l=t+16|0;i=t+8|0;u=t+12|0;o=t+4|0;w=c[t>>2]|0;v=g;n=1;while(1){if(!w){p=Oa[c[i>>2]&7](c[l>>2]|0,c[u>>2]|0,f)|0;m=c[f>>2]|0;if((p|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=p;x=m;y=p}else{x=w;y=c[o>>2]|0}p=n>>>0>x>>>0?x:n;Vv(v|0,y|0,p|0)|0;w=(c[t>>2]|0)-p|0;c[t>>2]=w;c[o>>2]=(c[o>>2]|0)+p;n=n-p|0;if(!n)break;else v=v+p|0}if((s|0)==25)of(b,49052);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;n=v+16|0;o=v+8|0;w=v+12|0;t=v+4|0;y=c[v>>2]|0;x=g;u=1;while(1){if(!y){l=Oa[c[o>>2]&7](c[n>>2]|0,c[w>>2]|0,f)|0;i=c[f>>2]|0;if((l|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=l;z=i;A=l}else{z=y;A=c[t>>2]|0}l=u>>>0>z>>>0?z:u;Vv(x|0,A|0,l|0)|0;y=(c[v>>2]|0)-l|0;c[v>>2]=y;c[t>>2]=(c[t>>2]|0)+l;u=u-l|0;if(!u)break;else x=x+l|0}if((s|0)==32)of(b,49052);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;u=x+16|0;t=x+8|0;y=x+12|0;v=x+4|0;A=c[x>>2]|0;z=g;w=1;while(1){if(!A){n=Oa[c[t>>2]&7](c[u>>2]|0,c[y>>2]|0,f)|0;o=c[f>>2]|0;if((n|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=n;B=o;C=n}else{B=A;C=c[v>>2]|0}n=w>>>0>B>>>0?B:w;Vv(z|0,C|0,n|0)|0;A=(c[x>>2]|0)-n|0;c[x>>2]=A;c[v>>2]=(c[v>>2]|0)+n;w=w-n|0;if(!w)break;else z=z+n|0}if((s|0)==39)of(b,49052);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;w=z+16|0;v=z+8|0;A=z+12|0;x=z+4|0;C=c[z>>2]|0;B=g;y=4;while(1){if(!C){u=Oa[c[v>>2]&7](c[w>>2]|0,c[A>>2]|0,f)|0;t=c[f>>2]|0;if((u|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=u;D=t;E=u}else{D=C;E=c[x>>2]|0}u=y>>>0>D>>>0?D:y;Vv(B|0,E|0,u|0)|0;C=(c[z>>2]|0)-u|0;c[z>>2]=C;c[x>>2]=(c[x>>2]|0)+u;y=y-u|0;if(!y)break;else B=B+u|0}if((s|0)==46)of(b,49052);B=c[g>>2]|0;if((B|0)<0)of(b,49101);y=c[b>>2]|0;if((B+1|0)>>>0>1073741823)Lc(y);x=B<<2;C=c[y+12>>2]|0;z=C+4|0;E=Pa[c[C>>2]&3](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[C+51>>0]|0))yc(y,4);Kc(y,1);D=Pa[c[C>>2]&3](c[z>>2]|0,0,0,x)|0;if(!D)yc(y,4);else F=D}else F=E;E=C+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;C=B+8|0;D=B+12|0;y=B+4|0;z=c[B>>2]|0;A=F;w=x;while(1){if(!z){v=Oa[c[C>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=62;break}c[B>>2]=u;c[y>>2]=v;G=u;H=v}else{G=z;H=c[y>>2]|0}v=w>>>0>G>>>0?G:w;Vv(A|0,H|0,v|0)|0;z=(c[B>>2]|0)-v|0;c[B>>2]=z;c[y>>2]=(c[y>>2]|0)+v;w=w-v|0;if(!w){s=63;break}else A=A+v|0}if((s|0)==62)of(b,49052);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;x=I+4|0;F=c[I>>2]|0;A=g;w=4;while(1){if(!F){y=Oa[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;z=c[f>>2]|0;if((y|0)==0|(z|0)==0){s=70;break}c[I>>2]=z;c[x>>2]=y;J=z;K=y}else{J=F;K=c[x>>2]|0}y=w>>>0>J>>>0?J:w;Vv(A|0,K|0,y|0)|0;F=(c[I>>2]|0)-y|0;c[I>>2]=F;c[x>>2]=(c[x>>2]|0)+y;w=w-y|0;if(!w)break;else A=A+y|0}if((s|0)==70)of(b,49052);A=c[g>>2]|0;if((A|0)<0)of(b,49101);w=c[b>>2]|0;if((A+1|0)>>>0>536870911)Lc(w);x=A<<3;F=c[w+12>>2]|0;I=F+4|0;K=Pa[c[F>>2]&3](c[I>>2]|0,0,0,x)|0;if((x|0)!=0&(K|0)==0){if(!(a[F+51>>0]|0))yc(w,4);Kc(w,1);J=Pa[c[F>>2]&3](c[I>>2]|0,0,0,x)|0;if(!J)yc(w,4);else L=J}else L=K;K=F+12|0;c[K>>2]=(c[K>>2]|0)+x;x=d+8|0;c[x>>2]=L;c[d+44>>2]=A;K=(A|0)>0;a:do if(K){F=0;do{c[L+(F<<3)+4>>2]=0;F=F+1|0}while((F|0)!=(A|0));if(K){F=b+8|0;J=L;w=0;b:while(1){I=J+(w<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;y=G+12|0;z=G+4|0;D=c[G>>2]|0;E=g;C=1;while(1){if(!D){v=Oa[c[H>>2]&7](c[B>>2]|0,c[y>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=90;break b}c[G>>2]=u;c[z>>2]=v;M=u;N=v}else{M=D;N=c[z>>2]|0}v=C>>>0>M>>>0?M:C;Vv(E|0,N|0,v|0)|0;D=(c[G>>2]|0)-v|0;c[G>>2]=D;c[z>>2]=(c[z>>2]|0)+v;C=C-v|0;if(!C)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;C=E+16|0;z=E+8|0;D=E+12|0;G=E+4|0;y=c[E>>2]|0;B=g;H=1;while(1){if(!y){v=Oa[c[z>>2]&7](c[C>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=98;break b}c[E>>2]=u;c[G>>2]=v;P=u;Q=v}else{P=y;Q=c[G>>2]|0}v=H>>>0>P>>>0?P:H;Vv(B|0,Q|0,v|0)|0;y=(c[E>>2]|0)-v|0;c[E>>2]=y;c[G>>2]=(c[G>>2]|0)+v;H=H-v|0;if(!H)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;H=B+16|0;G=B+8|0;y=B+12|0;E=B+4|0;D=c[B>>2]|0;C=g;z=4;while(1){if(!D){v=Oa[c[G>>2]&7](c[H>>2]|0,c[y>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=106;break b}c[B>>2]=u;c[E>>2]=v;R=u;S=v}else{R=D;S=c[E>>2]|0}v=z>>>0>R>>>0?R:z;Vv(C|0,S|0,v|0)|0;D=(c[B>>2]|0)-v|0;c[B>>2]=D;c[E>>2]=(c[E>>2]|0)+v;z=z-v|0;if(!z)break;else C=C+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{C=c[h>>2]|0;z=C+16|0;E=C+8|0;D=C+12|0;B=C+4|0;y=c[C>>2]|0;H=g;G=4;while(1){if(!y){v=Oa[c[E>>2]&7](c[z>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=114;break b}c[C>>2]=u;c[B>>2]=v;T=u;U=v}else{T=y;U=c[B>>2]|0}v=G>>>0>T>>>0?T:G;Vv(H|0,U|0,v|0)|0;y=(c[C>>2]|0)-v|0;c[C>>2]=y;c[B>>2]=(c[B>>2]|0)+v;G=G-v|0;if(!G)break;else H=H+v|0}H=c[g>>2]|0;if(!H)V=0;else{G=qf(c[b>>2]|0,c[F>>2]|0,H)|0;B=c[h>>2]|0;y=B+16|0;C=B+8|0;D=B+12|0;z=B+4|0;E=c[B>>2]|0;v=G;u=H;while(1){if(!E){t=Oa[c[C>>2]&7](c[y>>2]|0,c[D>>2]|0,f)|0;n=c[f>>2]|0;if((t|0)==0|(n|0)==0){s=122;break b}c[B>>2]=n;c[z>>2]=t;W=n;X=t}else{W=E;X=c[z>>2]|0}t=u>>>0>W>>>0?W:u;Vv(v|0,X|0,t|0)|0;E=(c[B>>2]|0)-t|0;c[B>>2]=E;c[z>>2]=(c[z>>2]|0)+t;u=u-t|0;if(!u)break;else v=v+t|0}V=xd(c[b>>2]|0,G,H+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[J+(w<<3)+4>>2]=O}v=w+1|0;if((v|0)>=(A|0))break a;J=c[x>>2]|0;w=v}if((s|0)==90)of(b,49052);else if((s|0)==98)of(b,49052);else if((s|0)==106)of(b,49052);else if((s|0)==114)of(b,49052);else if((s|0)==122)of(b,49052)}}while(0);x=c[h>>2]|0;A=x+16|0;O=x+8|0;V=x+12|0;X=x+4|0;W=c[x>>2]|0;U=g;T=4;while(1){if(!W){S=Oa[c[O>>2]&7](c[A>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[x>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=W;Z=c[X>>2]|0}S=T>>>0>Y>>>0?Y:T;Vv(U|0,Z|0,S|0)|0;W=(c[x>>2]|0)-S|0;c[x>>2]=W;c[X>>2]=(c[X>>2]|0)+S;T=T-S|0;if(!T)break;else U=U+S|0}if((s|0)==134)of(b,49052);U=c[g>>2]|0;if((U|0)<0)of(b,49101);T=c[b>>2]|0;if((U+1|0)>>>0>1073741823)Lc(T);X=U<<2;W=c[T+12>>2]|0;x=W+4|0;Z=Pa[c[W>>2]&3](c[x>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[W+51>>0]|0))yc(T,4);Kc(T,1);Y=Pa[c[W>>2]&3](c[x>>2]|0,0,0,X)|0;if(!Y)yc(T,4);else _=Y}else _=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){W=1;do{c[(c[X>>2]|0)+(W<<2)>>2]=0;W=W+1|0}while((W|0)!=(U|0))}if(Z){W=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;T=Y+4|0;x=Pa[c[Y>>2]&3](c[T>>2]|0,0,9,80)|0;if(!x){if(!(a[Y+51>>0]|0)){s=152;break}Kc($,1);V=Pa[c[Y>>2]&3](c[T>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=x;x=Y+12|0;c[x>>2]=(c[x>>2]|0)+80;x=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[x>>2];c[x>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;x=aa+8|0;Y=x+64|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(Y|0));c[(c[X>>2]|0)+(W<<2)>>2]=aa;pf(b,c[(c[X>>2]|0)+(W<<2)>>2]|0);W=W+1|0;if((W|0)>=(U|0))break c}if((s|0)==152)yc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=c[$>>2]|0;W=g;x=4;while(1){if(!_){Y=Oa[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=_;ca=c[Z>>2]|0}Y=x>>>0>ba>>>0?ba:x;Vv(W|0,ca|0,Y|0)|0;_=(c[$>>2]|0)-Y|0;c[$>>2]=_;c[Z>>2]=(c[Z>>2]|0)+Y;x=x-Y|0;if(!x)break;else W=W+Y|0}if((s|0)==160)of(b,49052);W=c[g>>2]|0;if((W|0)<0)of(b,49101);x=c[b>>2]|0;if((W+1|0)>>>0>536870911)Lc(x);Z=W<<3;_=c[x+12>>2]|0;$=_+4|0;ca=Pa[c[_>>2]&3](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0))yc(x,4);Kc(x,1);ba=Pa[c[_>>2]&3](c[$>>2]|0,0,0,Z)|0;if(!ba)yc(x,4);else da=ba}else da=ca;ca=_+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=W;d:do if((W|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(W|0));ca=0;e:while(1){_=c[h>>2]|0;ba=_+16|0;x=_+8|0;$=_+12|0;aa=_+4|0;U=c[_>>2]|0;X=g;Y=1;while(1){if(!U){I=Oa[c[x>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;H=c[f>>2]|0;if((I|0)==0|(H|0)==0){s=179;break e}c[_>>2]=H;c[aa>>2]=I;ea=H;fa=I}else{ea=U;fa=c[aa>>2]|0}I=Y>>>0>ea>>>0?ea:Y;Vv(X|0,fa|0,I|0)|0;U=(c[_>>2]|0)-I|0;c[_>>2]=U;c[aa>>2]=(c[aa>>2]|0)+I;Y=Y-I|0;if(!Y)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;Y=X+16|0;aa=X+8|0;U=X+12|0;_=X+4|0;$=c[X>>2]|0;ba=g;x=1;while(1){if(!$){I=Oa[c[aa>>2]&7](c[Y>>2]|0,c[U>>2]|0,f)|0;H=c[f>>2]|0;if((I|0)==0|(H|0)==0){s=186;break e}c[X>>2]=H;c[_>>2]=I;ga=H;ha=I}else{ga=$;ha=c[_>>2]|0}I=x>>>0>ga>>>0?ga:x;Vv(ba|0,ha|0,I|0)|0;$=(c[X>>2]|0)-I|0;c[X>>2]=$;c[_>>2]=(c[_>>2]|0)+I;x=x-I|0;if(!x)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(W|0))break d}if((s|0)==179)of(b,49052);else if((s|0)==186)of(b,49052)}while(0);W=c[h>>2]|0;ha=W+16|0;ga=W+8|0;fa=W+12|0;ea=W+4|0;da=c[W>>2]|0;ca=g;ba=4;while(1){if(!da){x=Oa[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;_=c[f>>2]|0;if((x|0)==0|(_|0)==0){s=194;break}c[W>>2]=_;c[ea>>2]=x;ia=_;ja=x}else{ia=da;ja=c[ea>>2]|0}x=ba>>>0>ia>>>0?ia:ba;Vv(ca|0,ja|0,x|0)|0;da=(c[W>>2]|0)-x|0;c[W>>2]=da;c[ea>>2]=(c[ea>>2]|0)+x;ba=ba-x|0;if(!ba)break;else ca=ca+x|0}if((s|0)==194)of(b,49052);ca=c[g>>2]|0;do if(ca){ba=qf(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;da=ea+16|0;W=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=c[ea>>2]|0;ha=ba;ga=ca;while(1){if(!fa){x=Oa[c[W>>2]&7](c[da>>2]|0,c[ja>>2]|0,f)|0;_=c[f>>2]|0;if((x|0)==0|(_|0)==0){s=202;break}c[ea>>2]=_;c[ia>>2]=x;ka=_;la=x}else{ka=fa;la=c[ia>>2]|0}x=ga>>>0>ka>>>0?ka:ga;Vv(ha|0,la|0,x|0)|0;fa=(c[ea>>2]|0)-x|0;c[ea>>2]=fa;c[ia>>2]=(c[ia>>2]|0)+x;ga=ga-x|0;if(!ga){s=203;break}else ha=ha+x|0}if((s|0)==202)of(b,49052);else if((s|0)==203){ma=xd(c[b>>2]|0,ba,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;ga=c[ma>>2]|0;ia=g;fa=4;while(1){if(!ga){ea=Oa[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Vv(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)of(b,49052);ia=c[g>>2]|0;if((ia|0)<0)of(b,49101);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)Lc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Pa[c[ga>>2]&3](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))yc(fa,4);Kc(fa,1);na=Pa[c[ga>>2]&3](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}yc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=c[ia>>2]|0;ka=pa;ca=ha;while(1){if(!na){la=Oa[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=na;ra=c[ma>>2]|0}la=ca>>>0>qa>>>0?qa:ca;Vv(ka|0,ra|0,la|0)|0;na=(c[ia>>2]|0)-la|0;c[ia>>2]=na;c[ma>>2]=(c[ma>>2]|0)+la;ca=ca-la|0;if(!ca){s=227;break}else ka=ka+la|0}if((s|0)==226)of(b,49052);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;ha=sa+4|0;pa=c[sa>>2]|0;ka=g;ca=4;while(1){if(!pa){ma=Oa[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;na=c[f>>2]|0;if((ma|0)==0|(na|0)==0){s=234;break}c[sa>>2]=na;c[ha>>2]=ma;ta=na;ua=ma}else{ta=pa;ua=c[ha>>2]|0}ma=ca>>>0>ta>>>0?ta:ca;Vv(ka|0,ua|0,ma|0)|0;pa=(c[sa>>2]|0)-ma|0;c[sa>>2]=pa;c[ha>>2]=(c[ha>>2]|0)+ma;ca=ca-ma|0;if(!ca)break;else ka=ka+ma|0}if((s|0)==234)of(b,49052);ka=c[g>>2]|0;if((ka|0)<0)of(b,49101);ca=c[b>>2]|0;if((ka+1|0)>>>0>357913941)Lc(ca);ha=ka*12|0;pa=c[ca+12>>2]|0;sa=pa+4|0;ua=Pa[c[pa>>2]&3](c[sa>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(ua|0)==0){if(!(a[pa+51>>0]|0))yc(ca,4);Kc(ca,1);ta=Pa[c[pa>>2]&3](c[sa>>2]|0,0,0,ha)|0;if(ta|0){va=ta;break}yc(ca,4)}else va=ua;while(0);ua=pa+12|0;c[ua>>2]=(c[ua>>2]|0)+ha;ha=d+24|0;c[ha>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){pa=c[h>>2]|0;ca=pa+16|0;sa=pa+8|0;ta=pa+12|0;qa=pa+4|0;ia=c[pa>>2]|0;ra=g;ma=4;while(1){if(!ia){na=Oa[c[sa>>2]&7](c[ca>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((na|0)==0|(fa|0)==0){s=253;break g}c[pa>>2]=fa;c[qa>>2]=na;wa=fa;xa=na}else{wa=ia;xa=c[qa>>2]|0}na=ma>>>0>wa>>>0?wa:ma;Vv(ra|0,xa|0,na|0)|0;ia=(c[pa>>2]|0)-na|0;c[pa>>2]=ia;c[qa>>2]=(c[qa>>2]|0)+na;ma=ma-na|0;if(!ma)break;else ra=ra+na|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ma=qf(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ia=qa+16|0;pa=qa+8|0;ta=qa+12|0;ca=qa+4|0;sa=c[qa>>2]|0;na=ma;fa=ra;while(1){if(!sa){oa=Oa[c[pa>>2]&7](c[ia>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ca>>2]=oa;za=ga;Aa=oa}else{za=sa;Aa=c[ca>>2]|0}oa=fa>>>0>za>>>0?za:fa;Vv(na|0,Aa|0,oa|0)|0;sa=(c[qa>>2]|0)-oa|0;c[qa>>2]=sa;c[ca>>2]=(c[ca>>2]|0)+oa;fa=fa-oa|0;if(!fa)break;else na=na+oa|0}ya=xd(c[b>>2]|0,ma,ra+-1|0)|0}c[(c[ha>>2]|0)+(ua*12|0)>>2]=ya;na=c[h>>2]|0;fa=na+16|0;ca=na+8|0;sa=na+12|0;qa=na+4|0;ta=c[na>>2]|0;ia=g;pa=4;while(1){if(!ta){oa=Oa[c[ca>>2]&7](c[fa>>2]|0,c[sa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[na>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=ta;Ca=c[qa>>2]|0}oa=pa>>>0>Ba>>>0?Ba:pa;Vv(ia|0,Ca|0,oa|0)|0;ta=(c[na>>2]|0)-oa|0;c[na>>2]=ta;c[qa>>2]=(c[qa>>2]|0)+oa;pa=pa-oa|0;if(!pa)break;else ia=ia+oa|0}ia=c[g>>2]|0;if((ia|0)<0){s=271;break}c[(c[ha>>2]|0)+(ua*12|0)+4>>2]=ia;ia=c[h>>2]|0;pa=ia+16|0;qa=ia+8|0;ta=ia+12|0;na=ia+4|0;sa=c[ia>>2]|0;fa=g;ca=4;while(1){if(!sa){ra=Oa[c[qa>>2]&7](c[pa>>2]|0,c[ta>>2]|0,f)|0;ma=c[f>>2]|0;if((ra|0)==0|(ma|0)==0){s=278;break g}c[ia>>2]=ma;c[na>>2]=ra;Da=ma;Ea=ra}else{Da=sa;Ea=c[na>>2]|0}ra=ca>>>0>Da>>>0?Da:ca;Vv(fa|0,Ea|0,ra|0)|0;sa=(c[ia>>2]|0)-ra|0;c[ia>>2]=sa;c[na>>2]=(c[na>>2]|0)+ra;ca=ca-ra|0;if(!ca)break;else fa=fa+ra|0}fa=c[g>>2]|0;if((fa|0)<0){s=280;break}c[(c[ha>>2]|0)+(ua*12|0)+8>>2]=fa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)of(b,49052);else if((s|0)==261)of(b,49052);else if((s|0)==269)of(b,49052);else if((s|0)==271)of(b,49101);else if((s|0)==278)of(b,49052);else if((s|0)==280)of(b,49101)}while(0);ka=c[h>>2]|0;ha=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=c[ka>>2]|0;ya=g;Aa=4;while(1){if(!Ba){za=Oa[c[Ea>>2]&7](c[ha>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Fa=xa;Ga=za}else{Fa=Ba;Ga=c[Ca>>2]|0}za=Aa>>>0>Fa>>>0?Fa:Aa;Vv(ya|0,Ga|0,za|0)|0;Ba=(c[ka>>2]|0)-za|0;c[ka>>2]=Ba;c[Ca>>2]=(c[Ca>>2]|0)+za;Aa=Aa-za|0;if(!Aa)break;else ya=ya+za|0}if((s|0)==288)of(b,49052);ya=c[g>>2]|0;if((ya|0)<0)of(b,49101);if(!ya){Ia=e;return}Aa=b+8|0;Ca=0;h:while(1){Ba=c[h>>2]|0;ka=Ba+16|0;Ga=Ba+8|0;Fa=Ba+12|0;Da=Ba+4|0;ha=c[Ba>>2]|0;Ea=g;za=4;while(1){if(!ha){xa=Oa[c[Ga>>2]&7](c[ka>>2]|0,c[Fa>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Ba>>2]=wa;c[Da>>2]=xa;Ha=wa;Ja=xa}else{Ha=ha;Ja=c[Da>>2]|0}xa=za>>>0>Ha>>>0?Ha:za;Vv(Ea|0,Ja|0,xa|0)|0;ha=(c[Ba>>2]|0)-xa|0;c[Ba>>2]=ha;c[Da>>2]=(c[Da>>2]|0)+xa;za=za-xa|0;if(!za)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{za=qf(c[b>>2]|0,c[Aa>>2]|0,Ea)|0;Da=c[h>>2]|0;ha=Da+16|0;Ba=Da+8|0;Fa=Da+12|0;ka=Da+4|0;Ga=c[Da>>2]|0;xa=za;wa=Ea;while(1){if(!Ga){va=Oa[c[Ba>>2]&7](c[ha>>2]|0,c[Fa>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;La=ua;Ma=va}else{La=Ga;Ma=c[ka>>2]|0}va=wa>>>0>La>>>0?La:wa;Vv(xa|0,Ma|0,va|0)|0;Ga=(c[Da>>2]|0)-va|0;c[Da>>2]=Ga;c[ka>>2]=(c[ka>>2]|0)+va;wa=wa-va|0;if(!wa)break;else xa=xa+va|0}Ka=xd(c[b>>2]|0,za,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)of(b,49052);else if((s|0)==307)of(b,49052);else if((s|0)==310){Ia=e;return}}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)Lc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Pa[c[j>>2]&3](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))yc(b,4);Kc(b,1);n=Pa[c[j>>2]&3](c[l>>2]|0,e,g,i)|0;if(!n)yc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function rf(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function sf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{Kc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;Oc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;Oc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do gd(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;ld(b)|0;l=(c[g>>2]|0)+49|0;if(1<<d[l>>0]&-29|0){i=0;return i|0}do gd(b)|0;while(!(1<<d[l>>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function tf(a){a=a|0;Dc(a);return 0}function uf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=vf(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=-1;t=0;u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=-1;t=0;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|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,k=0,l=0,m=0,n=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ia=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Ia=e;return i|0}k=vd(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Tc(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)Ac(a,49136,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ia=e;return i|0}function wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=bd(b,3196396,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,d);return}function xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=0;v=1}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=s;B=w;while(1){C=B+-1|0;D=c[A+8>>2]|0;if((B|0)>1&(D|0)!=(t|0)){A=D;B=C}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=w;F=x;break}B=w<<1;if((w|0)<0){E=B;F=w;break}else{A=w;w=B;x=A}}if((F|0)<(E|0)){x=E;w=F;while(1){F=x+w|0;y=(F|0)/2|0;if((F|0)<-1)G=0;else{if((F+1|0)>>>0>2){F=s;z=y;while(1){A=z+-1|0;B=c[F+8>>2]|0;if((z|0)>1&(B|0)!=(t|0)){F=B;z=A}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;F=z?y:x;w=z?w:y+1|0;if((w|0)>=(F|0)){J=F;break}else x=F}}else J=E;u=(J|0)>23?12:0;v=J}if(e|0){c[m>>2]=e;Td(b,61091,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;E=c[J>>2]|0;do if((E|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=E+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{Oc(b);break}while(0);J=bd(b,49158,16)|0;E=c[o>>2]|0;c[E>>2]=J;c[E+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;E=n+36|0;e=n+20|0;x=v+-11|0;v=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;F=c[r>>2]|0;if((s|0)!=0&(F|0)!=(t|0)){z=F;A=s;while(1){B=A+-1|0;C=c[z+8>>2]|0;if((A|0)>1&(C|0)!=(t|0)){z=C;A=B}else{M=C;N=B;break}}}else{M=F;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(u|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);z=bd(b,49175,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{yf(d,49181,n)|0;c[l>>2]=E;Td(b,49186,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Td(b,49192,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{Oc(b);break}while(0);y=bd(b,49196,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[v>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{Oc(b);break}while(0);A=bd(b,49215,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(zf(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);z=bd(b,80062,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(Kd(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{Oc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Td(b,49201,i)|0;A=c[o>>2]|0;B=A+-8|0;z=A+-16|0;while(1){c[z>>2]=c[B>>2];c[z+4>>2]=c[z+12>>2];A=B+8|0;S=c[o>>2]|0;if(A>>>0<S>>>0){C=B;B=A;z=C}else break}c[o>>2]=S+-8;break a;break}default:{z=c[I>>2]<<16;c[h>>2]=E;c[h+4>>2]=z;Td(b,49226,h)|0;break a}}else{c[j>>2]=c[H>>2];Td(b,49201,j)|0}while(0);if(!(a[G>>0]|0)){z=c[o>>2]|0;T=z;U=z}else{z=c[m>>2]|0;B=z+12|0;y=c[B>>2]|0;do if((y|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[B>>2]=-1600;break}else{Oc(b);break}while(0);B=bd(b,49243,20)|0;y=c[o>>2]|0;c[y>>2]=B;c[y+4>>2]=(a[B+4>>0]|64)&255;B=(c[o>>2]|0)+8|0;c[o>>2]=B;T=B;U=B}B=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((B|0)<=1){if(B|0){O=f;break}y=bd(b,3196396,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;z=y+12|0;C=c[z>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,B);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Ia=g;return}q=bd(b,3196396,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ia=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,O);Ia=g;return}function yf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Ia;Ia=Ia+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=0;l=j;m=e+1|0}else{j=c[f+96>>2]|0;k=j;l=c[j>>2]|0;m=e}e=l+4|0;if((c[e>>2]&31|0)==6)n=c[l>>2]|0;else n=0;j=a[m>>0]|0;a:do if(!(j<<24>>24))o=1;else{i=(n|0)==0;p=(k|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=k+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=k+8|0;I=f+95|0;J=f+39|0;K=k+28|0;L=b+12|0;M=j;N=1;O=m;while(1){b:do switch(M<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?49269:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?49272:49277}else{c[q>>2]=49264;c[r>>2]=-1;c[s>>2]=-1;S=49264;T=97345}c[t>>2]=T;Q=bu(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Vv(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[74024]|0;a[u+1>>0]=a[74025]|0;a[u+2>>0]=a[74026]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Vv(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=nu(S,10)|0;U=u;V=47837;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Vv(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Vv(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[74024]|0;a[Z+1>>0]=a[74025]|0;a[Z+2>>0]=a[74026]|0;Y=Z+3|0};a[Y>>0]=a[47847]|0;a[Y+1>>0]=a[47848]|0;a[Y+2>>0]=a[47849]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[k>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=ed(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=49281;ca=49281;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=49294}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3196396;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);O=O+1|0;M=a[O>>0]|0;if(!(M<<24>>24)){o=X;break a}else N=X}}while(0);if(nu(m,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[l>>2];c[ca+4>>2]=c[e>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(nu(m,76)|0)){Ia=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){m=n+12|0;n=c[(c[m>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;e=X+4|0;ca=Pa[c[X>>2]&3](c[e>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))yc(b,4);Kc(b,1);l=Pa[c[X>>2]&3](c[e>>2]|0,0,5,32)|0;if(!l)yc(b,4);else fa=l}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;l=fa+16|0;c[l>>2]=2217420;e=fa+7|0;a[e>>0]=0;c[fa+20>>2]=2217420;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[m>>2]|0)+52>>2]|0)<=0){Ia=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;k=_+-1|0;d:do if(k>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(k<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[l>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<<d[e>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2217396){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=Nc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[m>>2]|0)+52>>2]|0));Ia=g;return o|0}m=b+8|0;b=c[m>>2]|0;c[b+4>>2]=0;c[m>>2]=b+8;Ia=g;return o|0}function zf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;yf(a,92377,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2217396;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(Af(a,i,2)|0){Ad(a,-1,i);l=(c[e>>2]|0)+-16|0;m=1;c[e>>2]=l;return m|0}if((g|0)<=-8){l=(c[e>>2]|0)+(i<<3)|0;m=0;c[e>>2]=l;return m|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=g;m=0;c[e>>2]=l;return m|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<g>>>0);c[e>>2]=f+(a+1<<3);l=g;m=0;c[e>>2]=l;return m|0}function Af(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2217396){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(uf(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2217396?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0<o>>>0?p:2217396;p=o+-8|0;if(((p|0)!=2217396&(q|0)!=2217396?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Tc(0,q,p)|0:0){r=27;break a}if(Af(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(uf(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2217396?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|32|0)!=54){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2217396:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2217396&(t|0)!=2217396):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Tc(0,t,p)|0:0){r=27;break a}if(Af(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(uf(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-8|0;j=r+-16|0;while(1){c[j>>2]=c[v>>2];c[j+4>>2]=c[j+12>>2];r=v+8|0;w=c[i>>2]|0;if(r>>>0<w>>>0){e=v;v=r;j=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;j=w+12|0;v=c[j>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=v+1600+(c[e>>2]|0);c[j>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,104886,1)|0;v=c[i>>2]|0;c[v>>2]=j;c[v+4>>2]=(a[j+4>>0]|64)&255;j=c[i>>2]|0;v=j+8|0;c[i>>2]=v;w=v;do{v=w;w=w+-8|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[v+-4>>2]}while(v>>>0>j>>>0);w=c[i>>2]|0;c[j+-8>>2]=c[w>>2];c[j+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;j=c[l>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=j+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,3);g=1;return g|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;Cf(b,49305,i)|0}c[j+96>>2]=f;yf(b,49327,j)|0;if(!(au(c[j+8>>2]|0,47574)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;Cf(b,49329,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Cf(b,49359,g)|0}do if(!(zf(b,j)|0))o=80062;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(Kd(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{Oc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Cf(b,49359,g)|0;return 0}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;Df(a,1);Sd(a,b,f)|0;wf(a,2);tf(a)|0;return 0}function Df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=h;k=d;while(1){l=k+-1|0;m=c[j+8>>2]|0;if((k|0)>1&(m|0)!=(i|0)){j=m;k=l}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,yf(b,49389,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Td(b,49392,f)|0;c[554351]=c[n>>2];Ia=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);f=bd(b,3196396,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Ia=e;return}function Ef(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=Jd(a,b,e)|0;if(h|0){Ia=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|32|0)!=54?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2217396)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=62511;c[g+4>>2]=j;Bf(a,b,Td(a,49400,g)|0)|0;Ia=f;return h|0}function Ff(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|32|0)!=54?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2217396:0)?c[i+4>>2]&15|0:0){m=Ef(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=bu(e)|0;c[f>>2]=n;m=e;return m|0}function Gf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|32|0)==54)k=2217396;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2217396:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2217396}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|32|0)!=54?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2217396)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=47158;c[f+4>>2]=n;Bf(a,b,Td(a,49400,f)|0)|0;u=0;Ia=e;return u|0}while(0);u=o>>16;Ia=e;return u|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;f=bu(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=ee(a,3,e,b,0)|0;Ia=d;return f|0}function Jf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2217396}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;Qd(a,e)|0;e=c[k>>2]|0;a=Mc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2217396?(c[a+-4>>2]&15|0)==0:0){m=a+-16|0;n=0}else{g=e;e=a+-16|0;while(1){c[e>>2]=c[g>>2];c[e+4>>2]=c[e+12>>2];a=g+8|0;o=c[k>>2]|0;if(a>>>0<o>>>0){b=g;g=a;e=b}else break}m=o+-8|0;n=1}c[k>>2]=m;l=n;return l|0}function Kf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(Jf(a,i,f)|0)){j=0;Ia=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|32|0)==54)k=2217396;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2217396:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2217396}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Ac(a,47199,h);if((f&65535)>224)yc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Ec(a,i,1)|0))Fc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Ia=g;return j|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=Ia;Ia=Ia+16|0;h=g;a:do if(!(Kf(b,e,49465)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0<l>>>0){m=k;n=10}else{o=l;p=k;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}k=-1001e3-e|0;l=c[i>>2]|0;q=c[l+4>>2]|32;if((q|0)!=54){r=c[l>>2]|0;if((k|0)>(d[r+6>>0]|0)){s=q;t=l;u=k;n=46}else{m=r+16+(k+-1<<3)|0;n=10}}else v=0}while(0);do if((n|0)==10){b:do if((m|0)!=2217396)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){w=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){w=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;r=c[i>>2]|0;if((c[r+4>>2]|32|0)==54)w=2217396;else{l=c[r>>2]|0;w=(k|0)>(d[l+6>>0]|0)?2217396:l+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;w=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);k=b+8|0;l=c[k>>2]|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[k>>2]=(c[k>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){x=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){x=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)x=2217396;else{r=c[l>>2]|0;x=(k|0)>(d[r+6>>0]|0)?2217396:r+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;x=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);switch(c[x+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[x>>2]|0))n=31;else y=65112;break}default:y=65112}if((n|0)==31)y=65117;Qd(b,y)|0;break a;break}case 0:{k=c[b+12>>2]|0;r=k+12|0;l=c[r>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){q=k+8|0;c[q>>2]=l+1600+(c[q>>2]|0);c[r>>2]=-1600;break}else{Oc(b);break}while(0);r=bd(b,65123,3)|0;l=b+8|0;k=c[l>>2]|0;c[k>>2]=r;c[k+4>>2]=(a[r+4>>0]|64)&255;c[l>>2]=(c[l>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=c[b+8>>2]|0;p=(c[i>>2]|0)+(e<<3)|0;n=40;break}if((e|0)>=-1000999){z=(c[b+8>>2]|0)+(e<<3)|0;n=48;break}if((e|0)==-1001e3){z=(c[b+12>>2]|0)+36|0;n=48;break}else{l=c[i>>2]|0;s=c[l+4>>2]|32;t=l;u=-1001e3-e|0;n=46;break}}while(0);if((n|0)==40)if(p>>>0<o>>>0){z=p;n=48}else v=0;else if((n|0)==46)if((s|0)!=54?(i=c[t>>2]|0,(u|0)<=(d[i+6>>0]|0)):0){z=i+16+(u+-1<<3)|0;n=48}else v=0;if((n|0)==48)if((z|0)==2217396)v=0;else v=(c[z+4>>2]&15)+1|0;i=c[16+(v<<2)>>2]|0;j=Md(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Td(b,49476,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;v=e+-8|0;if((c[e+-4>>2]&15|0)==4)A=v;else{if(!(Kd(b,v)|0)){if(!f){B=0;Ia=g;return B|0}c[f>>2]=0;B=0;Ia=g;return B|0}v=c[b+12>>2]|0;e=v+12|0;z=c[e>>2]|0;do if((z|0)>0)if(!(a[v+51>>0]|0)){n=v+8|0;c[n>>2]=z+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{Oc(b);break}while(0);A=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[A>>2]|0)+12>>2];B=(c[A>>2]|0)+16|0;Ia=g;return B|0}function Mf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ia;Ia=Ia+16|0;g=Pa[d&3](e,0,8,432)|0;if(!g){h=0;Ia=f;return h|0}i=g+120|0;c[g>>2]=0;a[g+4>>0]=8;a[g+168>>0]=33;a[g+5>>0]=1;a[g+170>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+124>>2]=e;c[g+264>>2]=g;e=g;d=f;i=(Fa(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2217396>>>24&255)+(i<<5)^i;i=(j>>>2)+(2217396>>>16&255)+(j<<5)^j;j=(i>>>2)+(2217396>>>8&255)+(i<<5)^i;i=(j>>>2)+180+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+164>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+216|0;c[g+228>>2]=j;c[g+232>>2]=j;a[g+171>>0]=0;j=g+140|0;c[g+160>>2]=0;c[g+236>>2]=0;c[g+244>>2]=0;c[g+260>>2]=0;c[g+268>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+169>>0]=5;j=g+128|0;e=g+176|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=432;c[g+132>>2]=0;c[g+248>>2]=200;c[g+252>>2]=200;c[g+256>>2]=200;e=g+396|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(xc(g,5,0)|0)){h=g;Ia=f;return h|0}Of(g);h=0;Ia=f;return h|0}function Nf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Pa[c[h>>2]&3](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))yc(b,4);Kc(b,1);k=Pa[c[h>>2]&3](c[i>>2]|0,0,0,320)|0;if(!k)yc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Pa[c[k>>2]&3](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);i=Pa[c[k>>2]&3](c[l>>2]|0,0,5,32)|0;if(!i)yc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2217420;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2217420;c[h+36>>2]=m;c[h+40>>2]=69;Xc(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2217396)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=Nc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Pa[c[s>>2]&3](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))yc(b,4);Kc(b,1);p=Pa[c[s>>2]&3](c[n>>2]|0,0,5,32)|0;if(!p)yc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2217420;a[t+7>>0]=0;c[t+20>>2]=2217420;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2217396)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=Nc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;fd(b,32);v=0;do{r=c[960+(v<<2)>>2]|0;f=xd(b,r,bu(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=xd(b,g,bu(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=bd(b,50442,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=34892;Ia=e;return}function Of(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Sc(a,c[e>>2]|0);Pf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Pa[c[f>>2]&3](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Pa[c[j>>2]&3](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&3](o,a,432,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Pa[c[k>>2]&3](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Pa[c[i>>2]&3](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&3](o,a,432,0)|0;return}function Pf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=i;n=f;o=h}else{h=k;k=j;while(1){j=h+5|0;a[j>>0]=a[j>>0]|8;c[g>>2]=c[h>>2];c[h>>2]=c[k>>2];c[k>>2]=h;j=c[g>>2]|0;if(!j)break;else{i=h;h=j;k=i}}k=c[e>>2]|0;h=k+92|0;m=c[h>>2]|0;n=k;o=h}if(!m){p=n;q=0}else{n=m;do{m=n+5|0;a[m>>0]=a[m>>0]&-65;m=c[e>>2]|0;h=m+92|0;k=c[h>>2]|0;c[h>>2]=c[k>>2];h=m+56|0;c[k>>2]=c[h>>2];c[h>>2]=k;h=k+5|0;k=a[h>>0]|0;a[h>>0]=k&-17;if((d[m+49>>0]|0)>=2)a[h>>0]=a[m+48>>0]&3|k&-88;n=c[o>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;o=n^3;k=a[p+50>>0]|0;p=k<<24>>24==2;m=n&3;n=p?255:184;h=p?64:m;i=p?64:0;if(!q){r=k;s=m;t=o}else{m=q;q=-3;k=g;while(1){if(!q)break;q=q+-1|0;g=m+5|0;p=d[g>>0]|0;if(!((p^3)&o)){c[k>>2]=c[m>>2];md(b,m);u=k}else{if(i&p|0)break;if((a[m+4>>0]|0)==8)nd(b,m);a[g>>0]=n&p|h;u=m}m=c[u>>2]|0;if(!m)break;else k=u}u=c[e>>2]|0;k=d[u+48>>0]|0;r=a[u+50>>0]|0;s=k&3;t=k^3}k=f+56|0;u=r<<24>>24==2;r=u?255:184;m=u?64:s;s=u?64:0;u=c[k>>2]|0;a:do if(u|0){h=u;n=-3;i=k;while(1){if(!n)break a;n=n+-1|0;o=h+5|0;q=d[o>>0]|0;if(!((q^3)&t)){c[i>>2]=c[h>>2];md(b,h);v=i}else{if(s&q|0)break a;if((a[h+4>>0]|0)==8)nd(b,h);a[o>>0]=r&q|m;v=h}h=c[v>>2]|0;if(!h)break;else i=v}}while(0);v=f+32|0;m=c[v>>2]|0;if((m|0)<=0)return;r=f+24|0;f=m;m=0;while(1){s=(c[r>>2]|0)+(m<<2)|0;t=c[e>>2]|0;k=d[t+48>>0]|0;u=k^3;i=(a[t+50>>0]|0)==2;t=i?255:184;h=i?64:k&3;k=i?64:0;i=c[s>>2]|0;if(!i)w=f;else{n=i;i=-3;q=s;while(1){if(!i)break;i=i+-1|0;s=n+5|0;o=d[s>>0]|0;if(!((o^3)&u)){c[q>>2]=c[n>>2];md(b,n);x=q}else{if(k&o|0)break;if((a[n+4>>0]|0)==8)nd(b,n);a[s>>0]=t&o|h;x=n}n=c[x>>2]|0;if(!n)break;else q=x}w=c[v>>2]|0}m=m+1|0;if((m|0)>=(w|0))break;else f=w}return}function Qf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2217396){Bf(a,1,49420)|0;g=c[e>>2]|0;h=(c[c[b>>2]>>2]|0)+8|0}else{g=f;h=d}d=h>>>0<g>>>0?h:2217396;h=c[d+4>>2]|0;switch(h&15){case 5:{i=(c[d>>2]|0)+8|0;break}case 7:{i=(c[d>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((h&15)<<2)|0}h=c[i>>2]|0;if(!h){c[g+4>>2]=0;c[e>>2]=g+8;return 1}else{c[g>>2]=h;c[g+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;Jf(a,1,49679)|0;return 1}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2217396)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=m;Bf(a,1,Td(a,49400,e)|0)|0}switch(k|0){case 0:case 5:break;default:Bf(a,2,49691)|0}if(Jf(a,1,49679)|0)Cf(a,49713,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;$d(a,1)|0;Ia=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0<k>>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;$d(a,1)|0;Ia=b;return 1}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2217396){Bf(a,1,49420)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2217396){Bf(a,2,49420)|0;a=c[c[b>>2]>>2]|0;j=a;k=c[f>>2]|0;l=a+16|0}else{j=h;k=i;l=g}g=j+8|0;j=g>>>0<k>>>0?g:2217396;g=l>>>0<k>>>0?l:2217396;if((j|0)!=2217396&(g|0)!=2217396?(c[j+4>>2]|0)==(c[g+4>>2]|0):0){l=(Tc(0,j,g)|0)!=0&1;m=c[f>>2]|0;n=l}else{m=k;n=0}c[m>>2]=n;c[m+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2217396)?(c[d+12>>2]&14|1|0)==5:0){h=g;i=e}else{Bf(a,1,49749)|0;h=c[f>>2]|0;i=(c[c[b>>2]>>2]|0)+8|0}b=i>>>0<h>>>0?i:2217396;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=rd(c[b>>2]|0)|0;break}default:j=0}c[h>>2]=j<<16;c[h+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1} 145 + function Fc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;f=Ia;Ia=Ia+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+36|0;p=e+116|0;q=e+12|0;r=e+8|0;s=e+38|0;t=e+24|0;u=e+32|0;v=e+28|0;w=m+4|0;x=c[n>>2]|0;a:while(1){y=c[c[x>>2]>>2]|0;z=y+12|0;A=c[(c[z>>2]|0)+8>>2]|0;B=x+24|0;C=x+28|0;D=x+4|0;E=x+4|0;F=x+4|0;G=x+4|0;H=x+4|0;I=x+4|0;J=x+4|0;K=c[x+24>>2]|0;b:while(1){L=c[C>>2]|0;c[C>>2]=L+4;M=c[L>>2]|0;L=c[554353]|0;N=c[8722]|0;do if((L|c[554354]|0)>(N|0)){if(!((L|0)>(N|0)|(b[o>>1]|0)==0)){c[554354]=0;O=K;break}c[p>>2]=1;P=c[n>>2]|0;Q=P+18|0;R=d[Q>>0]|0;if(!(R&128)){S=7;break a}a[Q>>0]=R&127;O=c[B>>2]|0}else O=K;while(0);c[554353]=L+2;N=M>>>6&255;T=O+(N<<3)|0;c:do switch(M&63){case 44:{S=231;break b;break}case 0:{c[554353]=L+1;R=M>>>23;c[T>>2]=c[O+(R<<3)>>2];c[O+(N<<3)+4>>2]=c[O+(R<<3)+4>>2];U=O;break}case 1:{c[554353]=L+1;R=M>>>14;c[T>>2]=c[A+(R<<3)>>2];c[O+(N<<3)+4>>2]=c[A+(R<<3)+4>>2];U=O;break}case 2:{R=c[C>>2]|0;c[C>>2]=R+4;V=(c[R>>2]|0)>>>6;c[T>>2]=c[A+(V<<3)>>2];c[O+(N<<3)+4>>2]=c[A+(V<<3)+4>>2];U=O;break}case 3:{c[T>>2]=M>>>23;c[O+(N<<3)+4>>2]=1;if(!(M&8372224))U=O;else{c[C>>2]=(c[C>>2]|0)+4;U=O}break}case 4:{V=M>>>23;R=T;while(1){c[R+4>>2]=0;if(!V){U=O;break}else{V=V+-1|0;R=R+8|0}}break}case 5:{R=c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0;c[T>>2]=c[R>>2];c[O+(N<<3)+4>>2]=c[R+4>>2];U=O;break}case 6:{R=M>>>14;Hc(e,c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0,(M&4194304|0)==0?O+((R&511)<<3)|0:A+((R&255)<<3)|0,T);U=c[B>>2]|0;break}case 7:{R=M>>>14;Hc(e,O+(M>>>23<<3)|0,(M&4194304|0)==0?O+((R&511)<<3)|0:A+((R&255)<<3)|0,T);U=c[B>>2]|0;break}case 8:{R=M>>>23;V=M>>>14;Ic(e,c[(c[y+16+(N<<2)>>2]|0)+8>>2]|0,(M|0)<0?A+((R&255)<<3)|0:O+(R<<3)|0,(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0);U=c[B>>2]|0;break}case 9:{V=c[y+16+(M>>>23<<2)>>2]|0;R=c[V+8>>2]|0;c[R>>2]=c[T>>2];W=O+(N<<3)+4|0;c[R+4>>2]=c[W>>2];if(((c[W>>2]&64|0)!=0?(W=c[T>>2]|0,(a[W+5>>0]&3)!=0):0)?(R=V+5|0,V=a[R>>0]|0,(V&4)!=0):0){X=c[q>>2]|0;if((d[X+49>>0]|0)<2){Jc(X,W);U=O;break c}else{a[R>>0]=a[X+48>>0]&3|V&-72;U=O;break c}}else U=O;break}case 10:{V=M>>>23;X=M>>>14;Ic(e,T,(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0,(M&4194304|0)==0?O+((X&511)<<3)|0:A+((X&255)<<3)|0);U=c[B>>2]|0;break}case 11:{X=M>>>23;V=M>>>14;R=V&511;W=c[q>>2]|0;Y=W+4|0;Z=Pa[c[W>>2]&3](c[Y>>2]|0,0,5,32)|0;if(!Z){if(!(a[W+51>>0]|0)){S=31;break a}Kc(e,1);_=Pa[c[W>>2]&3](c[Y>>2]|0,0,5,32)|0;if(!_){S=31;break a}else $=_}else $=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+32;Z=W+56|0;a[$+5>>0]=a[W+48>>0]&3;a[$+4>>0]=5;c[$>>2]=c[Z>>2];c[Z>>2]=$;c[$+8>>2]=0;a[$+6>>0]=-1;Z=$+12|0;c[Z>>2]=0;W=$+28|0;c[W>>2]=0;_=$+16|0;c[_>>2]=2217420;Y=$+7|0;a[Y>>0]=0;aa=$+20|0;c[aa>>2]=2217420;c[T>>2]=$;c[O+(N<<3)+4>>2]=69;if(R|X|0){ba=M>>>26&31;ca=(ba|0)==0?X:(X&7|8)<<ba+-1;ba=M>>>17&31;X=(ba|0)==0?R:(V&7|8)<<ba+-1;ba=c[W>>2]|0;V=a[Y>>0]|0;R=V&255;da=c[_>>2]|0;if((ba|0)<(ca|0)){if((ca+1|0)>>>0>536870911){S=35;break a}ea=c[Z>>2]|0;fa=ba<<3;ba=ca<<3;ga=c[q>>2]|0;ha=(ea|0)==0;ia=ga+4|0;ja=Pa[c[ga>>2]&3](c[ia>>2]|0,ea,fa,ba)|0;if((ba|0)!=0&(ja|0)==0){if(!(a[ga+51>>0]|0)){S=39;break a}Kc(e,1);ka=Pa[c[ga>>2]&3](c[ia>>2]|0,ea,fa,ba)|0;if(!ka){S=39;break a}else la=ka}else la=ja;ja=ga+12|0;c[ja>>2]=(ha?0:0-fa|0)+ba+(c[ja>>2]|0);c[Z>>2]=la;Z=c[W>>2]|0;if((Z|0)<(ca|0)){ja=Z;do{c[la+(ja<<3)+4>>2]=0;ja=ja+1|0}while((ja|0)!=(ca|0))}c[W>>2]=ca}if(!X){c[_>>2]=2217420;ma=2217420;na=0;oa=0}else{ja=X+-1|0;if(ja>>>0>255){Z=0;ba=ja;while(1){fa=Z+8|0;ha=ba>>>8;if(ba>>>0>65535){Z=fa;ba=ha}else{pa=fa;qa=ha;break}}}else{pa=0;qa=ja}ba=pa+(d[400+qa>>0]|0)|0;if((ba|0)>30){S=50;break a}Z=1<<ba;if((Z+1|0)>>>0>214748364){S=52;break a}X=20<<ba;ca=c[q>>2]|0;W=ca+4|0;ha=Pa[c[ca>>2]&3](c[W>>2]|0,0,0,X)|0;if(ba>>>0<30&(ha|0)==0){if(!(a[ca+51>>0]|0)){S=56;break a}Kc(e,1);fa=Pa[c[ca>>2]&3](c[W>>2]|0,0,0,X)|0;if(!fa){S=56;break a}else ra=fa}else ra=ha;ha=ca+12|0;c[ha>>2]=(c[ha>>2]|0)+X;c[_>>2]=ra;X=ra;ha=0;do{c[X+(ha*20|0)+16>>2]=0;c[X+(ha*20|0)+12>>2]=0;c[X+(ha*20|0)+4>>2]=0;ha=ha+1|0;X=c[_>>2]|0}while((ha|0)<(Z|0));ma=X;na=ba&255;oa=Z}a[Y>>0]=na;c[aa>>2]=ma+(oa*20|0);if(V<<24>>24!=31){ha=1<<R;do{_=ha;ha=ha+-1|0;ja=da+(ha*20|0)+4|0;if(c[ja>>2]|0){ca=da+(ha*20|0)+8|0;fa=Mc($,ca)|0;if((fa|0)==2217396)sa=Nc(e,$,ca)|0;else sa=fa;c[sa>>2]=c[da+(ha*20|0)>>2];c[sa+4>>2]=c[ja>>2]}}while((_|0)>1)}if((da|0)!=2217420){ha=20<<R;V=c[q>>2]|0;Pa[c[V>>2]&3](c[V+4>>2]|0,da,ha,0)|0;aa=V+12|0;c[aa>>2]=(c[aa>>2]|0)-((da|0)==0?0:ha)}}ha=c[q>>2]|0;aa=ha+12|0;V=c[aa>>2]|0;if((V|0)>0){c[r>>2]=T+8;if(!(a[ha+51>>0]|0)){Y=ha+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[aa>>2]=-1600}else Oc(e);c[r>>2]=c[I>>2]}U=c[B>>2]|0;break}case 12:{aa=M>>>23;Y=O+(aa<<3)|0;V=T+8|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[O+(aa<<3)+4>>2];aa=M>>>14;Hc(e,Y,(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0,T);U=c[B>>2]|0;break}case 13:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=(c[V>>2]|0)+(c[Y>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,6);U=c[B>>2]|0;break}case 14:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=(c[Y>>2]|0)-(c[aa>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,7);U=c[B>>2]|0;break}case 15:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=rl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,8);U=c[B>>2]|0;break}case 16:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=sl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,9);U=c[B>>2]|0;break}case 17:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=tl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,10);U=c[B>>2]|0;break}case 18:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=ul(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,11);U=c[B>>2]|0;break}case 19:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=c[V>>2]&c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,12);U=c[B>>2]|0;break}case 20:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=c[aa>>2]|c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,13);U=c[B>>2]|0;break}case 21:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=c[V>>2]^c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,14);U=c[B>>2]|0;break}case 22:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=El(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,15);U=c[B>>2]|0;break}case 23:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=Fl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,16);U=c[B>>2]|0;break}case 24:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=Dl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,17);U=c[B>>2]|0;break}case 25:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=Bl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,18);U=c[B>>2]|0;break}case 26:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=Cl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,19);U=c[B>>2]|0;break}case 27:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=~c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,20);U=c[B>>2]|0;break}case 28:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=(sl(c[Y>>2]|0,c[aa>>2]|0)|0)&-65536;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,21);U=c[B>>2]|0;break}case 29:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=hl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,22);U=c[B>>2]|0;break}case 30:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=gl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,23);U=c[B>>2]|0;break}case 31:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=fl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,24);U=c[B>>2]|0;break}case 32:{V=M>>>23;Y=O+(V<<3)|0;c[554353]=L+1;if((c[O+(V<<3)+4>>2]|0)==3){c[T>>2]=0-(c[Y>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}else{Pc(e,T,Y,Y,25);U=c[B>>2]|0;break c}break}case 33:{Y=M>>>23;switch(c[O+(Y<<3)+4>>2]|0){case 0:{ta=1;break}case 1:{ta=(c[O+(Y<<3)>>2]|0)==0;break}default:ta=0}c[T>>2]=ta&1;c[O+(N<<3)+4>>2]=1;U=O;break}case 34:{Qc(e,T,O+(M>>>23<<3)|0);U=c[B>>2]|0;break}case 35:{Y=M>>>23;V=M>>>14&511;c[r>>2]=O+(V<<3)+8;Rc(e,1-Y+V|0);V=c[B>>2]|0;aa=V+(N<<3)|0;ha=V+(Y<<3)|0;c[aa>>2]=c[ha>>2];c[V+(N<<3)+4>>2]=c[V+(Y<<3)+4>>2];V=c[q>>2]|0;Z=V+12|0;ba=c[Z>>2]|0;if((ba|0)>0){c[r>>2]=N>>>0<Y>>>0?ha:aa+8|0;if(!(a[V+51>>0]|0)){aa=V+8|0;c[aa>>2]=ba+1600+(c[aa>>2]|0);c[Z>>2]=-1600}else Oc(e);Z=c[E>>2]|0;c[r>>2]=Z;ua=Z}else ua=c[D>>2]|0;Z=c[B>>2]|0;c[r>>2]=ua;U=Z;break}case 36:{if(N|0)Sc(e,(c[B>>2]|0)+(N<<3)+-8|0);c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=O;break}case 37:{Z=M>>>23;aa=(M|0)<0?A+((Z&255)<<3)|0:O+(Z<<3)|0;Z=M>>>14;ba=(M&4194304|0)==0?O+((Z&511)<<3)|0:A+((Z&255)<<3)|0;if((c[aa+4>>2]|0)==(c[ba+4>>2]|0))va=(Tc(e,aa,ba)|0)!=0;else va=0;ba=c[C>>2]|0;if((N|0)==(va&1|0)){aa=c[ba>>2]|0;Z=aa>>>6&255;if(!Z)wa=ba;else{Sc(e,(c[B>>2]|0)+(Z<<3)+-8|0);wa=c[C>>2]|0}xa=wa+((aa>>>14)+-131070<<2)|0}else xa=ba+4|0;c[C>>2]=xa;U=c[B>>2]|0;break}case 38:{ba=M>>>23;aa=M>>>14;Z=(Uc(e,(M|0)<0?A+((ba&255)<<3)|0:O+(ba<<3)|0,(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0)|0)==(N|0);aa=c[C>>2]|0;if(Z){Z=c[aa>>2]|0;ba=Z>>>6&255;if(!ba)ya=aa;else{Sc(e,(c[B>>2]|0)+(ba<<3)+-8|0);ya=c[C>>2]|0}za=ya+((Z>>>14)+-131070<<2)|0}else za=aa+4|0;c[C>>2]=za;U=c[B>>2]|0;break}case 39:{aa=M>>>23;Z=M>>>14;ba=(Vc(e,(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0,(M&4194304|0)==0?O+((Z&511)<<3)|0:A+((Z&255)<<3)|0)|0)==(N|0);Z=c[C>>2]|0;if(ba){ba=c[Z>>2]|0;aa=ba>>>6&255;if(!aa)Aa=Z;else{Sc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Aa=c[C>>2]|0}Ba=Aa+((ba>>>14)+-131070<<2)|0}else Ba=Z+4|0;c[C>>2]=Ba;U=c[B>>2]|0;break}case 40:{Z=c[O+(N<<3)+4>>2]|0;ba=(Z|0)==0;if(!(M&8372224)){if(!ba)if(!((Z|0)==1?!(c[T>>2]|0):0))S=197}else if(!ba){if((Z|0)==1?(c[T>>2]|0)==0:0)S=197}else S=197;if((S|0)==197){S=0;c[C>>2]=(c[C>>2]|0)+4;U=O;break c}Z=c[C>>2]|0;ba=c[Z>>2]|0;aa=ba>>>6&255;if(!aa)Ca=Z;else{Sc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Ca=c[C>>2]|0}c[C>>2]=Ca+((ba>>>14)+-131070<<2);U=O;break}case 41:{ba=M>>>23;aa=O+(ba<<3)|0;Z=c[O+(ba<<3)+4>>2]|0;ba=(Z|0)==0;if(!(M&8372224))if(!ba)if((Z|0)==1?(c[aa>>2]|0)==0:0)S=209;else S=208;else S=209;else if(!ba)if((Z|0)==1?(c[aa>>2]|0)==0:0)S=208;else S=209;else S=208;if((S|0)==208){S=0;Da=(c[C>>2]|0)+4|0}else if((S|0)==209){S=0;c[T>>2]=c[aa>>2];c[O+(N<<3)+4>>2]=Z;Z=c[C>>2]|0;aa=c[Z>>2]|0;ba=aa>>>6&255;if(!ba)Ea=Z;else{Sc(e,(c[B>>2]|0)+(ba<<3)+-8|0);Ea=c[C>>2]|0}Da=Ea+((aa>>>14)+-131070<<2)|0}c[C>>2]=Da;U=O;break}case 42:{aa=M>>>23;ba=M>>>14&511;if(aa|0)c[r>>2]=T+(aa<<3);if(!(Ec(e,T,ba+-1|0)|0)){S=219;break b}if(ba|0)c[r>>2]=c[G>>2];U=c[B>>2]|0;break}case 43:{ba=M>>>23;if(ba|0)c[r>>2]=T+(ba<<3);if(!(Ec(e,T,-1)|0)){S=224;break b}U=c[B>>2]|0;break}case 45:{ba=T+16|0;aa=c[ba>>2]|0;Z=(c[T>>2]|0)+aa|0;V=c[T+8>>2]|0;if(!((aa|0)<1|(Z|0)>(V|0))){c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);c[T>>2]=Z;c[O+(N<<3)+4>>2]=3;ha=T+24|0;c[ha>>2]=Z;c[ha+4>>2]=3;if((Z|0)<0|(aa|0)<(2147483647-Z|0)){U=O;break c}c[ba>>2]=0;c[ba+4>>2]=3;U=O;break c}if(!((aa|0)>-1|(Z|0)<(V|0))?(c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2),c[T>>2]=Z,c[O+(N<<3)+4>>2]=3,V=T+24|0,c[V>>2]=Z,c[V+4>>2]=3,(Z|0)<0&(aa|0)<(-2147483648-Z|0)):0){c[ba>>2]=0;c[ba+4>>2]=3;U=O}else U=O;break}case 46:{ba=T+8|0;Z=T+16|0;aa=O+(N<<3)+4|0;V=c[aa>>2]|0;if((V|0)!=3){if((V&15|0)!=4){S=255;break a}V=c[T>>2]|0;if(!(Wc(V+16|0,c[V+12>>2]|0,m)|0)){S=255;break a}c[T>>2]=c[m>>2];c[aa>>2]=3}V=ba+4|0;ha=c[V>>2]|0;if((ha|0)!=3){if((ha&15|0)!=4){S=260;break a}ha=c[ba>>2]|0;if(!(Wc(ha+16|0,c[ha+12>>2]|0,m)|0)){S=260;break a}c[ba>>2]=c[m>>2];c[V>>2]=3}V=Z+4|0;ba=c[V>>2]|0;if((ba|0)==3)Fa=Z;else{if((ba&15|0)!=4){S=266;break a}ba=c[Z>>2]|0;if(!(Wc(ba+16|0,c[ba+12>>2]|0,m)|0)){S=266;break a}c[Z>>2]=c[m>>2];c[V>>2]=3;Fa=Z}c[T>>2]=(c[T>>2]|0)-(c[Fa>>2]|0);c[aa>>2]=3;c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=O;break}case 47:{aa=T+24|0;Z=T+16|0;V=aa+16|0;c[V>>2]=c[Z>>2];c[V+4>>2]=c[Z+4>>2];Z=T+8|0;V=aa+8|0;c[V>>2]=c[Z>>2];c[V+4>>2]=c[Z+4>>2];c[aa>>2]=c[T>>2];c[aa+4>>2]=c[O+(N<<3)+4>>2];c[r>>2]=aa+24;Z=M>>>14&511;V=(b[s>>1]|0)+1<<16>>16;b[s>>1]=V;if((V&65535)>199){if(V<<16>>16==200){S=270;break a}if((V&65535)>224){S=272;break a}}if(!(Ec(e,aa,Z)|0))Fc(e);b[s>>1]=(b[s>>1]|0)+-1<<16>>16;Z=c[B>>2]|0;c[r>>2]=c[F>>2];aa=c[C>>2]|0;c[C>>2]=aa+4;V=c[aa>>2]|0;Ga=Z;Ha=V;Ja=Z+((V>>>6&255)<<3)|0;S=276;break}case 48:{Ga=O;Ha=M;Ja=T;S=276;break}case 49:{V=M>>>23;Z=M>>>14&511;if(!V)Ka=((c[r>>2]|0)-T>>3)+-1|0;else Ka=V;if(!Z){V=c[C>>2]|0;c[C>>2]=V+4;La=(c[V>>2]|0)>>>6}else La=Z;Z=c[T>>2]|0;V=Ka+-50+(La*50|0)|0;aa=Z+28|0;if((V|0)>(c[aa>>2]|0)){if((c[Z+16>>2]|0)==2217420)Ma=0;else Ma=1<<d[Z+7>>0];Xc(e,Z,V,Ma)}if((Ka|0)>0){ba=Z+12|0;ha=Z+16|0;Y=Z+7|0;X=Z+5|0;_=Z+24|0;ja=V;V=Ka;while(1){fa=T+(V<<3)|0;ca=ja;ja=ja+-1|0;d:do if(ja>>>0<(c[aa>>2]|0)>>>0){Na=(c[ba>>2]|0)+(ja<<3)|0;S=295}else{W=ca<<16;ga=0-W|0;ka=(c[ha>>2]|0)+(((((W|0)<0?((W|0)==(ga|0)?0:ga):W)|0)%((1<<d[Y>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ka+12>>2]|0)==3?(c[ka+8>>2]|0)==(W|0):0)break;ga=c[ka+16>>2]|0;if(!ga){Oa=W;S=297;break d}else ka=ga}Na=ka;S=295}while(0);if((S|0)==295){S=0;if((Na|0)==2217396){Oa=ca<<16;S=297}else Qa=Na}if((S|0)==297){S=0;c[m>>2]=Oa;c[w>>2]=3;Qa=Nc(e,Z,m)|0}c[Qa>>2]=c[fa>>2];W=fa+4|0;c[Qa+4>>2]=c[W>>2];if((c[W>>2]&64|0?a[(c[fa>>2]|0)+5>>0]&3:0)?(W=a[X>>0]|0,W&4):0){ga=c[q>>2]|0;a[X>>0]=W&-5;W=ga+76|0;c[_>>2]=c[W>>2];c[W>>2]=Z}if((V|0)<=1)break;else V=V+-1|0}}c[r>>2]=c[J>>2];U=O;break}case 50:{V=c[(c[(c[z>>2]|0)+16>>2]|0)+(M>>>14<<2)>>2]|0;Z=V+32|0;_=c[Z>>2]|0;X=c[V+40>>2]|0;Y=c[V+28>>2]|0;e:do if(!_)S=312;else{if((X|0)>0){ha=_+16|0;ja=0;do{ba=d[Y+(ja<<3)+5>>0]|0;if(!(a[Y+(ja<<3)+4>>0]|0))Ra=c[(c[y+16+(ba<<2)>>2]|0)+8>>2]|0;else Ra=O+(ba<<3)|0;if((c[(c[ha+(ja<<2)>>2]|0)+8>>2]|0)!=(Ra|0)){S=312;break e}ja=ja+1|0}while((ja|0)<(X|0))}c[T>>2]=_;c[O+(N<<3)+4>>2]=70}while(0);if((S|0)==312){S=0;_=Yc(e,X)|0;c[_+12>>2]=V;c[T>>2]=_;c[O+(N<<3)+4>>2]=70;if((X|0)>0){ja=_+16|0;ha=0;do{fa=d[Y+(ha<<3)+5>>0]|0;if(!(a[Y+(ha<<3)+4>>0]|0))c[ja+(ha<<2)>>2]=c[y+16+(fa<<2)>>2];else c[ja+(ha<<2)>>2]=Zc(e,O+(fa<<3)|0)|0;ha=ha+1|0}while((ha|0)!=(X|0))}X=V+5|0;ha=a[X>>0]|0;do if(ha&4){if(c[Z>>2]|0){ja=c[q>>2]|0;a[X>>0]=ha&-5;Y=ja+76|0;c[V+72>>2]=c[Y>>2];c[Y>>2]=V;break}if(a[_+5>>0]&3){Y=c[q>>2]|0;if((d[Y+49>>0]|0)<2){Jc(Y,_);break}else{a[X>>0]=a[Y+48>>0]&3|ha&-72;break}}}while(0);c[Z>>2]=_}ha=c[q>>2]|0;X=ha+12|0;V=c[X>>2]|0;if((V|0)>0){c[r>>2]=T+8;if(!(a[ha+51>>0]|0)){Y=ha+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[X>>2]=-1600}else Oc(e);c[r>>2]=c[H>>2]}U=c[B>>2]|0;break}case 51:{X=M>>>23;Y=X+-1|0;V=(O-(c[x>>2]|0)>>3)-(d[(c[z>>2]|0)+76>>0]|0)|0;ha=V+-1|0;if(!X){X=c[r>>2]|0;if(((c[t>>2]|0)-X>>3|0)<(V|0)){ja=c[u>>2]|0;if((ja|0)>1e6){S=336;break a}fa=V+4+(X-(c[v>>2]|0)>>3)|0;X=ja<<1;ja=(X|0)<1e6?X:1e6;X=(ja|0)<(fa|0)?fa:ja;if((X|0)>1e6){S=338;break a}zc(e,X)}X=c[B>>2]|0;ja=X+(N<<3)|0;c[r>>2]=ja+(ha<<3);Sa=ha;Ta=X;Ua=ja}else{Sa=Y;Ta=O;Ua=T}if((Sa|0)>0){Y=Ta+(1-V<<3)|0;V=0;do{if((V|0)<(ha|0)){ja=Y+(V<<3)|0;c[Ua+(V<<3)>>2]=c[ja>>2];Va=c[ja+4>>2]|0}else Va=0;c[Ua+(V<<3)+4>>2]=Va;V=V+1|0}while((V|0)!=(Sa|0));U=Ta}else U=Ta;break}default:U=O}while(0);if((S|0)==276){S=0;N=c[Ja+12>>2]|0;if(!N)U=Ga;else{c[Ja>>2]=c[Ja+8>>2];c[Ja+4>>2]=N;c[C>>2]=(c[C>>2]|0)+((Ha>>>14)+-131071<<2);U=Ga}}K=U}if((S|0)==219){S=0;K=c[n>>2]|0;C=K+18|0;a[C>>0]=a[C>>0]|4;Wa=K}else if((S|0)==224){S=0;K=c[n>>2]|0;C=c[K+8>>2]|0;B=c[K>>2]|0;H=c[C>>2]|0;y=K+24|0;J=(c[y>>2]|0)+(d[(c[(c[B>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[z>>2]|0)+56>>2]|0)>0)Sc(e,c[C+24>>2]|0);if(B>>>0<J>>>0){F=B;G=0;do{c[H+(G<<3)>>2]=c[F>>2];c[H+(G<<3)+4>>2]=c[B+(G<<3)+4>>2];G=G+1|0;F=B+(G<<3)|0}while(F>>>0<J>>>0)}J=B;c[C+24>>2]=H+((c[y>>2]|0)-J>>3<<3);F=H+((c[r>>2]|0)-J>>3<<3)|0;c[r>>2]=F;c[C+4>>2]=F;c[C+28>>2]=c[K+28>>2];F=C+18|0;a[F>>0]=a[F>>0]|64;c[n>>2]=C;Wa=C}else if((S|0)==231){S=0;F=M>>>23;if(F|0)c[r>>2]=T+(F<<3)+-8;if((c[(c[z>>2]|0)+56>>2]|0)>0)Sc(e,O);F=c[n>>2]|0;J=c[F>>2]|0;G=b[F+16>>1]|0;c[n>>2]=c[F+8>>2];f:do if(G<<16>>16){F=T;A=G<<16>>16;D=J;while(1){if(F>>>0>=(c[r>>2]|0)>>>0)break;E=D+8|0;c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2];I=A+-1|0;if(!I){Xa=E;break f}else{F=F+8|0;A=I;D=E}}if((A|0)>0){F=A;E=D;while(1){I=E+8|0;c[E+4>>2]=0;if((F|0)>1){F=F+-1|0;E=I}else{Xa=I;break}}}else Xa=D}else Xa=J;while(0);c[r>>2]=Xa;if(!(a[x+18>>0]&4)){S=347;break}J=c[n>>2]|0;if(G<<16>>16==-1)Wa=J;else{c[r>>2]=c[J+4>>2];Wa=J}}x=Wa}switch(S|0){case 7:{Gc(e,0,0,0)|0;S=P+28|0;c[e+20>>2]=c[S>>2];c[S>>2]=(c[S>>2]|0)+-4;a[Q>>0]=a[Q>>0]|-128;c[P>>2]=(c[r>>2]|0)+-8;yc(e,1);break}case 31:{yc(e,4);break}case 35:{Lc(e);break}case 39:{yc(e,4);break}case 50:{Ac(e,47216,l);break}case 52:{Lc(e);break}case 56:{yc(e,4);break}case 255:{Ac(e,47231,k);break}case 260:{Ac(e,47268,j);break}case 266:{Ac(e,47297,i);break}case 270:{Ac(e,47199,h);break}case 272:{yc(e,6);break}case 336:{yc(e,6);break}case 338:{zc(e,1000200);Ac(e,47184,g);break}case 347:{Ia=f;return}}}function Gc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Ia;Ia=Ia+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Ac(d,47790,i);else Ac(d,47748,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Ia=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;yc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;yc(d,1);return 0}function Hc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=i+12|0;m=e+12|0;n=c[f+4>>2]|0;o=0;p=f;while(1){if((n|0)==69){f=c[p>>2]|0;q=Mc(f,g)|0;if(c[q+4>>2]|0)break;r=c[f+8>>2]|0;if(!r)break;s=a[r+6>>0]|0;if(s&1)break;f=c[(c[m>>2]|0)+156>>2]|0;t=(c[r+16>>2]|0)+(((1<<d[r+7>>0])+-1&c[f+8>>2])*20|0)|0;while(1){if((c[t+12>>2]|0)==68?(c[t+8>>2]|0)==(f|0):0){u=10;break}v=c[t+16>>2]|0;if(!v){w=2217396;break}else t=v}if((u|0)==10){u=0;w=t}f=w+4|0;v=c[f>>2]|0;if(!v){u=13;break}if(!w)break;else{x=v;y=w;z=f}}else{f=n&15;if((f|0)==4){u=17;break}switch(n&15){case 5:{A=(c[p>>2]|0)+8|0;break}case 7:{A=(c[p>>2]|0)+8|0;break}default:A=(c[m>>2]|0)+276+(f<<2)|0}f=c[A>>2]|0;a:do if(!f)B=2217396;else{v=c[(c[m>>2]|0)+156>>2]|0;C=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[v+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(v|0):0)break;D=c[C+16>>2]|0;if(!D){B=2217396;break a}else C=D}B=C}while(0);f=B+4|0;t=c[f>>2]|0;if(!t){u=40;break}else{x=t;y=B;z=f}}o=o+1|0;if((x&15|0)==6){u=42;break}if(o>>>0>=100){u=54;break}else{n=x;p=y}}if((u|0)==13)a[r+6>>0]=s|1;else if((u|0)==17){s=c[p>>2]|0;r=s+16|0;x=c[s+12>>2]|0;s=c[g+4>>2]|0;do if((s|0)!=3){if((s&15|0)==4?(n=c[g>>2]|0,Wc(n+16|0,c[n+12>>2]|0,l)|0):0){E=l;u=22;break}}else{E=g;u=22}while(0);if((u|0)==22?(l=c[E>>2]|0,E=((l|0)<0?x+1|0:0)+(l>>16)|0,l=E+-1|0,(E|0)>0&l>>>0<x>>>0):0){x=c[m>>2]|0;m=x+12|0;E=c[m>>2]|0;do if((E|0)>0)if(!(a[x+51>>0]|0)){s=x+8|0;c[s>>2]=E+1600+(c[s>>2]|0);c[m>>2]=-1600;break}else{Oc(e);break}while(0);m=bd(e,r+l|0,1)|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;Ia=i;return}c[h>>2]=0;c[h+4>>2]=0;Ia=i;return}else if((u|0)==40)dd(e,p,47440);else if((u|0)==42){m=e+28|0;l=h-(c[m>>2]|0)|0;r=e+8|0;E=c[r>>2]|0;c[r>>2]=E+8;c[E>>2]=c[y>>2];c[E+4>>2]=c[z>>2];z=c[r>>2]|0;c[r>>2]=z+8;c[z>>2]=c[p>>2];c[z+4>>2]=c[p+4>>2];p=c[r>>2]|0;c[r>>2]=p+8;c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];g=(c[r>>2]|0)+-24|0;p=a[(c[e+16>>2]|0)+18>>0]&1;z=e+38|0;E=(b[z>>1]|0)+1<<16>>16;b[z>>1]=E;if((E&65535)>199){if(E<<16>>16==200)Ac(e,47199,k);if((E&65535)>224)yc(e,6)}E=p<<24>>24!=0;if(!E){p=e+36|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}if(!(Ec(e,g,1)|0))Fc(e);if(!E){E=e+36|0;b[E>>1]=(b[E>>1]|0)+-1<<16>>16}b[z>>1]=(b[z>>1]|0)+-1<<16>>16;z=(c[m>>2]|0)+l|0;l=c[r>>2]|0;m=l+-8|0;c[r>>2]=m;c[z>>2]=c[m>>2];c[z+4>>2]=c[l+-4>>2];Ia=i;return}else if((u|0)==54)Ac(e,47731,j);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];Ia=i;return}function Ic(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=e+12|0;m=c[f+4>>2]|0;n=0;o=f;while(1){if((m|0)==69){p=c[o>>2]|0;q=Mc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2217396;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=v;y=w;z=f}}else{switch(m&15){case 5:{A=(c[o>>2]|0)+8|0;break}case 7:{A=(c[o>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((m&15)<<2)|0}f=c[A>>2]|0;a:do if(!f)B=2217396;else{v=c[(c[l>>2]|0)+160>>2]|0;C=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&c[v+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(v|0):0)break;D=c[C+16>>2]|0;if(!D){B=2217396;break a}else C=D}B=C}while(0);f=B+4|0;u=c[f>>2]|0;if(!u){r=33;break}else{x=u;y=B;z=f}}n=n+1|0;if((x&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=y}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)dd(e,o,47440);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[y>>2];c[s+4>>2]=c[z>>2];z=c[t>>2]|0;c[t>>2]=z+8;c[z>>2]=c[o>>2];c[z+4>>2]=c[o+4>>2];o=c[t>>2]|0;c[t>>2]=o+8;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];o=c[t>>2]|0;c[t>>2]=o+8;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];o=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;z=e+38|0;s=(b[z>>1]|0)+1<<16>>16;b[z>>1]=s;if((s&65535)>199){if(s<<16>>16==200)Ac(e,47199,k);if((s&65535)>224)yc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(Ec(e,o,0)|0))Fc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[z>>1]=(b[z>>1]|0)+-1<<16>>16;Ia=i;return}else if((r|0)==47)Ac(e,47714,j);if((r|0)==15)if((q|0)==2217396){E=Nc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Ia=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ia=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ia=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Ia=i;return}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)Jc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)Jc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){Jc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function Kc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=k;q=n?255:184;r=n?64:e&3;s=n?64:0;t=e;while(1){u=t^3;v=m;w=1;x=l;while(1){if(!w)break;w=w+-1|0;y=v+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[x>>2]=c[v>>2];md(b,v);A=x}else{if(s&z|0){p=0;break a}if((a[v+4>>0]|0)==8)nd(b,v);a[y>>0]=q&z|r;A=v}v=c[A>>2]|0;if(!v){p=0;break a}else x=A}if((x|0)!=(l|0)){p=x;break a}v=c[f>>2]|0;u=d[v+48>>0]|0;w=(a[v+50>>0]|0)==2;m=c[l>>2]|0;if(!m){p=0;break}else{q=w?255:184;r=w?64:u&3;s=w?64:0;t=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;e=A^3;n=(a[l+50>>0]|0)==2;l=n?255:184;k=n?64:A&3;A=n?64:0;n=c[p>>2]|0;if(!n){C=0;break}t=n;n=1;s=p;while(1){if(!n)break;n=n+-1|0;r=t+5|0;q=d[r>>0]|0;if(!((q^3)&e)){c[s>>2]=c[t>>2];md(b,t);D=s}else{if(A&q|0){C=0;break b}if((a[t+4>>0]|0)==8)nd(b,t);a[r>>0]=l&q|k;D=t}t=c[D>>2]|0;if(!t){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=5;F=C}else{do gd(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=a[C>>0]|0;F=C}if(!(1<<(E&255)&-33)){do gd(b)|0;while(!(1<<d[F>>0]&-33|0));C=(c[f>>2]|0)+49|0;G=a[C>>0]|0;H=C}else{G=E;H=F}if(G<<24>>24!=5)do gd(b)|0;while((a[H>>0]|0)!=5);if(i<<24>>24==2?(H=(c[f>>2]|0)+49|0,a[H>>0]|0):0)do gd(b)|0;while((a[H>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;H=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(H|0)/100|0;G=c[g+128>>2]|0;g=B(b,0-G|0)|0;F=(G|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+H;if(j)return;j=(c[f>>2]|0)+92|0;H=c[j>>2]|0;if(!H)return;F=H;do{H=F+5|0;a[H>>0]=a[H>>0]&-65;H=c[f>>2]|0;h=H+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=H+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[H+49>>0]|0)>=2)a[h>>0]=a[H+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function Lc(a){a=a|0;var b=0;b=Ia;Ia=Ia+16|0;Ac(a,47675,b)}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2217396;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2217396;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2217396;return j|0}default:{}}g=vd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Tc(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2217396;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Ia;Ia=Ia+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))Ac(b,47656,g+128|0);j=vd(e,f)|0;k=j+4|0;a:do if((j|0)==2217420|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=vd(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=0;q=1;t=0;u=1;while(1){if((u|0)>(m|0))if((q|0)>(m|0)){v=o;break}else w=m;else w=u;if((q|0)>(w|0)){x=q;y=0}else{z=c[l>>2]|0;A=q;B=0;while(1){C=B+((c[z+(A+-1<<3)+4>>2]|0)!=0&1)|0;D=A+1|0;if((A|0)<(w|0)){A=D;B=C}else{x=D;y=C;break}}}B=h+(t<<2)|0;c[B>>2]=(c[B>>2]|0)+y;B=y+o|0;t=t+1|0;if(t>>>0>=31){v=B;break}else{o=B;q=x;u=u<<1}}u=0;q=1<<(d[e+7>>0]|0);o=0;while(1){q=q+-1|0;if(!(c[n+(q*20|0)+4>>2]|0)){E=u;F=o}else{if(((c[n+(q*20|0)+12>>2]|0)==3?(t=c[n+(q*20|0)+8>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(l=(t>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){t=0;m=l;while(1){B=t+8|0;A=m>>>8;if(m>>>0>65535){t=B;m=A}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=I+u|0;F=o+1|0}if(!q)break;else{u=E;o=F}}o=E+v|0;if(((c[i>>2]|0)==3?(u=c[f>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(q=(u>>>16)+-1|0,q>>>0<32767):0){if(q>>>0>255){u=0;n=q;while(1){m=u+8|0;t=n>>>8;if(n>>>0>65535){u=m;n=t}else{J=m;K=t;break}}}else{J=0;K=q}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=o+L|0;c:do if((n|0)>0){u=0;t=0;m=0;A=0;B=0;z=1;while(1){r=c[h+(m<<2)>>2]|0;C=(r|0)>0;D=r+u|0;u=C?D:u;r=C&(D|0)>(t|0);C=r?D:B;D=r?z:A;if((u|0)==(n|0)){M=D;N=C;break c}t=z&2147483647;if((t|0)>=(n|0)){M=D;N=C;break}else{m=m+1|0;A=D;B=C;z=z<<1}}}else{M=0;N=0}while(0);Xc(b,e,M,v+1+F-N|0);n=Mc(e,f)|0;if((n|0)!=2217396){O=n;Ia=g;return O|0}O=Nc(b,e,f)|0;Ia=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Ia=g;return O|0}function Oc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){Kc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=f+49|0;m=j;n=k;o=k;p=i}else{i=f+49|0;if((a[i>>0]|0)!=5)do gd(b)|0;while((a[i>>0]|0)!=5);a[i>>0]=0;k=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[k>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=i;m=j;n=q;o=r?0:h;p=k}c[g>>2]=o;k=(n|0)/100|0;r=c[f+128>>2]|0;q=B(k,0-r|0)|0;j=(r|0)<(2147483644/(k|0)|0|0)?q:-2147483644;c[p>>2]=0-j;c[m>>2]=j+n;s=l}else{j=f+12|0;q=c[f+136>>2]|0;k=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;r=B(k,q)|0;t=f+49|0;u=(q|0)<(2147483644/(k>>>0)|0|0)?r:2147483644;do{u=u-(gd(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(k|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;i=f+8|0;r=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?r:-2147483644;r=(c[j>>2]|0)+(c[i>>2]|0)+q|0;c[i>>2]=0-q;c[j>>2]=r;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;l=b+92|0;n=c[l>>2]|0;c[l>>2]=c[n>>2];l=b+56|0;c[n>>2]=c[l>>2];c[l>>2]=n;l=n+5|0;n=a[l>>0]|0;a[l>>0]=n&-17;if((d[b+49>>0]|0)>=2)a[l>>0]=a[b+48>>0]&3|n&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function Pc(a,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=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Wc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Wc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=sd(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Ia=g;return}while(0);if(!(_c(a,d,e,b,f)|0))td(a,d,e);else{Ia=g;return}}function Qc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Ia;Ia=Ia+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2217396;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(rd(l)|0)<<16;c[f+4>>2]=3;Ia=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ia=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2217396;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2217396;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))dd(e,g,47620);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)Ac(e,47199,i);if((w&65535)>224)yc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(Ec(e,j,1)|0))Fc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Ia=h;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=c[h>>2]|0;k=d;a:while(1){l=j+-16|0;d=j+-12|0;m=c[d>>2]|0;n=j+-8|0;do if((m|0)==3|(m&15|0)==4){o=j+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=m;t=q;u=p}else{if((p|0)!=3){v=16;break}p=ad(g,c[n>>2]|0)|0;if(p>>>0<41)w=bd(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Pa[c[q>>2]&3](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}Kc(b,1);B=Pa[c[q>>2]&3](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Vv(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=c[d>>2]|0;t=w;u=p}p=c[r+12>>2]|0;o=(s&15|0)==4;if(!p){if(!((s|0)==3&(o^1))){D=2;break}x=ad(g,c[l>>2]|0)|0;if(x>>>0<41)E=bd(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Pa[c[y>>2]&3](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}Kc(b,1);F=Pa[c[y>>2]&3](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Vv(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[l>>2]=E;c[d>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[l>>2]|0)+12>>2]|0)==0:0){c[l>>2]=t;c[d>>2]=u;D=2;break}b:do if((k|0)>1){o=1;x=p;while(1){q=j+(0-o<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=ad(g,c[q>>2]|0)|0;if(y>>>0<41)K=bd(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Pa[c[z>>2]&3](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}Kc(b,1);N=Pa[c[z>>2]&3](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Vv(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-x|0)>>>0){v=49;break a}q=A+x|0;A=o+1|0;if((A|0)<(k|0)){o=A;x=q}else{I=A;J=q;break}}}else{I=1;J=p}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;q=c[o>>2]|0;if(q>>>0<J>>>0){A=J>>>0>32?J:32;if((A+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Pa[c[p>>2]&3](c[B>>2]|0,y,q,A)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}Kc(b,1);M=Pa[c[p>>2]&3](c[B>>2]|0,y,q,A)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-q|0)+A+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=A;Q=P}else Q=c[x>>2]|0;x=I;A=0;while(1){o=c[j+(0-x<<3)>>2]|0;z=c[o+12>>2]|0;Vv(Q+A|0,o+16|0,z|0)|0;c[554353]=(c[554353]|0)+(z>>>5);A=z+A|0;if((x|0)<=1)break;else x=x+-1|0}x=0-I|0;z=j+(x<<3)|0;if(A>>>0<41)R=bd(b,Q,A)|0;else{if((A+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;q=c[o+44>>2]|0;F=A+17|0;p=o+4|0;M=Pa[c[o>>2]&3](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}Kc(b,1);y=Pa[c[o>>2]&3](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=A;c[S+8>>2]=q;a[S+6>>0]=0;q=S+16|0;Vv(q|0,Q|0,A|0)|0;a[q+A>>0]=0;R=S}c[z>>2]=R;c[j+(x<<3)+4>>2]=(a[R+4>>0]|64)&255;D=I}else v=16;while(0);if((v|0)==16){v=0;if(!(_c(b,l,n,l,28)|0)){v=17;break}else D=2}k=k+1-D|0;j=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=j;if((k|0)<=1){v=73;break}}switch(v|0){case 9:{Lc(b);break}case 13:{yc(b,4);break}case 17:{cd(b,l,n);break}case 23:{Lc(b);break}case 27:{yc(b,4);break}case 41:{Lc(b);break}case 45:{yc(b,4);break}case 49:{Ac(b,47397,f);break}case 54:{Lc(b);break}case 58:{yc(b,4);break}case 65:{Lc(b);break}case 69:{yc(b,4);break}case 73:{Ia=e;return}}}function Sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0<e>>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)Jc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Pa[c[s>>2]&3](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function Tc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Ia;Ia=Ia+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 54:case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(tt(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2217396;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2217396;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Tc(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2217396;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2217396;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Tc(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)Ac(e,47199,i);if((p&65535)>224)yc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(Ec(e,E,1)|0))Fc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Ia=h;return k&1|0}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=xv(h,i)|0;a:do if(!j){k=h;l=c[e+12>>2]|0;m=c[g+12>>2]|0;n=i;while(1){o=bu(k)|0;if((o|0)==(m|0)){p=0;break a}q=o+1|0;if((o|0)==(l|0)){p=-1;break a}n=n+q|0;k=k+q|0;o=xv(k,n)|0;if(o|0){p=o;break}else{l=l-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(_c(a,b,d,c[p>>2]|0,26)|0))$c(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3)if((c[d+4>>2]|0)==3)f=(c[b>>2]|0)<=(c[d>>2]|0);else g=13;else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=xv(i,j)|0;a:do if(!k){l=i;m=c[e+12>>2]|0;n=c[h+12>>2]|0;o=j;while(1){p=bu(l)|0;q=(p|0)==(m|0);if((p|0)==(n|0))break;r=p+1|0;if(q){s=-1;break a}o=o+r|0;l=l+r|0;p=xv(l,o)|0;if(p|0){s=p;break a}else{m=m-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1}else g=13;b:do if((g|0)==13){s=a+8|0;k=(_c(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 0:{f=0;break b;break}case 1:{f=(c[q>>2]|0)!=0;break b;break}default:{f=1;break b}}if(!(_c(a,d,b,q,26)|0))$c(a,b,d);q=c[s>>2]|0;switch(c[q+4>>2]|0){case 0:{f=1;break b;break}case 1:{f=(c[q>>2]|0)==0;break b;break}default:{f=0;break b}}}while(0);return f&1|0}function Wc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;g=Ia;Ia=Ia+16|0;h=g;if(lv(b,47325)|0){i=0;Ia=g;return i|0}do if(!(lv(b,47328)|0)){if(!(lv(b,47331)|0)){j=~~(+Au(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=b;q=0;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=s;u=0;v=r;w=0;do{w=w<<1|t<<24>>24==49;u=u+1|0;v=v+1|0;t=a[v>>0]|0}while((t&-2)<<24>>24==48);x=t;y=u;z=w<<16;A=v}else{x=s;y=0;z=0;A=r}B=A;if(x<<24>>24==46){C=A+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=E;E=C;C=0;do{C=F>>>0<16?C<<1|G<<24>>24==49:C;F=F+1|0;E=E+1|0;G=a[E>>0]|0}while((G&-2)<<24>>24==48);H=F;I=C;J=E}else{H=0;I=0;J=D}G=J-D|0;K=H;L=I<<((G+-1|0)>>>0<15?16-G|0:0);M=J}else{K=0;L=0;M=B}if(K|y){c[h>>2]=M;G=M;switch(a[G>>0]|0){case 80:case 112:{p=G;q=0;break a;break}default:{}}c[h>>2]=G;r=L+z|0;if(!n){p=G;q=~~+kt(+(r|0),0);break}else{p=G;q=~~+kt(+(0-r|0),0);break}}else{p=b;q=0}}else{p=b;q=0}while(0);c[f>>2]=q;k=p}else{c[h>>2]=b;j=b;while(1){N=a[j>>0]|0;O=j+1|0;if(!(a[64+((N&255)+1)>>0]&8))break;else j=O}switch(N<<24>>24){case 45:{P=1;Q=O;break}case 43:{P=0;Q=O;break}default:{P=0;Q=j}}b:do if((a[Q>>0]|0)==48){switch(a[Q+1>>0]|0){case 88:case 120:break;default:{R=b;S=0;break b}}r=Q+2|0;G=a[r>>0]|0;s=G&255;if(!(a[64+(s+1)>>0]&16)){T=G;U=0;V=0;W=r}else{G=0;v=r;r=s;s=0;do{w=r+-48|0;s=(w>>>0<10?w:(r|32)+-87|0)+(s<<4)|0;G=G+1|0;v=v+1|0;X=a[v>>0]|0;r=X&255}while((a[64+(r+1)>>0]&16)!=0);T=X;U=G;V=s<<16;W=v}r=W;if(T<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Y=0;Z=0;_=D}else{C=0;F=B;B=E;E=0;do{w=B+-48|0;E=C>>>0<4?(w>>>0<10?w:(B|32)+-87|0)+(E<<4)|0:E;C=C+1|0;F=F+1|0;B=d[F>>0]|0}while((a[64+(B+1)>>0]&16)!=0);Y=C;Z=E;_=F}B=_-D|0;$=Y;aa=Z<<((B+-1|0)>>>0<3?16-(B<<2)|0:0);ba=_}else{$=0;aa=0;ba=r}if($|U){c[h>>2]=ba;B=ba;switch(a[B>>0]|0){case 80:case 112:{R=B;S=0;break b;break}default:{}}c[h>>2]=B;v=aa+V|0;if(!P){R=B;S=~~+kt(+(v|0),0);break}else{R=B;S=~~+kt(+(0-v|0),0);break}}else{R=b;S=0}}else{R=b;S=0}while(0);c[f>>2]=S;k=R}while(0);if((k|0)==(b|0)){i=0;Ia=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))ca=k;else{R=k;do R=R+1|0;while((a[64+((d[R>>0]|0)+1)>>0]&8)!=0);c[h>>2]=R;ca=R}i=(ca|0)==(b+e|0)&1;Ia=g;return i|0}function Xc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Ia;Ia=Ia+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)Lc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Pa[c[t>>2]&3](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))yc(b,4);Kc(b,1);x=Pa[c[t>>2]&3](c[v>>2]|0,r,s,k)|0;if(!x)yc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2217420;z=2217420;A=0;B=0}else{f=g+-1|0;if(f>>>0>255){g=0;j=f;while(1){w=g+8|0;y=j>>>8;if(j>>>0>65535){g=w;j=y}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)Ac(b,47216,i);i=1<<f;if((i+1|0)>>>0>214748364)Lc(b);D=20<<f;C=c[b+12>>2]|0;j=C+4|0;g=Pa[c[C>>2]&3](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))yc(b,4);Kc(b,1);y=Pa[c[C>>2]&3](c[j>>2]|0,0,0,D)|0;if(!y)yc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=E;E=0;do{c[D+(E*20|0)+16>>2]=0;c[D+(E*20|0)+12>>2]=0;c[D+(E*20|0)+4>>2]=0;E=E+1|0;D=c[o>>2]|0}while((E|0)<(i|0));z=D;A=f&255;B=i}a[l>>0]=A;c[e+20>>2]=z+(B*20|0);if(m<<24>>24!=31){m=1<<n;do{B=m;m=m+-1|0;z=p+(m*20|0)+4|0;if(c[z>>2]|0){A=p+(m*20|0)+8|0;l=Mc(e,A)|0;if((l|0)==2217396)F=Nc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[z>>2]}}while((B|0)>1)}if((p|0)==2217420){Ia=h;return}F=20<<n;n=c[b+12>>2]|0;Pa[c[n>>2]&3](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Ia=h;return}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Pa[c[g>>2]&3](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);j=Pa[c[g>>2]&3](c[h>>2]|0,0,6,f)|0;if(!j)yc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Wv(k+16|0,0,e|0)|0;return k|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=g;j=f;while(1){k=c[i+8>>2]|0;if(k>>>0<d>>>0){h=j;break a}if((k|0)==(d|0))break;k=c[i>>2]|0;if(!k){l=8;break}else{m=i;i=k;j=m}}if((l|0)==8){h=i;break}j=i+5|0;m=a[j>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=i;return n|0}a[j>>0]=m;n=i;return n|0}while(0);l=e+4|0;f=Pa[c[e>>2]&3](c[l>>2]|0,0,10,20)|0;if(!f){if(!(a[e+51>>0]|0))yc(b,4);Kc(b,1);g=Pa[c[e>>2]&3](c[l>>2]|0,0,10,20)|0;if(!g)yc(b,4);else o=g}else o=f;f=e+12|0;c[f>>2]=(c[f>>2]|0)+20;f=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[f>>2];c[f>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function _c(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Ia;Ia=Ia+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2217396;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2217396;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2217396;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2217396;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ia=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Ac(e,47199,k);if((f&65535)>224)yc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(Ec(e,g,1)|0))Fc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Ia=j;return t|0}function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;Ac(a,47334,g)}else{c[f>>2]=e;c[f+4>>2]=b;Ac(a,47367,f)}}function ad(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ia;Ia=Ia+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;wt(i,47590,h)|0;if((bv(i,47596)|0)==0?(bv(i,47602)|0)==0:0){g[e>>3]=j;wt(i,47614,e)|0}else{g[f>>3]=j;wt(i,47608,f)|0}f=bu(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=n;q=m;r=o;break}else f=m}}else{p=c;q=h;r=k}if(!(r&p<<24>>24==46)){s=bu(i)|0;t=s+1|0;Vv(b|0,i|0,t|0)|0;Ia=d;return s|0}a[q>>0]=0;s=bu(i)|0;t=s+1|0;Vv(b|0,i|0,t|0)|0;Ia=d;return s|0}function bd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0<f>>>0){k=~j;l=i;m=f;while(1){n=(l<<5)+(l>>>2)+(d[e+(m+-1)>>0]|0)^l;m=m+k|0;if(m>>>0<=j>>>0){o=n;break}else l=n}}else o=i;i=h+24|0;l=h+32|0;j=c[l>>2]|0;m=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[m>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(tt(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){fd(b,j<<1);s=c[g>>2]|0;t=(c[i>>2]|0)+(((c[l>>2]|0)+-1&o)<<2)|0}else{s=h;t=m}m=f+17|0;h=s+4|0;l=Pa[c[s>>2]&3](c[h>>2]|0,0,4,m)|0;if((m|0)!=0&(l|0)==0){if(!(a[s+51>>0]|0))yc(b,4);Kc(b,1);i=Pa[c[s>>2]&3](c[h>>2]|0,0,4,m)|0;if(!i)yc(b,4);else u=i}else u=l;l=s+12|0;c[l>>2]=(c[l>>2]|0)+m;m=(t|0)==0?s+56|0:t;a[u+5>>0]=a[s+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[m>>2];c[m>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Vv(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;dd(a,(e|0)==3|(e&15|0)==4?d:b,47420)}function dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+48|0;g=f+24|0;h=f+8|0;i=f;j=f+32|0;f=c[b+16>>2]|0;c[j>>2]=0;k=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if(!(a[f+18>>0]&1)){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}m=c[c[f>>2]>>2]|0;n=a[m+6>>0]|0;a:do if(!(n<<24>>24))o=7;else{p=n&255;q=0;while(1){if((c[(c[m+16+(q<<2)>>2]|0)+8>>2]|0)==(d|0))break;r=q+1|0;if(r>>>0<p>>>0)q=r;else{o=7;break a}}p=c[(c[(c[m+12>>2]|0)+28>>2]|0)+(q<<3)>>2]|0;c[j>>2]=(p|0)==0?80062:p+16|0;s=47432}while(0);if((o|0)==7){n=c[f+24>>2]|0;p=c[f+4>>2]|0;r=n;if(n>>>0>=p>>>0){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}t=n;while(1){if((t|0)==(d|0))break;t=t+8|0;if(t>>>0>=p>>>0){o=16;break}}if((o|0)==16){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}o=c[m+12>>2]|0;m=ed(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-r>>3,j)|0;if(!m){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}else s=m}if(au(e,47440)|0){u=c[j>>2]|0;c[h>>2]=e;v=h+4|0;c[v>>2]=s;w=h+8|0;c[w>>2]=u;x=h+12|0;c[x>>2]=k;Ac(b,47496,h)}if(!(au(k,62511)|0)){m=c[j>>2]|0;c[i>>2]=s;c[i+4>>2]=m;Ac(b,47446,i)}else{u=c[j>>2]|0;c[h>>2]=e;v=h+4|0;c[v>>2]=s;w=h+8|0;c[w>>2]=u;x=h+12|0;c[x>>2]=k;Ac(b,47496,h)}}function ed(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;m=0;e=d+1|0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){m=n;e=p}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=0;n=0;s=-1;while(1){t=c[r+(n<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=e;w=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?s:(n|0)<(e|0)?-1:n;break}case 47:{v=e;w=(u+2|0)>(d|0)?s:(n|0)<(e|0)?-1:n;break}case 43:case 42:{v=e;w=(u|0)>(d|0)?s:(n|0)<(e|0)?-1:n;break}case 36:{x=n+-131070+(t>>>14)|0;v=(x|0)>(e|0)&((x|0)<=(k|0)&(n|0)<(x|0))?x:e;w=s;break}case 40:{v=e;w=(u|0)==(d|0)?((n|0)<(e|0)?-1:n):s;break}default:{v=e;w=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((n|0)<(e|0)?-1:n):s}}n=n+1|0;if((n|0)==(k|0))break;else{e=v;s=w}}if((w|0)==-1){q=0;o=51;break}y=c[r+(w<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=w}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=92620;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;v=0;h=k+1|0;while(1){if((c[d+(v*12|0)+4>>2]|0)>(w|0)){z=0;break c}if((c[d+(v*12|0)+8>>2]|0)>(w|0)){p=h+-1|0;if(!p)break;else A=p}else A=h;p=v+1|0;if((p|0)<(i|0)){v=p;h=A}else{z=0;break c}}z=(c[d+(v*12|0)>>2]|0)+16|0}else z=0;else{h=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(h|0)==0?80062:h+16|0}while(0);if(!(y&4194304)){k=ed(b,w,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=80062;if(!z){q=47568;return q|0}l=(au(z,47556)|0)==0;q=l?47561:47568;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?80062:l+16|0;q=47432;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(w+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=47581;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=ed(b,w,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=47574;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=47574;return q|0}}c[f>>2]=80062;q=47574;return q|0}else if((o|0)==51)return q|0;return 0}function fd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do gd(b)|0;while(!(1<<d[i>>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)Lc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Pa[c[m>>2]&3](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))yc(b,4);Kc(b,1);q=Pa[c[m>>2]&3](c[o>>2]|0,j,k,l)|0;if(!q)yc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=s;l=0;while(1){r=(c[h>>2]|0)+(l<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=p;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}l=l+1|0;if((l|0)>=(t|0)){u=t;break}else p=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)Lc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;p=c[f>>2]|0;f=(s|0)==0;l=p+4|0;g=Pa[c[p>>2]&3](c[l>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[p+51>>0]|0))yc(b,4);Kc(b,1);r=Pa[c[p>>2]&3](c[l>>2]|0,s,t,u)|0;if(!r)yc(b,4);else v=r}else v=g;g=p+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function gd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)Jc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)Jc(h,k);hd(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;Jc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ia=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;id(h);n=(c[m>>2]|0)-l|0;Ia=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)Jc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)Jc(h,o);hd(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)Jc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do id(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do id(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do id(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do id(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=o;o=0;while(1){p=q;q=c[q+24>>2]|0;if(jd(h,p)|0)if(!(c[j>>2]|0))u=1;else{do id(h);while((c[j>>2]|0)!=0);u=1}else u=o;if(!q)break;else o=u}}while((u|0)!=0);kd(h,c[m>>2]|0,0);u=h+88|0;kd(h,c[u>>2]|0,0);o=c[m>>2]|0;q=c[u>>2]|0;p=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=v;v=w;w=r;while(1){r=t+5|0;x=d[r>>0]|0;if(!(x&3)){y=v;z=t}else{a[r>>0]=x|8;c[w>>2]=c[t>>2];c[t>>2]=c[v>>2];c[v>>2]=t;y=t;z=w}t=c[z>>2]|0;if(!t)break;else{v=y;w=z}}}z=c[h+92>>2]|0;if(z|0){w=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[w>>0]&3|a[z>>0]&-72;Jc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do id(h);while((c[j>>2]|0)!=0);y=p-(c[l>>2]|0)|0;while(1){p=c[s>>2]|0;c[s>>2]=0;if(!p)break;w=p;p=0;while(1){z=w;w=c[w+24>>2]|0;if(jd(h,z)|0)if(!(c[j>>2]|0))A=1;else{do id(h);while((c[j>>2]|0)!=0);A=1}else A=p;if(!w)break;else p=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;p=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){w=j+12|0;z=c[w>>2]|0;if(!(z&64))break;v=c[j+8>>2]|0;if((z&15|0)==4){if(!v)break;if(!(a[v+5>>0]&3))break;Jc(h,v);break}else{z=v+5|0;if(!(a[z>>0]&3))break;c[A>>2]=0;if(!(a[z>>0]&3))break;c[w>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<p>>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){p=s;do{s=c[p+16>>2]|0;j=a[p+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){w=j+12|0;z=c[w>>2]|0;if(!(z&64))break;v=c[j+8>>2]|0;if((z&15|0)==4){if(!v)break;if(!(a[v+5>>0]&3))break;Jc(h,v);break}else{z=v+5|0;if(!(a[z>>0]&3))break;c[s>>2]=0;if(!(a[z>>0]&3))break;c[w>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<A>>>0)}p=c[p+24>>2]|0}while((p|0)!=0)}kd(h,c[m>>2]|0,o);kd(h,c[u>>2]|0,q);q=h+48|0;a[q>>0]=a[q>>0]^3;q=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+q;n=((ld(b)|0)*5|0)+q|0;Ia=e;return n|0}case 2:{q=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[q>>2]|0)+y|0;o=c[k>>2]|0;if((u|0)>=(o|0)){C=o;D=u;E=y;break}o=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;p=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[o>>2]|0;a:do if(A|0){s=A;w=-3;z=o;while(1){if(!w)break a;w=w+-1|0;v=s+5|0;t=d[v>>0]|0;if(!((t^3)&p)){c[z>>2]=c[s>>2];md(b,s);F=z}else{if(m&t|0)break a;if((a[s+4>>0]|0)==8)nd(b,s);a[v>>0]=u&t|j;F=s}s=c[F>>2]|0;if(!s)break;else z=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=c[k>>2]|0;D=(c[q>>2]|0)+y|0;E=y}c[q>>2]=D;if((D|0)>=(C|0))a[i>>0]=3;n=E*5|0;Ia=e;return n|0}case 3:{E=h+68|0;C=c[E>>2]|0;if(!C){a[i>>0]=4;n=0;Ia=e;return n|0}D=d[h+48>>0]|0;q=D^3;y=(a[h+50>>0]|0)==2;k=y?255:184;B=y?64:D&3;D=y?64:0;y=c[C>>2]|0;b:do if(!y)G=0;else{F=y;l=80;j=C;while(1){if(!l){G=j;break b}l=l+-1|0;u=F+5|0;m=d[u>>0]|0;if(!((m^3)&q)){c[j>>2]=c[F>>2];md(b,F);H=j}else{if(D&m|0){G=0;break b}if((a[F+4>>0]|0)==8)nd(b,F);a[u>>0]=k&m|B;H=F}F=c[H>>2]|0;if(!F){G=0;break}else j=H}}while(0);c[E>>2]=G;n=400;Ia=e;return n|0}case 4:{G=h+64|0;E=c[G>>2]|0;if(E|0){H=d[h+48>>0]|0;B=H^3;k=(a[h+50>>0]|0)==2;D=k?255:184;q=k?64:H&3;H=k?64:0;k=c[E>>2]|0;c:do if(!k)I=0;else{C=k;y=80;j=E;while(1){if(!y){I=j;break c}y=y+-1|0;F=C+5|0;l=d[F>>0]|0;if(!((l^3)&B)){c[j>>2]=c[C>>2];md(b,C);J=j}else{if(H&l|0){I=0;break c}if((a[C+4>>0]|0)==8)nd(b,C);a[F>>0]=D&l|q;J=C}C=c[J>>2]|0;if(!C){I=0;break}else j=J}}while(0);c[G>>2]=I;n=400;Ia=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;q=a[h+50>>0]|0;D=q<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=q;L=h}else{h=I;I=1;q=f;while(1){if(!I)break;I=I+-1|0;f=h+5|0;D=d[f>>0]|0;if(!((D^3)&J)){c[q>>2]=c[h>>2];md(b,h);M=q}else{if(G&D|0)break;if((a[h+4>>0]|0)==8)nd(b,h);a[f>>0]=H&D|B;M=h}h=c[M>>2]|0;if(!h)break;else q=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0<K>>>0){fd(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Pa[c[N>>2]&3](c[N+4>>2]|0,K,L,0)|0;q=N+12|0;c[q>>2]=(c[q>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Ia=e;return n|0}default:{n=0;Ia=e;return n|0}}return 0}function hd(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;Jc(b,d);return}function id(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2217396;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)Jc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=nu(l,107)|0,r=(o|0)!=0,o=(nu(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{jd(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=s;s=o;while(1){o=s+4|0;u=s+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[o>>2]|0))if(!v?(a[(c[s+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=r}else w=r;else{if(!v?(x=c[s+8>>2]|0,a[x+5>>0]&3):0)Jc(b,x);if(!r){x=c[o>>2]|0;do if(x&64|0){y=c[s>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;Jc(b,y)}}while(0);w=0}else w=r}while(0);s=s+20|0;if(s>>>0>=l>>>0){t=w;break}else r=w}}if(!t){r=b+76|0;c[h>>2]=c[r>>2];c[r>>2]=f;break}else{r=b+80|0;c[h>>2]=c[r>>2];c[r>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<<d[f+7>>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=q;q=0;while(1){r=c[i>>2]|0;if((c[r+(q<<3)+4>>2]&64|0)!=0?(l=c[r+(q<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){Jc(b,l);z=c[w>>2]|0}else z=p;q=q+1|0;if((q|0)>=(z|0))break;else p=z}A=c[n>>2]|0}else A=h;if(A>>>0<t>>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;p=(c[z>>2]&64|0)==0;if(!n){if(!p?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!p?(p=c[h+8>>2]|0,(a[p+5>>0]&3)!=0):0){Jc(b,p);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)Jc(b,n)}h=h+20|0}while(h>>>0<t>>>0)}}C=(c[f+28>>2]<<3)+32+(20<<d[f+7>>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)Jc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=h;h=0;while(1){n=c[f+16+(h<<2)>>2]|0;if((n|0)!=0?(a[n+5>>0]&3)!=0:0){Jc(b,n);D=a[t>>0]|0}else D=B;h=h+1|0;E=D&255;if(h>>>0>=E>>>0)break;else B=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{B=D;D=0;while(1){if((c[f+16+(D<<3)+4>>2]&64|0)!=0?(h=c[f+16+(D<<3)>>2]|0,(a[h+5>>0]&3)!=0):0){Jc(b,h);F=a[E>>0]|0}else F=B;D=D+1|0;G=F&255;if(D>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0<B>>>0){D=B;B=F;while(1){if((c[B+4>>2]&64|0)!=0?(E=c[B>>2]|0,(a[E+5>>0]&3)!=0):0){Jc(b,E);H=c[G>>2]|0}else H=D;E=B+8|0;if(E>>>0<H>>>0){D=H;B=E}else{I=E;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0<F>>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0<F>>>0);J=120}else J=120}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=120;else{I=F;F=0;do{F=F+1|0;I=c[I+12>>2]|0}while((I|0)!=(g|0));J=(F*40|0)+120|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)Jc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){F=f+8|0;g=J;J=0;while(1){I=c[F>>2]|0;if((c[I+(J<<3)+4>>2]&64|0)!=0?(B=c[I+(J<<3)>>2]|0,(a[B+5>>0]&3)!=0):0){Jc(b,B);K=c[e>>2]|0}else K=g;J=J+1|0;if((J|0)>=(K|0))break;else g=K}}K=f+40|0;g=c[K>>2]|0;if((g|0)>0){J=f+28|0;F=g;g=0;while(1){B=c[(c[J>>2]|0)+(g<<3)>>2]|0;if((B|0)!=0?(a[B+5>>0]&3)!=0:0){Jc(b,B);L=c[K>>2]|0}else L=F;g=g+1|0;if((g|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){g=f+16|0;J=F;B=0;while(1){I=c[(c[g>>2]|0)+(B<<2)>>2]|0;if((I|0)!=0?(a[I+5>>0]&3)!=0:0){Jc(b,I);M=c[L>>2]|0}else M=J;B=B+1|0;if((B|0)>=(M|0)){N=M;break}else J=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){J=f+24|0;B=M;g=0;while(1){I=c[(c[J>>2]|0)+(g*12|0)>>2]|0;if((I|0)!=0?(a[I+5>>0]&3)!=0:0){Jc(b,I);O=c[F>>2]|0}else O=B;g=g+1|0;if((g|0)>=(O|0))break;else B=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=j;j=0;m=0;while(1){n=c[k>>2]|0;if((c[n+(j<<3)+4>>2]&64|0)!=0?(o=c[n+(j<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){Jc(b,o);p=c[i>>2]|0;q=1}else{p=l;q=m}j=j+1|0;if((j|0)>=(p|0))break;else{l=p;m=q}}r=c[f>>2]|0;s=q}else{r=g;s=0}if(r>>>0<h>>>0){g=0;q=s;f=r;r=0;while(1){m=f+4|0;p=c[m>>2]|0;l=f+12|0;j=c[l>>2]|0;i=(j&64|0)==0;a:do if(!p)if(!i?(a[(c[f+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=g;u=q;v=r}else{t=g;u=q;v=r}else{do if(i){w=p;x=19}else{k=c[f+8>>2]|0;if((j&15|0)==4){if(!k){w=p;x=19;break}if(!(a[k+5>>0]&3)){w=p;x=19;break}Jc(b,k);w=c[m>>2]|0;x=19;break}o=(p&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=g;u=q;v=r;break a}else break;if(o){t=1;u=q;v=r;break a}t=1;u=q;v=(a[(c[f>>2]|0)+5>>0]&3)==0?r:1;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=g;u=q;v=r;break}o=c[f>>2]|0;if(!(a[o+5>>0]&3)){t=g;u=q;v=r}else{Jc(b,o);t=g;u=1;v=r}}while(0);f=f+20|0;if(f>>>0>=h>>>0)break;else{g=t;q=u;r=v}}if(v|0){y=b+84|0;z=u;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}if(!t)C=u;else{y=b+88|0;z=u;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}}else C=s;y=b+76|0;z=C;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}function kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(qd(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0<i>>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?qd(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0<i>>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function ld(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=1;l=0}else{m=j;n=1;o=i?255:184;p=i?64:h&3;q=i?64:0;r=h;while(1){s=r^3;t=m;u=1;v=g;while(1){if(!u)break;u=u+-1|0;w=t+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[v>>2]=c[t>>2];md(b,t);y=v}else{if(q&x|0){k=n;l=0;break a}if((a[t+4>>0]|0)==8)nd(b,t);a[w>>0]=o&x|p;y=t}t=c[y>>2]|0;if(!t){k=n;l=0;break a}else v=y}if((v|0)!=(g|0)){k=n;l=v;break a}t=c[e>>2]|0;s=n+1|0;u=d[t+48>>0]|0;x=(a[t+50>>0]|0)==2;m=c[g>>2]|0;if(!m){k=s;l=0;break}else{n=s;o=x?255:184;p=x?64:u&3;q=x?64:0;r=u}}}while(0);c[f+68>>2]=l;l=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;h=d[y+48>>0]|0;i=h^3;j=(a[y+50>>0]|0)==2;y=j?255:184;r=j?64:h&3;h=j?64:0;j=c[l>>2]|0;if(!j){z=0;A=26;break}q=j;j=1;p=l;while(1){if(!j)break;j=j+-1|0;o=q+5|0;n=d[o>>0]|0;if(!((n^3)&i)){c[p>>2]=c[q>>2];md(b,q);B=p}else{if(h&n|0){z=0;A=26;break b}if((a[q+4>>0]|0)==8)nd(b,q);a[o>>0]=y&n|r;B=q}q=c[B>>2]|0;if(!q){z=0;A=26;break b}else p=B}if((p|0)!=(l|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+k|0}return 0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{od(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Pa[c[h>>2]&3](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2217420)i=b+12|0;else{g=20<<d[e+7>>0];h=b+12|0;j=c[h>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Pa[c[f>>2]&3](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{pd(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Pa[c[l>>2]&3](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=l;o=-3;p=g;while(1){if(!o)break a;o=o+-1|0;q=n+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[p>>2]=c[n>>2];md(b,n);s=p}else{if(j&r|0)break a;if((a[n+4>>0]|0)==8)nd(b,n);a[q>>0]=i&r|m;s=n}n=c[s>>2]|0;if(!n)break;else p=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0<h>>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;zc(e,f);return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Pa[c[d>>2]&3](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function pd(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;d=b+28|0;Sc(b,c[d>>2]|0);e=c[d>>2]|0;if(!e){f=a+12|0;g=c[f>>2]|0;h=c[g>>2]|0;i=g+4|0;j=c[i>>2]|0;Pa[h&3](j,b,120,0)|0;k=g+12|0;l=c[k>>2]|0;m=l+-120|0;c[k>>2]=m;return}c[b+16>>2]=b+72;n=b+84|0;o=c[n>>2]|0;c[n>>2]=0;n=b+12|0;if(!o)p=e;else{e=o;do{o=e;e=c[e+12>>2]|0;q=c[n>>2]|0;Pa[c[q>>2]&3](c[q+4>>2]|0,o,40,0)|0;r=q+12|0;c[r>>2]=(c[r>>2]|0)-((o|0)==0?0:40)}while((e|0)!=0);p=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[n>>2]|0;Pa[c[e>>2]&3](c[e+4>>2]|0,p,d,0)|0;n=e+12|0;c[n>>2]=(c[n>>2]|0)-((p|0)==0?0:d);f=a+12|0;g=c[f>>2]|0;h=c[g>>2]|0;i=g+4|0;j=c[i>>2]|0;Pa[h&3](j,b,120,0)|0;k=g+12|0;l=c[k>>2]|0;m=l+-120|0;c[k>>2]=m;return}function qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;do if(e&64){f=c[d>>2]|0;if((e&15|0)!=4){g=a[f+5>>0]&3;break}if((f|0)!=0?(a[f+5>>0]&3)!=0:0){Jc(b,f);g=0}else g=0}else g=0;while(0);return g|0}function rd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=0;h=b;while(1){i=(h+g|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?g:i;h=j?i:h;if((h-k|0)>>>0<=1){f=k;break}else g=k}return f|0}g=c[a+16>>2]|0;if((g|0)==2217420){f=b;return f|0}h=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0<b>>>0)l=(c[h>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=g+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2217396;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0<b>>>0)p=(c[h>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=g+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2217396;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=a;a=k;while(1){k=(a+o|0)>>>1;p=k+-1|0;c:do if(p>>>0<b>>>0)q=(c[h>>2]|0)+(p<<3)|0;else{j=k<<16;n=0-j|0;i=g+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2217396;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;a=p?k:a;l=p?o:k;if((a-l|0)>>>0<=1){f=l;break}else o=l}return f|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=rl(b,c)|0;break}case 3:{d=sl(b,c)|0;break}case 4:{d=tl(b,c)|0;break}case 5:{d=ul(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=El(b,c)|0;break}case 10:{d=Fl(b,c)|0;break}case 11:{d=Dl(b,c)|0;break}case 12:{d=Bl(b,c)|0;break}case 13:{d=Cl(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(sl(b,c)|0)&-65536;break}case 16:{d=hl(b)|0;break}case 17:{d=gl(b)|0;break}case 18:{d=fl(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=(ud(b,d)|0)==0;dd(a,e?b:c,47634)}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Wc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Ia=d;return g|0}function vd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0<j>>>0){n=~m;o=l;p=j;while(1){j=(o<<5)+(o>>>2)+(d[i+(p+-1)>>0]|0)^o;p=p+n|0;if(p>>>0<=m>>>0){q=j;break}else o=j}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 54:case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;Ia=e;return d|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=bd(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)Lc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Pa[c[g>>2]&3](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);l=Pa[c[g>>2]&3](c[j>>2]|0,0,4,i)|0;if(!l)yc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Vv(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function yd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0<f>>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0<f>>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function Ad(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2217396;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2217396:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2217396}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|32|0)==54)m=2217396;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2217396:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2217396}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){Jc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function Bd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function Cd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2217396){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function Dd(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function Ed(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;g=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){h=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){h=(c[a+12>>2]|0)+36|0;break}i=-1001e3-b|0;j=c[g>>2]|0;if((c[j+4>>2]|32|0)==54)h=2217396;else{k=c[j>>2]|0;h=(i|0)>(d[k+6>>0]|0|0)?2217396:k+16+(i+-1<<3)|0}}else{i=(c[g>>2]|0)+(b<<3)|0;h=i>>>0<(c[a+8>>2]|0)>>>0?i:2217396}while(0);a=c[h+4>>2]|0;if((a|0)==3){l=1;Ia=e;return l|0}if((a&15|0)==4){a=c[h>>2]|0;m=(Wc(a+16|0,c[a+12>>2]|0,f)|0)!=0&1}else m=0;l=m;Ia=e;return l|0}function Fd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2217396}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Wc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Ia=f;return o|0}c[e>>2]=0;o=0;Ia=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ia=f;return o|0}function Gd(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;e=c[a+4>>2]|0;if((e|0)==3){f=c[a>>2]|0;Ia=b;return f|0}if((e&15|0)==4?(e=c[a>>2]|0,Wc(e+16|0,c[e+12>>2]|0,d)|0):0){f=c[d>>2]|0;Ia=b;return f|0}f=0;Ia=b;return f|0}function Hd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2217396;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2217396:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2217396}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Wc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Ia=f;return n|0}c[e>>2]=0;n=0;Ia=f;return n|0}while(0);g=m>>16;if(!e){n=g;Ia=f;return n|0}c[e>>2]=1;n=g;Ia=f;return n|0}function Id(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function Jd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(Kd(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{Oc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2217396;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|32|0)==54)p=2217396;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2217396:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ia=e;return h|0}i=ad(f,c[d>>2]|0)|0;if(i>>>0<41)j=bd(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)Lc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Pa[c[k>>2]&3](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);p=Pa[c[k>>2]&3](c[n>>2]|0,0,4,m)|0;if(!p)yc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Vv(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Ia=e;return h|0}function Ld(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=rd(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function Md(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2217396}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 54:case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)l=2217396;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2217396:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function Nd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function Od(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function Pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);g=xd(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function Qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{Oc(b);break}while(0);e=xd(b,d,bu(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function Rd(a,b){a=a|0;b=b|0;return xd(a,b,bu(b)|0)|0}function Sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);return Bc(b,d,e)|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;f=Ia;Ia=Ia+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);c[g>>2]=e;e=Bc(b,d,g)|0;Ia=f;return e|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:do if((e|0)<0){switch(e|0){case -3333:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=54;i=g;j=f;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}else{switch(e|0){case 0:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=22;i=g;j=f;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}while(0);f=b+12|0;g=c[f>>2]|0;n=g+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=g+4|0;r=Pa[c[g>>2]&3](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);s=Pa[c[g>>2]&3](c[q>>2]|0,0,6,p)|0;if(!s)yc(b,4);else{t=g;u=n;v=p;w=s}}else{t=g;u=n;v=p;w=r}}else{if(!(a[g+51>>0]|0)){r=g+8|0;c[r>>2]=o+1600+(c[r>>2]|0);c[n>>2]=-1600;x=g}else{Oc(b);x=c[f>>2]|0}f=(e<<3)+16|0;g=x+4|0;n=Pa[c[x>>2]&3](c[g>>2]|0,0,6,f)|0;if((f|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))yc(b,4);Kc(b,1);r=Pa[c[x>>2]&3](c[g>>2]|0,0,6,f)|0;if(!r)yc(b,4);else y=r}else y=n;t=x;u=x+12|0;v=f;w=y}c[u>>2]=(c[u>>2]|0)+v;v=t+56|0;a[w+5>>0]=a[t+48>>0]&3;a[w+4>>0]=38;c[w>>2]=c[v>>2];c[v>>2]=w;a[w+6>>0]=e;c[w+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;v=b;b=e;do{b=b+-1|0;c[w+16+(b<<3)>>2]=c[v+(b<<3)>>2];c[w+16+(b<<3)+4>>2]=c[v+(b<<3)+4>>2];v=c[d>>2]|0}while((b|0)!=0);c[v>>2]=w;h=102;i=v;j=d;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}function Vd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Wd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2217396;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=xd(b,e,bu(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;Hc(b,g,j,j);return}function Xd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=(c[a+8>>2]|0)+-8|0;Hc(a,f,b,b);return}function Yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{Oc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Pa[c[k>>2]&3](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);h=Pa[c[k>>2]&3](c[g>>2]|0,0,5,32)|0;if(!h)yc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2217420;a[l+7>>0]=0;c[l+20>>2]=2217420;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Xc(b,l,d,e);return}function Zd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2217396;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=xd(b,e,bu(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;Ic(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function _d(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2217396){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=Nc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Ia=g;return}function $d(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2217396}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=k;if(!l){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[l+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}ae(b,c[g>>2]|0,l);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=l;if(!l){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[k+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){Jc(o,k);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);ae(b,c[g>>2]|0,l);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=l;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function ae(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2217396;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=l;s=1;t=k;while(1){if(!s){q=t;break a}s=s+-1|0;u=r+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[t>>2]=c[r>>2];md(b,r);w=t}else{if(m&v|0){q=0;break a}if((a[r+4>>0]|0)==8)nd(b,r);a[u>>0]=f&v|p;w=r}r=c[w>>2]|0;if(!r){q=0;break}else t=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return} 146 + function oq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Ia;Ia=Ia+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Vv(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0<q>>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0<q>>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0<s>>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Ia=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ia=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ia=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Ia=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Ia=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))pq(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=xq(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=hq(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)pq(n,o,y,l)}else c[p>>2]=9955;zq(y);break}c[p>>2]=59;Ia=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=yq(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0<C>>>0){r=C<<1;z=yq(c[m>>2]|0,r)|0;if(!z){G=F;H=E;I=C}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=c[u>>2]|0;H=C;I=C+1|0}if(G>>>0<I>>>0){C=I<<1;z=yq(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=I;a[N+H>>0]=78;z=c[g>>2]|0;K=c[u>>2]|0;L=z;M=z+1|0}if(K>>>0<M>>>0){z=M<<1;C=yq(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=M;a[R+L>>0]=71;C=c[g>>2]|0;O=c[u>>2]|0;P=C;Q=C+1|0}if(O>>>0<Q>>>0){C=Q<<1;z=yq(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=Q;a[V+P>>0]=13;z=c[g>>2]|0;S=c[u>>2]|0;T=z;U=z+1|0}if(S>>>0<U>>>0){z=U<<1;C=yq(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=U;a[Z+T>>0]=10;C=c[g>>2]|0;W=c[u>>2]|0;X=C;Y=C+1|0}if(W>>>0<Y>>>0){C=Y<<1;z=yq(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=Y;a[ba+X>>0]=26;z=c[g>>2]|0;_=c[u>>2]|0;$=z;aa=z+1|0}if(_>>>0<aa>>>0){z=aa<<1;C=yq(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=aa;a[ca+$>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=yq(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0<y>>>0){A=y<<1;D=yq(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0<C>>>0){y=C<<1;s=yq(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0<ha>>>0){z=ha<<1;x=yq(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0<na>>>0){C=na<<1;z=yq(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0<ta>>>0){C=ta<<1;z=yq(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0<za>>>0){r=yq(Aa,za<<1)|0;if(!r){Fa=Aa;Ga=Ba}else{Ha=r;v=119}}else{Ha=Aa;v=119}if((v|0)==119){a[Ha+Ba>>0]=C;Fa=Ha;Ga=za}if(!(cq(m,g,Ga,97e3,Fa)|0))c[u>>2]=c[g>>2];zq(Fa);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=c[g>>2]|0;y=C;while(1){s=y+1|0;A=y+2|0;da=y+3|0;w=(d[s>>0]<<16|d[y>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+x|0;if(D>>>0<w>>>0|D>>>0<x>>>0){Ja=77;break}Ka=yq(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+x|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[y+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;y=y+((d[s>>0]<<16|d[y>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((y-z|0)>>>0>=r>>>0)break d;else x=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;x=z;z=0;y=0;w=0;D=0;while(1){do if((D&3|0)==3){Pa=x;Qa=z;Ra=y;Sa=w}else{La=a[(c[C>>2]|0)+D>>0]|0;Ka=w+1|0;if(y>>>0<Ka>>>0){Ta=Ka<<1;Ua=yq(z,Ta)|0;if(!Ua){Pa=x;Qa=z;Ra=y;Sa=w;break}else{Va=Ua;Wa=Ta}}else{Va=z;Wa=y}a[Va+w>>0]=La;Pa=c[r>>2]|0;Qa=Va;Ra=Wa;Sa=Ka}while(0);D=D+1|0;if(D>>>0>=Pa<<2>>>0){Na=Qa;Oa=Sa;break}else{x=Pa;z=Qa;y=Ra;w=Sa}}}if(!(cq(m,g,Oa,97005,Na)|0))c[u>>2]=c[g>>2];zq(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{w=c[q>>2]|0;switch(w|0){case 6:case 2:break;default:{Xa=w;break e}}w=l+32|0;y=c[w>>2]|0;if((y+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(y&1073741823)){Ya=0;Za=0}else{z=l+28|0;x=y;y=0;D=0;r=0;C=0;while(1){do if((C&3|0)==3){_a=x;$a=y;ab=D;bb=r}else{Ka=a[(c[z>>2]|0)+C>>0]|0;La=r+1|0;if(D>>>0<La>>>0){Ta=La<<1;Ua=yq(y,Ta)|0;if(!Ua){_a=x;$a=y;ab=D;bb=r;break}else{cb=Ua;db=Ta}}else{cb=y;db=D}a[cb+r>>0]=Ka;_a=c[w>>2]|0;$a=cb;ab=db;bb=La}while(0);C=C+1|0;if(C>>>0>=_a<<2>>>0){Ya=$a;Za=bb;break}else{x=_a;y=$a;D=ab;r=bb}}}if(!(cq(m,g,Za,97005,Ya)|0))c[u>>2]=c[g>>2];zq(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){r=c[l+28>>2]|0;D=c[l+32>>2]|0;if(!D)break;y=0;while(1){if((a[r+(y<<2|3)>>0]|0)!=-1)break;y=y+1|0;if(y>>>0>=D>>>0)break f}qq(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;qq(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{D=l+56|0;y=c[D>>2]|0;r=yq(0,2)|0;if(!r){x=yq(0,2)|0;if(!x){fb=0;gb=0;break h}else{hb=1;ib=x;jb=0;kb=y}}else{a[r>>0]=y>>>8;hb=2;ib=r;jb=1;kb=c[D>>2]|0}a[ib+jb>>0]=kb;fb=ib;gb=hb;break}case 6:case 2:{D=l+56|0;r=c[D>>2]|0;y=yq(0,2)|0;if(!y){x=yq(0,2)|0;if(!x){lb=0;mb=0;nb=0}else{ob=1;pb=x;qb=0;rb=r;v=180}}else{a[y>>0]=r>>>8;ob=2;pb=y;qb=1;rb=c[D>>2]|0;v=180}if((v|0)==180){a[pb+qb>>0]=rb;lb=pb;mb=ob;nb=2}D=l+60|0;y=c[D>>2]|0;r=y>>>8&255;x=mb+1|0;if(nb>>>0<x>>>0){C=x<<1;w=yq(lb,C)|0;if(!w){sb=y;tb=x;ub=lb;vb=mb;wb=nb}else{xb=w;yb=C;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=r;sb=c[D>>2]|0;tb=mb+2|0;ub=xb;vb=x;wb=yb}x=sb&255;if(wb>>>0<tb>>>0){D=tb<<1;r=yq(ub,D)|0;if(!r){zb=tb;Ab=ub;Bb=vb;Cb=wb}else{Db=r;Eb=D;v=186}}else{Db=ub;Eb=wb;v=186}if((v|0)==186){a[Db+vb>>0]=x;zb=tb+1|0;Ab=Db;Bb=tb;Cb=Eb}x=l+64|0;D=c[x>>2]|0;r=D>>>8&255;if(Cb>>>0<zb>>>0){C=zb<<1;w=yq(Ab,C)|0;if(!w){Fb=D;Gb=zb;Hb=Ab;Ib=Bb;Jb=Cb}else{Kb=w;Lb=C;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=r;Fb=c[x>>2]|0;Gb=zb+1|0;Hb=Kb;Ib=zb;Jb=Lb}x=Fb&255;if(Jb>>>0<Gb>>>0){r=yq(Hb,Gb<<1)|0;if(!r){fb=Hb;gb=Ib;break h}else Mb=r}else Mb=Hb;a[Mb+Ib>>0]=x;fb=Mb;gb=Gb;break}case 3:{x=c[l+56>>2]|0;r=yq(0,2)|0;if(!r){fb=0;gb=0;break h}a[r>>0]=x;fb=r;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(cq(m,g,gb,97010,fb)|0))c[u>>2]=c[g>>2];zq(fb)}if(c[l+116>>2]|0){r=c[l+120>>2]|0;x=yq(0,8)|0;C=(x|0)==0;w=C?0:8;D=C?0:4;y=x+(C?-4:0)|0;a[y>>0]=r>>>24;a[y+1>>0]=r>>>16;a[y+2>>0]=r>>>8;a[y+3>>0]=r;r=c[l+124>>2]|0;y=D+4|0;if(w>>>0<y>>>0){C=y<<1;z=yq(x,C)|0;da=(z|0)==0;Nb=da?x:z;Ob=da?D:y;Pb=da?w:C}else{Nb=x;Ob=y;Pb=w}w=Nb+(Ob+-4)|0;a[w>>0]=r>>>24;a[w+1>>0]=r>>>16;a[w+2>>0]=r>>>8;a[w+3>>0]=r;r=a[l+128>>0]|0;w=Ob+1|0;if(Pb>>>0<w>>>0){y=yq(Nb,w<<1)|0;if(!y){Qb=Nb;Rb=Ob}else{Sb=y;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=r;Qb=Sb;Rb=w}if(!(cq(m,g,Rb,97015,Qb)|0))c[u>>2]=c[g>>2];zq(Qb)}w=c[l+136>>2]|0;if(w|0){r=c[l+148>>2]|0;y=w;i:do if(r|0){x=c[g>>2]|0;C=w;while(1){da=C+1|0;D=C+2|0;z=C+3|0;A=(d[da>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;s=A+x|0;if(s>>>0<A>>>0|s>>>0<x>>>0){Tb=77;break}La=yq(c[m>>2]|0,s)|0;if(!La){Tb=9929;break}c[m>>2]=La;c[g>>2]=s;Ka=La+x|0;if(!A)Ub=s;else{s=0;do{a[Ka+s>>0]=a[C+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;C=C+((d[da>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-y|0)>>>0>=r>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}r=c[n>>2]|0;y=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;w=k+4|0;c[w>>2]=0;x=aq(k,w,r,y,b)|0;y=c[k>>2]|0;do if(!x){r=cq(m,g,c[w>>2]|0,97020,y)|0;if(r|0){Vb=r;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);zq(y);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=xq(7)|0;if(!x)break;w=l+104|0;a[x>>0]=(c[w>>2]|0)>>>8;a[x+1>>0]=c[w>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(cq(m,g,7,97025,x)|0))c[u>>2]=c[g>>2];zq(x)}while(0);y=l+68|0;x=c[y>>2]|0;j:do if(x){w=l+72|0;r=b+24|0;C=l+76|0;A=k+8|0;s=k+4|0;Ka=x;La=0;while(1){Ta=c[(c[w>>2]|0)+(La<<2)>>2]|0;if((bu(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[C>>2]|0)+(La<<2)>>2]|0;if(!(c[r>>2]|0))rq(m,Ta,Wb);else{Xb=bu(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=Ua;Ua=1;Zb=1;_b=0;$b=0;ac=0;bc=0;while(1){if(Zb){cc=Ua<<1;dc=yq(_b,cc)|0;if(!dc){ec=_b;fc=$b;gc=ac}else{hc=dc;ic=cc;v=238}}else{hc=_b;ic=ac;v=238}if((v|0)==238){v=0;a[hc+$b>>0]=Yb;ec=hc;fc=Ua;gc=ic}bc=bc+1|0;Yb=a[Ta+bc>>0]|0;Ua=fc+1|0;Zb=gc>>>0<Ua>>>0;if(!(Yb<<24>>24))break;else{_b=ec;$b=fc;ac=gc}}if(Zb){ac=Ua<<1;$b=yq(ec,ac)|0;if(!$b){jc=Ua;kc=ec;lc=fc;mc=gc}else{nc=$b;oc=ac;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=Ua;mc=oc}if(mc>>>0<jc>>>0){ac=jc<<1;$b=yq(kc,ac)|0;if(!$b){pc=kc;qc=lc;rc=mc}else{sc=$b;tc=ac;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(aq(k,s,Wb,Xb,b)|0)){ac=c[s>>2]|0;if(!ac){uc=pc;vc=qc}else{$b=ac;ac=pc;_b=qc;Yb=rc;bc=0;while(1){Ta=a[(c[k>>2]|0)+bc>>0]|0;z=_b+1|0;if(Yb>>>0<z>>>0){D=z<<1;da=yq(ac,D)|0;if(!da){wc=$b;xc=ac;yc=_b;zc=Yb}else{Ac=da;Bc=D;v=251}}else{Ac=ac;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+_b>>0]=Ta;wc=c[s>>2]|0;xc=Ac;yc=z;zc=Bc}bc=bc+1|0;if(bc>>>0>=wc>>>0){uc=xc;vc=yc;break}else{$b=wc;ac=xc;_b=yc;Yb=zc}}}if(cq(m,g,vc,97030,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;zq(c[k>>2]|0);zq(Cc)}La=La+1|0;Xb=c[y>>2]|0;if(La>>>0>=Xb>>>0){Dc=Xb;break j}else Ka=Xb}if((v|0)==231){c[p>>2]=66;Dc=Ka;break}else if((v|0)==233){c[p>>2]=67;Dc=Ka;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){y=c[l+72>>2]|0;x=0;do{if(!(au(c[y+(x<<2)>>2]|0,97035)|0))break k;x=x+1|0}while(x>>>0<Dc>>>0)}rq(m,97035,97043)}while(0);x=l+80|0;l:do if(c[x>>2]|0){y=l+84|0;Ka=b+24|0;La=l+88|0;s=l+92|0;A=l+96|0;r=k+8|0;C=k+4|0;w=0;while(1){Xb=c[(c[y>>2]|0)+(w<<2)>>2]|0;if((bu(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}Ua=c[Ka>>2]|0;Zb=c[(c[La>>2]|0)+(w<<2)>>2]|0;Yb=c[(c[s>>2]|0)+(w<<2)>>2]|0;_b=c[(c[A>>2]|0)+(w<<2)>>2]|0;ac=bu(_b)|0;$b=Wb;Wb=1;bc=1;z=0;Ta=0;D=0;da=0;while(1){if(bc){cc=Wb<<1;dc=yq(z,cc)|0;if(!dc){Ec=z;Fc=Ta;Gc=D}else{Hc=dc;Ic=cc;v=273}}else{Hc=z;Ic=D;v=273}if((v|0)==273){v=0;a[Hc+Ta>>0]=$b;Ec=Hc;Fc=Wb;Gc=Ic}da=da+1|0;$b=a[Xb+da>>0]|0;Wb=Fc+1|0;bc=Gc>>>0<Wb>>>0;if(!($b<<24>>24))break;else{z=Ec;Ta=Fc;D=Gc}}if(bc){D=Wb<<1;Ta=yq(Ec,D)|0;if(!Ta){Jc=Wb;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=Ta;Oc=D;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=Wb;Mc=Oc}D=(Ua|0)!=0;Ta=D&1;if(Mc>>>0<Jc>>>0){z=Jc<<1;$b=yq(Kc,z)|0;if(!$b){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=$b;Uc=z;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=Ta;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0<Pc>>>0){Ta=Pc<<1;z=yq(Qc,Ta)|0;if(!z){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=z;_c=Ta;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}Ta=a[Zb>>0]|0;z=Yc>>>0<Vc>>>0;if(!(Ta<<24>>24)){$c=Vc;ad=z;bd=Wc;cd=Xc;dd=Yc}else{$b=Ta;Ta=Vc;da=z;z=Wc;Xb=Xc;cc=Yc;dc=0;while(1){if(da){ed=Ta<<1;fd=yq(z,ed)|0;if(!fd){gd=z;hd=Xb;id=cc}else{jd=fd;kd=ed;v=288}}else{jd=z;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=$b;gd=jd;hd=Ta;id=kd}dc=dc+1|0;$b=a[Zb+dc>>0]|0;ed=hd+1|0;fd=id>>>0<ed>>>0;if(!($b<<24>>24)){$c=ed;ad=fd;bd=gd;cd=hd;dd=id;break}else{Ta=ed;da=fd;z=gd;Xb=hd;cc=id}}}if(ad){cc=$c<<1;Xb=yq(bd,cc)|0;if(!Xb){ld=bd;md=cd;nd=dd}else{od=Xb;pd=cc;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=$c;nd=pd}cc=a[Yb>>0]|0;Xb=md+1|0;z=nd>>>0<Xb>>>0;if(!(cc<<24>>24)){qd=Xb;rd=z;sd=ld;td=md;ud=nd}else{da=cc;cc=Xb;Xb=z;z=ld;Ta=md;$b=nd;dc=0;while(1){if(Xb){Zb=cc<<1;Ua=yq(z,Zb)|0;if(!Ua){vd=z;wd=Ta;xd=$b}else{yd=Ua;zd=Zb;v=297}}else{yd=z;zd=$b;v=297}if((v|0)==297){v=0;a[yd+Ta>>0]=da;vd=yd;wd=cc;xd=zd}dc=dc+1|0;da=a[Yb+dc>>0]|0;Zb=wd+1|0;Ua=xd>>>0<Zb>>>0;if(!(da<<24>>24)){qd=Zb;rd=Ua;sd=vd;td=wd;ud=xd;break}else{cc=Zb;Xb=Ua;z=vd;Ta=wd;$b=xd}}}if(rd){$b=qd<<1;Ta=yq(sd,$b)|0;if(!Ta){Ad=sd;Bd=td;Cd=ud}else{Dd=Ta;Ed=$b;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=qd;Cd=Ed}do if(D){c[k>>2]=0;c[r>>2]=0;c[C>>2]=0;if(aq(k,C,_b,ac,b)|0){Fd=Ad;break}$b=c[C>>2]|0;if(!$b){Gd=Ad;Hd=Bd;Id=Cd}else{Ta=$b;$b=Ad;z=Bd;Xb=Cd;cc=0;while(1){da=a[(c[k>>2]|0)+cc>>0]|0;dc=z+1|0;if(Xb>>>0<dc>>>0){Yb=dc<<1;Ua=yq($b,Yb)|0;if(!Ua){Jd=Ta;Kd=$b;Ld=z;Md=Xb}else{Nd=Ua;Od=Yb;v=308}}else{Nd=$b;Od=Xb;v=308}if((v|0)==308){v=0;a[Nd+z>>0]=da;Jd=c[C>>2]|0;Kd=Nd;Ld=dc;Md=Od}cc=cc+1|0;if(cc>>>0>=Jd>>>0){Gd=Kd;Hd=Ld;Id=Md;break}else{Ta=Jd;$b=Kd;z=Ld;Xb=Md}}}Xb=a[_b>>0]|0;if(!(Xb<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}z=Xb;Xb=Gd;$b=Hd;Ta=Id;cc=0;while(1){dc=$b+1|0;if(Ta>>>0<dc>>>0){da=dc<<1;Yb=yq(Xb,da)|0;if(!Yb){Rd=Xb;Sd=$b;Td=Ta}else{Ud=Yb;Vd=da;v=314}}else{Ud=Xb;Vd=Ta;v=314}if((v|0)==314){v=0;a[Ud+$b>>0]=z;Rd=Ud;Sd=dc;Td=Vd}cc=cc+1|0;z=a[_b+cc>>0]|0;if(!(z<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{Xb=Rd;$b=Sd;Ta=Td}}}else{Ta=a[_b>>0]|0;if(!(Ta<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}$b=Ta;Ta=Ad;Xb=Bd;z=Cd;cc=0;while(1){dc=Xb+1|0;if(z>>>0<dc>>>0){da=dc<<1;Yb=yq(Ta,da)|0;if(!Yb){Wd=Ta;Xd=Xb;Yd=z}else{Zd=Yb;_d=da;v=320}}else{Zd=Ta;_d=z;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=$b;Wd=Zd;Xd=dc;Yd=_d}cc=cc+1|0;$b=a[_b+cc>>0]|0;if(!($b<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{Ta=Wd;Xb=Xd;z=Yd}}}while(0);do if((v|0)==322){v=0;if(cq(m,g,Qd,97052,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);zq(Fd);w=w+1|0;if(w>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){w=c[l+152>>2]|0;C=x;m:do if(w|0){r=c[g>>2]|0;A=x;while(1){s=A+1|0;La=A+2|0;Ka=A+3|0;y=(d[s>>0]<<16|d[A>>0]<<24|d[La>>0]<<8|d[Ka>>0])+12|0;_b=y+r|0;if(_b>>>0<y>>>0|_b>>>0<r>>>0){$d=77;break}ac=yq(c[m>>2]|0,_b)|0;if(!ac){$d=9929;break}c[m>>2]=ac;c[g>>2]=_b;D=ac+r|0;if(!y)ae=_b;else{_b=0;do{a[D+_b>>0]=a[A+_b>>0]|0;_b=_b+1|0}while((_b|0)!=(y|0));ae=c[g>>2]|0}c[u>>2]=ae;A=A+((d[s>>0]<<16|d[A>>0]<<24|d[La>>0]<<8|d[Ka>>0])+12)|0;if((A-C|0)>>>0>=w>>>0)break m;else r=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}w=c[g>>2]|0;C=w+12|0;if(w>>>0>4294967283)break;x=yq(c[m>>2]|0,C)|0;if(!x)break;c[m>>2]=x;c[g>>2]=C;C=x+w|0;a[C>>0]=0;a[C+1>>0]=0;a[C+2>>0]=0;a[C+3>>0]=0;w=C+4|0;a[w>>0]=73;a[C+5>>0]=69;a[C+6>>0]=78;a[C+7>>0]=68;x=bq(w,4)|0;w=C+8|0;a[w>>0]=x>>>24;a[w+1>>0]=x>>>16;a[w+2>>0]=x>>>8;a[w+3>>0]=x;c[u>>2]=c[g>>2]}while(0);zq(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ia=j;return}function pq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Ia;Ia=Ia+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=xq(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Ia=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=yq(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){sq(D,f,z,g,v);tq(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}zq(C);Ia=h;return}tq(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ia=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=xq(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){lq(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=xq(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){lq(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[30048+(x<<2)>>2]|0;G=c[30016+(x<<2)>>2]|0;H=c[29984+(x<<2)>>2]|0;I=c[29952+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=30048+(e<<2)|0,J=30016+(e<<2)|0,I=29984+(e<<2)|0,z|0):0){H=c[29952+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=0;O=B(L+(B(M,H)|0)|0,w)|0;P=(B(M+N|0,w)|0)+F|0;while(1){R=1<<(P&7^7);if(!(1<<(O&7^7)&(d[f+(O>>>3)>>0]|0))){S=D+(P>>>3)|0;T=(R^255)&(d[S>>0]|0);U=S}else{S=D+(P>>>3)|0;T=R|(d[S>>0]|0);U=S}a[U>>0]=T;Q=Q+1|0;if((Q|0)==(w|0))break;else{O=O+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){tq((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=yq(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;F=c[o>>2]|0;sq(e,D+(c[r>>2]|0)|0,z+7&-8,z,F);V=tq((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,F,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}zq(W);if(!x){F=yq(0,K)|0;if(!F){Y=9954;Z=0}else{_=F;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){F=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;sq(F,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=tq((c[b>>2]|0)+(c[p+4>>2]|0)|0,F,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}zq(Z);if(!x){z=yq(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;F=B(G,w)|0;e=c[o+8>>2]|0;sq(z,D+(c[r+8>>2]|0)|0,F+7&-8,F,e);$=tq((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}zq(aa);if(!x){e=yq(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;F=c[o+12>>2]|0;sq(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,F);ca=tq((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,F,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}zq(da);if(!x){F=yq(0,K)|0;if(!F){fa=9954;ga=0}else{ha=F;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){F=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;sq(F,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=tq((c[b>>2]|0)+(c[p+16>>2]|0)|0,F,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}zq(ga);if(!x){z=yq(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;F=B(G,w)|0;e=c[o+20>>2]|0;sq(z,D+(c[r+20>>2]|0)|0,F+7&-8,F,e);ia=tq((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}zq(ja);if(!x){x=yq(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;sq(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);tq((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;zq(la)}while(0)}zq(D);Ia=h;return}function qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0<n>>>0){o=n<<1;p=yq(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=yq(0,2)|0;if(!j){e=c[l>>2]|0;i=yq(0,2)|0;if(!i){f=0;g=0;break a}else{w=1;x=e;y=i;z=0}}else{a[j>>0]=k>>>8;w=2;x=c[l>>2]|0;y=j;z=1}a[y+z>>0]=x;f=y;g=w}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=yq(0,2)|0;if(!k){i=c[j>>2]|0;e=yq(0,2)|0;if(!e){A=0;B=0;C=0}else{D=1;E=i;F=e;G=0;v=17}}else{a[k>>0]=l>>>8;D=2;E=c[j>>2]|0;F=k;G=1;v=17}if((v|0)==17){a[F+G>>0]=E;A=F;B=D;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0<l>>>0){e=l<<1;i=yq(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0<H>>>0){k=H<<1;j=yq(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0<N>>>0){j=N<<1;e=yq(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0<T>>>0){l=yq(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(cq(b,T,g,97062,f)|0){zq(f);return}c[b+8>>2]=c[T>>2];zq(f);return}function rq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=f;f=1;h=1;i=0;j=0;k=0;l=0;while(1){if(h){m=f<<1;n=yq(j,m)|0;if(!n){o=j;p=k;q=l}else{r=n;s=m;t=5}}else{r=j;s=l;t=5}if((t|0)==5){t=0;a[r+k>>0]=g;o=r;p=f;q=s}i=i+1|0;g=a[d+i>>0]|0;f=p+1|0;h=q>>>0<f>>>0;if(!(g<<24>>24))break;else{j=o;k=p;l=q}}if(h){u=f;v=o;w=p;x=q;t=8}else{y=f;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=yq(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=B;B=0;z=C;C=D;D=E;while(1){E=C+1|0;if(D>>>0<E>>>0){A=E<<1;q=yq(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=y;H=K;I=E;J=L}B=B+1|0;y=a[e+B>>0]|0;if(!(y<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(cq(b,J,G,97057,F)|0){zq(F);return}c[b+8>>2]=c[J>>2];zq(F);return}function sq(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=j;m=0;while(1){n=b+(l>>>3)|0;a[n>>0]=(1<<(l&7^7)^255)&(d[n>>0]|0);m=m+1|0;if((m|0)==(h|0))break;else l=l+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){l=j+f|0;m=o;n=j;p=0;while(1){q=1<<(n&7^7);if(!(1<<(m&7^7)&(d[c+(m>>>3)>>0]|0))){r=b+(n>>>3)|0;s=(q^255)&(d[r>>0]|0);t=r}else{r=b+(n>>>3)|0;s=q|(d[r>>0]|0);t=r}a[t>>0]=s;p=p+1|0;if((p|0)==(f|0))break;else{m=m+1|0;n=n+1|0}}o=o+f|0;if(i){n=l;m=0;while(1){p=b+(n>>>3)|0;a[p>>0]=(1<<(n&7^7)^255)&(d[p>>0]|0);m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=l;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}function tq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Ia;Ia=Ia+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Ia=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ia=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=0;r=0;s=0;t=0;u=0;v=k+20|0;w=k+32|0;x=k+44|0;y=k+56|0;z=89}else{o=yq(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=yq(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=yq(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=yq(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=yq(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=E;r=p;s=o;t=C;u=G;v=m;w=A;x=D;y=F;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=L;N=K;O=J;P=I;Q=0;R=H;S=k+32|0;T=k+44|0;U=k+56|0;V=9949}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=s;N=r;O=t;P=q;Q=u;R=v;S=w;T=x;U=y;V=0}else{u=(l|0)==0;q=(f|0)!=0;t=(l|0)!=0;r=f>>>0<l>>>0;s=l+1|0;z=0;H=0;I=0;J=0;while(1){K=H;H=e+(B(J,l)|0)|0;L=(K|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!u){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(L){if(!t)break a;p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!t)break a;p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[K+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-((d[H+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-((d[K+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(((d[K+p>>0]|0)+(d[H+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[K+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{C=p-f|0;F=a[H+C>>0]|0;D=a[K+p>>0]|0;A=a[K+C>>0]|0;C=D&255;G=A&255;E=C-G|0;W=(E|0)>-1?E:0-E|0;E=F&255;X=E-G|0;Y=(X|0)>-1?X:0-X|0;X=C+E+(B(G,-2)|0)|0;G=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[H+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(G|0)?((Y|0)>(G|0)?A:D):F)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{F=0;D=0;while(1){A=F+(d[m+D>>0]|0)|0;D=D+3|0;if(D>>>0>=p>>>0){Z=A;break}else F=A}}F=(o|0)==0|Z>>>0<i>>>0;i=F?Z:i;h=F?o:h;o=o+1|0}while((o|0)!=5);o=B(J,s)|0;a[b+o>>0]=h;if(!u){K=c[k+(h*12|0)>>2]|0;L=0;do{F=L;L=L+1|0;a[b+(L+o)>>0]=a[K+F>>0]|0}while((L|0)!=(l|0))}J=J+1|0;if((J|0)==(g|0))break;else{z=h;I=i}}M=c[k>>2]|0;N=c[k+12>>2]|0;O=c[k+24>>2]|0;P=c[k+36>>2]|0;Q=c[k+48>>2]|0;R=v;S=w;T=x;U=y;V=0}}zq(M);c[R>>2]=0;zq(N);c[S>>2]=0;zq(O);c[T>>2]=0;zq(P);c[U>>2]=0;zq(Q);n=V;Ia=j;return n|0}function uq(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=Ia;Ia=Ia+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;oq(j,k,l,d,e,f);f=c[n>>2]|0;gq(j+28|0);j=c[m>>2]|0;if(j|0)zq(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Fu(b,104706)|0;if(!l){zq(j);Ia=i;return f|0}hv(j,1,k,l)|0;Lu(l)|0;zq(j);Ia=i;return f|0}function vq(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(a|0)!=0):0){b=Ys(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[557122]=(c[557122]|0)+a;d=b+8|0}else d=0;Wv(d|0,0,a|0)|0;return d|0}function wq(a,b,c){a=a|0;b=b|0;c=c|0;Wv(a|0,b&255|0,c|0)|0;return}function xq(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(b|0)!=0):0){d=Ys(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[557122]=(c[557122]|0)+b;e=d+8|0}else e=0;Wv(e|0,0,b|0)|0;return e|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[557122]=b-(c[a+-4>>2]|0)+(c[557122]|0);d=$s(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(d|0)!=0):0){a=Ys(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[557122]=(c[557122]|0)+d;f=a+8|0}else f=0;Wv(f|0,0,d|0)|0;e=f;return e|0}function zq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;if(c[555799]|0){Ia=b;return}if(!a){Ia=b;return}c[557121]=(c[557121]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;vv(97067,e)|0;Nu(c[8745]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;wt(1715360,97067,d)|0;Cn(1715360);Ia=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0<d>>>0)}c[557122]=(c[557122]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Zs(f);Ia=b;return}function Aq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[557120]|0;c[557120]=d+1;e=Ys(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[557122]|0)+92|0;c[557122]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[557120]=d+2;if(!i){j=0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Ys(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[557122]=f+i;j=d+8|0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(g|0)!=0):0){h=Ys(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[557122]=(c[557122]|0)+g;i=h+8|0}else i=0;Wv(i|0,0,g|0)|0;j=f;k=i}else{c[557122]=f-(c[a+-4>>2]|0)+(c[557122]|0);i=$s(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=c[d>>2]|0;k=i+8|0}c[b>>2]=k;Wv(k+e|0,0,j-e|0)|0;return 0}function Cq(a){a=a|0;Ro(a);return}function Dq(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function Eq(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}Fq(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;Fq(b);return}function Fq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ia;Ia=Ia+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=f;p=h;q=j;r=l;s=n;t=0;while(1){u=(o<<5|o>>>27)+1518500249+s+(r&~p|q&p)+(c[e+(t<<2)>>2]|0)|0;v=p<<30|p>>>2;t=t+1|0;if((t|0)==20)break;else{w=q;x=o;o=u;q=v;s=r;r=w;p=x}}p=u;u=o;o=v;v=q;q=r;r=20;while(1){y=(p<<5|p>>>27)+1859775393+(o^u^v)+q+(c[e+(r<<2)>>2]|0)|0;z=u<<30|u>>>2;r=r+1|0;if((r|0)==40)break;else{s=o;t=p;p=y;o=z;q=v;v=s;u=t}}u=y;y=p;p=z;z=o;o=v;v=40;while(1){A=(u<<5|u>>>27)+-1894007588+o+((z|p)&y|z&p)+(c[e+(v<<2)>>2]|0)|0;B=y<<30|y>>>2;v=v+1|0;if((v|0)==60)break;else{q=p;r=u;u=A;p=B;o=z;z=q;y=r}}y=A;A=u;u=B;B=p;p=z;z=60;while(1){C=(y<<5|y>>>27)+-899497514+(u^A^B)+p+(c[e+(z<<2)>>2]|0)|0;D=A<<30|A>>>2;z=z+1|0;if((z|0)==80)break;else{o=u;v=y;y=C;u=D;p=B;B=o;A=v}}c[a>>2]=C+f;c[g>>2]=y+h;c[i>>2]=D+j;c[k>>2]=u+l;c[m>>2]=B+n;c[a+92>>2]=0;Ia=b;return}function Gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Ia;Ia=Ia+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=0;s=0;t=d;u=b;while(1){v=t+-1|0;w=a[u>>0]|0;c[k>>2]=r+1;a[h+28+r>>0]=w;w=s+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)Fq(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=c[k>>2]|0;s=c[i>>2]|0;t=v;u=u+1|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){Eq(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;wt(e,97089,g)|0;Ia=f;return y|0}function Hq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0<h>>>0){t=q;u=15;while(1){v=t+1|0;w=a[t>>0]|0;x=u+(w&255)|0;if(w<<24>>24==-1&v>>>0<h>>>0){t=v;u=x}else{y=v;z=x;break}}}else{y=q;z=15}else{y=q;z=s}A=o+z|0;B=y+z|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;x=y;v=o;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=y+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;s=x+2|0;if(p>>>0<e>>>0){F=s;break}x=r&15;a:do if((x|0)==15){q=s;E=15;while(1){if(q>>>0>=l>>>0){G=q;H=E;break a}w=q+1|0;D=a[q>>0]|0;I=E+(D&255)|0;if(D<<24>>24==-1){q=w;E=I}else{G=w;H=I;break}}}else{G=s;H=x}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;x=A+4|0;s=p+4|0;r=x;t=s+(0-(c[30080+(r-s<<2)>>2]|0))|0;s=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[x>>0]=s;a[x+1>>0]=s>>8;a[x+2>>0]=s>>16;a[x+3>>0]=s>>24;J=x;K=r;L=t}else{t=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=t;a[A+1>>0]=t>>8;a[A+2>>0]=t>>16;a[A+3>>0]=t>>24;t=A+4|0;J=t;K=t;L=p+4|0}t=A+4+H|0;if(t>>>0>f>>>0){if(t>>>0>m>>>0){F=G;break}r=A+12|0;x=(f>>>0>r>>>0?f:r)+-1+(0-K)&-8;s=J;u=L;while(1){E=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[s>>0]=E;a[s+1>>0]=E>>8;a[s+2>>0]=E>>16;a[s+3>>0]=E>>24;E=s+4|0;q=u+4|0;I=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[E>>0]=I;a[E+1>>0]=I>>8;a[E+2>>0]=I>>16;a[E+3>>0]=I>>24;s=s+8|0;if(s>>>0>=f>>>0)break;else u=u+8|0}u=r+x|0;if(u>>>0<t>>>0){s=u;u=L+8+x|0;while(1){a[s>>0]=a[u>>0]|0;s=s+1|0;if((s|0)==(t|0))break;else u=u+1|0}}}else{u=J;s=L;while(1){x=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[u>>0]=x;a[u+1>>0]=x>>8;a[u+2>>0]=x>>16;a[u+3>>0]=x>>24;x=u+4|0;r=s+4|0;p=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;a[x>>0]=p;a[x+1>>0]=p>>8;a[x+2>>0]=p>>16;a[x+3>>0]=p>>24;u=u+8|0;if(u>>>0>=t>>>0)break;else s=s+8|0}}n=G;o=t}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=y;else{Vv(o|0,y|0,z|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[554964]|c[554962]|0){Wv(b|0,0,d|0)|0;return}if((c[554977]|0)==(c[554975]|0)?(c[554978]|0)==(c[554976]|0):0){Jq(0,b,d);return}if((d|0)<=0)return;Wv(b|0,0,d|0)|0;return}function Jq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c[8738]=e;if(ka(28)|0){Wv(d|0,0,e|0)|0;return}a=c[554963]|0;c[554963]=a+1;if(!((a|0)<3|(c[554964]|0)!=0)){Wv(d|0,0,e|0)|0;return}c[742739]=1;a=c[554976]|0;f=(e|0)/(((a|0)==0?1:a<<1)|0)|0;a=(c[554975]|0)==44100?(f|0)/2|0:f;f=(c[8737]|0)==-1;g=Xr()|0;if(!f){f=(g-(c[8737]|0)|0)>500;c[8737]=Xr()|0;if(f){if((a|0)<=0)return;Wv(d|0,0,a<<1|0)|0;return}}else c[8737]=g;c[557128]=0;Kq(2754124,a);Kq(2767676,a);Kq(2781228,a);Kq(2794780,a);Kq(2808332,a);Kq(2821884,a);Kq(2835436,a);Kq(2848988,a);Kq(2862540,a);Kq(2876092,a);Kq(2889644,a);Kq(2903196,a);Kq(2916748,a);Kq(2930300,a);Kq(2943852,a);Kq(2957404,a);if(c[557128]|0)c[554970]=(c[554970]|0)+1;g=(c[555267]|0)==0;if(!g){if(c[690587]|0)Wv(2808332,0,e|0)|0;if(c[693975]|0)Wv(2821884,0,e|0)|0;if(c[697363]|0)Wv(2835436,0,e|0)|0;if(c[700751]|0)Wv(2848988,0,e|0)|0}f=g?16:8;g=(a|0)>0;if(g){h=2;do{i=(h|0)/2|0;j=0;do{k=j+i|0;l=0;do{m=2754124+(j*13552|0)+(l<<1)|0;n=(b[2754124+(k*13552|0)+(l<<1)>>1]|0)+(b[m>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)o=((n+24576|0)/5|0)+-24576|0;else o=n;else o=((n+-24576|0)/5|0)+24576|0;b[m>>1]=o;l=l+1|0}while((l|0)!=(a|0));j=j+h|0}while(j>>>0<f>>>0);h=h<<1}while(h>>>0<=f>>>0)}else{h=2;do{o=0;do o=o+h|0;while(o>>>0<f>>>0);h=h<<1}while(h>>>0<=f>>>0)}f=c[555247]|0;if((f|0)!=256&g){h=0;do{o=2754124+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0))}if(!((c[688530]|0)==0|(c[557129]|0)==0)?(h=c[557127]|0,h|0):0){f=(B(c[555248]|0,h)|0)>>16;if(0)Xs(2228516,1727776,a);if(g){h=0;do{o=1727776+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0));h=0;do{f=2754124+(h<<1)|0;o=(b[1727776+(h<<1)>>1]|0)+(b[f>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)p=((o+24576|0)/5|0)+-24576|0;else p=o;else p=((o+-24576|0)/5|0)+24576|0;b[f>>1]=p;h=h+1|0}while((h|0)!=(a|0))}}h=c[554975]|0;p=c[554976]|0;if((h|0)==22050&(p|0)==1){if(g){f=0;do{b[d+(f<<1)>>1]=b[2754124+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(a|0))}}else if((h|0)==44100&(p|0)==2?(p=a<<2,g):0){g=0;do{b[d+(g<<1)>>1]=b[2754124+(g>>>2<<1)>>1]|0;g=g+1|0}while((g|0)<(p|0))}p=c[742746]|0;if(!p)q=h;else{Ta[p&15](d,(e|0)/2|0);q=c[554975]|0}if(((q|0)==22050&(c[554976]|0)==1&(c[554969]|0)!=0?(q=c[742747]|0,e=10584e3-((c[q+16>>2]|0)/2|0)|0,p=(a|0)<(e|0)?a:e,(p|0)>0):0)?(Ko(b[d>>1]|0,q),(p|0)!=1):0){q=1;do{Ko(b[d+(q<<1)>>1]|0,c[742747]|0);q=q+1|0}while((q|0)<(p|0))}c[742739]=0;return}function Kq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;wq(a,0,8192);if(1<<c[a+8240>>2]&c[781382]){Lq(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Lq(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=c[h>>2]|0;m=0;while(1){n=d-m|0;o=g-l|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=m+f|0;q=l+k|0;r=(n|0)>(q|0)?n:q;q=m+-1|0;n=0;s=l;t=m;while(1){b[a+(t<<1)>>1]=b[o+(s<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=l+-1-r|0;m=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((m|0)>=(d|0)){u=14;break}else l=s?t:0}if((u|0)==14)return;if((g|0)>(l|0))return;c[a+11548>>2]=0;c[e>>2]=0;c[a+8236>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Lq(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;f=a+12012|0;c[a+12008>>2]=c[f>>2];g=c[554976]|0;h=(((d<<1|0)/(((g|0)==0?1:g<<1)|0)|0)*1e3|0)/(c[554975]|0)|0;g=Xr()|0;i=((((c[f>>2]|0)+h|0)*6|0)+(g<<1)|0)/8|0;h=g+-200|0;c[f>>2]=(i|0)>(h|0)?i:h;h=a+12004|0;c[h>>2]=0;Wv(a+12016|0,0,1536)|0;if((d|0)>0){i=a+11544|0;f=a+8228|0;g=a+8232|0;j=a+8224|0;k=a+11552|0;l=a+8244|0;m=a+8608|0;n=a+11628|0;o=a+8240|0;p=a+11992|0;q=a+11996|0;r=a+11540|0;s=d;d=a;while(1){t=b[i>>1]|0;u=t<<16>>16;if(t<<16>>16<183){t=183-u|0;v=(t|0)<(s|0)?t:s;Vv(d|0,a+8244+(u<<1)|0,v<<1|0)|0;b[i>>1]=v+(e[i>>1]|0);w=s-v|0;x=d+(v<<1)|0}else{w=s;x=d}v=c[h>>2]|0;if((v|0)<64){u=c[f>>2]|0;c[a+12016+(v*24|0)>>2]=u;c[a+12016+(v*24|0)+4>>2]=c[g>>2];t=c[j>>2]|0;c[a+12016+(v*24|0)+8>>2]=t;y=a+12016+(v*24|0)+12|0;c[y>>2]=0;if(t|0){z=c[t+8>>2]|0;c[y>>2]=(u|0)/(((z|0)>1?z:1)|0)|0}c[a+12016+(v*24|0)+16>>2]=c[k>>2];c[a+12016+(v*24|0)+20>>2]=c[554970];c[h>>2]=v+1}v=(w|0)>0;if(!v)break;z=b[m>>1]|0;u=c[j>>2]|0;y=(u|0)==0;if(y)A=0;else A=((c[u>>2]>>3|0)/3|0|0)%3|0;t=c[n>>2]>>3;C=((t|0)/3|0|0)%3|0;D=(A|0)>(C|0)?A:C;C=c[781383]|0;E=c[o>>2]|0;F=1<<E+4;G=1<<E;c[p>>2]=(G&C|0)==0?((F&C|0)==0|(D|0)>1?D:1):2;if(y)H=0;else H=((c[u>>2]>>3|0)/9|0|0)%3|0;u=((t|0)/9|0|0)%3|0;t=(H|0)>(u|0)?H:u;u=(t|0)==2?12:t;t=(u|0)==1?8:u;c[q>>2]=t;u=c[781385]|0;if(!(u&F))I=t;else{F=(t|0)>8?t:8;c[q>>2]=F;I=F}if(!(u&G))J=I;else{G=(I|0)>12?I:12;c[q>>2]=G;J=G}G=17<<E;if((u&G|0)==(G|0))c[q>>2]=(J|0)>15?J:15;Mq(a,l);G=c[781384]|0;u=c[o>>2]|0;if(!(1<<u&G)){if(1<<u+4&G|0){G=0;do{u=a+8244+(G<<1)|0;b[u>>1]=b[u>>1]&-4089;G=G+1|0}while((G|0)!=183)}}else{G=0;do{u=a+8244+(G<<1)|0;E=b[u>>1]|0;F=E<<16>>16;if(E<<16>>16>-1)K=F&-4096;else K=0-((0-(F<<16)|0)>>>16&61440)|0;b[u>>1]=K;G=G+1|0}while((G|0)!=183)}G=c[q>>2]|0;if((G|0)>0){u=16-G|0;F=((B(u,b[l>>1]|0)|0)+(B(G,z<<16>>16)|0)|0)/16|0;b[l>>1]=F;E=F;F=1;do{t=a+8244+(F<<1)|0;E=((B(G,E<<16>>16)|0)+(B(u,b[t>>1]|0)|0)|0)/16|0;b[t>>1]=E;F=F+1|0}while((F|0)!=183)}b[i>>1]=0;Vv(a+8610+(((c[r>>2]|0)%8|0)*366|0)|0,l|0,366)|0;c[r>>2]=((c[r>>2]|0)+1|0)%8|0;if(v){s=w;d=x}else break}x=c[h>>2]|0;if((x|0)<64)L=x;else return}else L=0;x=c[a+8228>>2]|0;c[a+12016+(L*24|0)>>2]=x;c[a+12016+(L*24|0)+4>>2]=c[a+8232>>2];d=c[a+8224>>2]|0;c[a+12016+(L*24|0)+8>>2]=d;w=a+12016+(L*24|0)+12|0;c[w>>2]=0;if(d|0){s=c[d+8>>2]|0;c[w>>2]=(x|0)/(((s|0)>1?s:1)|0)|0}c[a+12016+(L*24|0)+16>>2]=c[a+11552>>2];c[a+12016+(L*24|0)+20>>2]=c[554970];c[h>>2]=L+1;return}function Mq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=Ia;Ia=Ia+352|0;f=e;Wv(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l+1|0)/(k|0)|0;n=a+11556|0;Vv(f|0,n|0,352)|0;if(!((l|0)%(k|0)|0)){c[a+11912>>2]=c[a+11620>>2];c[a+11908>>2]=c[a+11616>>2];c[a+11916>>2]=c[a+11612>>2]}Oq(a,n);Nq(n,d,183,a);n=1735968;l=n+128|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(l|0));Nq(f,1735968,64,a);f=0;do{n=d+(f<<1)|0;l=B(f,b[n>>1]|0)|0;b[n>>1]=((B(64-f|0,b[1735968+(f<<1)>>1]|0)|0)+l|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11988|0;o=c[f>>2]|0;p=m;q=k;r=f;s=j}else{j=a+8228|0;f=c[j>>2]|0;Wv(d|0,0,366)|0;k=f+1|0;f=a+11556|0;m=a+11584|0;if(c[a+11564>>2]|0?c[m>>2]|0:0){Nq(f,d,64,a);f=0;do{l=d+(f<<1)|0;b[l>>1]=(B(64-f|0,b[l>>1]|0)|0)/64|0;f=f+1|0}while((f|0)!=64)}c[m>>2]=0;m=a+11988|0;c[m>>2]=0;o=0;p=k;q=1;r=m;s=j}j=(c[s>>2]|0)+1|0;c[s>>2]=j;m=a+12e3|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[r>>2]=o+1;o=a+8232|0;c[o>>2]=(c[o>>2]|0)+1;if(((i?(c[a+8236>>2]|0)!=0:0)?(i=c[h+12>>2]|0,(i&128|0)==0):0)?(r=c[h+16>>2]|0,!((r|0)<=(i|0)|(j|0)<(B(r,q)|0))):0){r=B(i,q)|0;c[s>>2]=r;t=r}else t=j;a:do if(c[g>>2]|0?(c[a+11548>>2]|0)==0:0){if(!k){c[g>>2]=0;break}j=c[h+12>>2]|0;if(!(j&128)){r=c[h+16>>2]|0;if((r|0)>(j|0))break;u=(j|0)>0&(r|0)==0?j:32}else u=0;do if((p|0)<(u|0)){if((p|0)<32){j=0;r=p;while(1){j=(c[h+20+(r*20|0)+8>>2]|0)>0?1:j;if((r|0)>=31)break;else r=r+1|0}if((p|0)<31)v=(c[h+20+(p*20|0)+12>>2]|0)==1?1:j;else v=j}else v=0;if(!(c[a+11992>>2]|0))if(!v)break;else break a;else{r=c[h+8>>2]|0;if((v|0)==0?(t|0)>=((((r|0)>1?r:1)<<5)+128|0):0)break;else break a}}while(0);c[g>>2]=0}while(0);t=a+8220|0;v=c[t>>2]|0;if(!v){Ia=e;return}h=a+11548|0;if(!((k|0)==0&(c[h>>2]|0)!=0)){Ia=e;return}k=a+11552|0;p=c[k>>2]|0;if(p>>>0>=64){Ia=e;return}c[557128]=1;u=c[v+44560+(p<<2)>>2]|0;do if(!(u&4)){b:do if(u&2){if((p|0)<=0){c[554971]=p;w=0;break}if(!(u&1)){r=p;while(1){q=r+-1|0;c[k>>2]=q;if((r|0)<=1){x=q;y=47;break b}if(!(c[v+44560+(q<<2)>>2]&1))r=q;else{x=q;y=47;break}}}else{x=p;y=47}}else{r=p+1|0;c[k>>2]=r;x=r;y=47}while(0);if((y|0)==47){c[554971]=x;if(x>>>0>63)break;else w=x}r=v+43536+(w<<4)|0;if((((c[r>>2]|0)>63?(c[v+43536+(w<<4)+4>>2]|0)>63:0)?(c[v+43536+(w<<4)+8>>2]|0)>63:0)?(c[v+43536+(w<<4)+12>>2]|0)>63:0){c[h>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;c[o>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;Ia=e;return}j=c[v+43536+(w<<4)+(c[a+8240>>2]<<2)>>2]|0;if((j|0)>63)z=0;else z=v+16+(((j|0)>0?j:0)*680|0)|0;c[g>>2]=z;c[s>>2]=0;c[o>>2]=0;b[a+11544>>1]=183;c[m>>2]=Pq(v,r)|0;Ia=e;return}else{c[k>>2]=-1;c[554971]=-1}while(0);c[h>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;c[o>>2]=0;o=t;c[o>>2]=0;c[o+4>>2]=0;Ia=e;return}function Nq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=(c[a+84>>2]|0)!=0;h=c[a+80>>2]|0;i=c[a+28>>2]|0;if((i|0)==0?(c[f+11992>>2]|0)==0:0){c[a+4>>2]=0;Wv(d|0,0,e<<1|0)|0;return}j=a+4|0;k=c[j>>2]|0;l=a+12|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=(m|0)==(n|0)?k:c[l>>2]|0;p=(i*3|0)/2|0;i=c[a>>2]|0;q=(e|0)>0;if((i|0)==8&q){r=(h|0)==2&1;s=0;t=k;u=o;while(1){v=c[a+96+((t>>>10&63)<<2)>>2]|0;w=(B((c[a+96+(((t+1024|0)>>>10&63)<<2)>>2]|0)-v|0,t&1023)|0)+(v<<10)>>10;v=u<<r;x=c[a+96+((v>>>10&63)<<2)>>2]|0;y=t+m&65535;z=u+n&131071;b[d+(s<<1)>>1]=(B((((B((c[a+96+(((v+1024|0)>>>10&63)<<2)>>2]|0)-x|0,v&1023)|0)+(x<<10)>>10|0)/2|0)+w|0,p)|0)/3072|0;s=s+1|0;if((s|0)==(e|0)){A=y;C=z;break}else{t=y;u=z}}}else{A=k;C=o}switch(i|0){case 7:case 0:{if(q){o=0;k=A;u=C;while(1){t=(k&32768|0)==0?(k*3|0)+-49152|0:(49152-k|0)*3|0;if(g){s=(k|0)>57343;r=u&65535;if(r>>>0>57343)D=((r^65535)*24572|0)>>>13;else D=((r*24572|0)>>>0)/57344|0;E=(((t|0)/4|0)*3|0)+-12286+(((s?65535-k|0:k)*24572|0)/((s?8192:57344)|0)|0)|0;F=(((((u&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0)|0)/4|0)*3|0)+-12286+D|0}else{r=u&65535;E=t;F=(u&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0}r=k+m&65535;t=u+n&131071;b[d+(o<<1)>>1]=(B(((E|0)/4|0)+((F|0)/8|0)|0,p)|0)/3072|0;o=o+1|0;if((o|0)==(e|0)){G=r;H=t;I=17;break}else{k=r;u=t}}}else{J=A;K=C}break}default:{G=A;H=C;I=17}}if((I|0)==17){if((i|0)==1&q){C=(h|0)==2&1;A=0;u=G;k=H;while(1){o=k<<C;do if(g){F=(u|0)>61439;E=((F?65535-u|0:u)*24572|0)/((F?4096:61440)|0)|0;F=o&65535;if(F>>>0>61439){L=E;M=((F^65535)*24572|0)>>>12;break}else{L=E;M=((F*24572|0)>>>0)/61440|0;break}}else{F=(u|0)>57343;E=((F?65535-u|0:u)*24572|0)/((F?8192:57344)|0)|0;F=o&65535;if(F>>>0>57343){L=E;M=((F^65535)*24572|0)>>>13;break}else{L=E;M=((F*24572|0)>>>0)/57344|0;break}}while(0);o=u+m&65535;F=k+n&131071;b[d+(A<<1)>>1]=(B(L+-12286+((M+-12286|0)/2|0)|0,p)|0)/3072|0;A=A+1|0;if((A|0)==(e|0)){N=o;O=F;break}else{u=o;k=F}}}else{N=G;O=H}if((i|0)==2&q){H=(h|0)==2&1;G=0;k=N;u=O;while(1){A=u<<H;if(g){P=2;Q=((((A|0)/2|0)+-32768|0)/4|0)+(((A&65535)+-32768|0)/4|0)|0;R=(((((k|0)/2|0)+-32768|0)/4|0)+(((k&65535)+-32768|0)/4|0)|0)/2|0}else{P=4;Q=(A&65535)+-32768|0;R=(k+-32768|0)/4|0}A=k+m&65535;M=u+n&131071;b[d+(G<<1)>>1]=(B((((Q|0)/(P|0)|0|0)/2|0)+R|0,p)|0)/3072|0;G=G+1|0;if((G|0)==(e|0)){J=A;K=M;break}else{k=A;u=M}}}else{J=N;K=O}}if((i+-3|0)>>>0<2){O=(i|0)==3?32768:45056;N=g?O+6144|0:O;if(q)if((h|0)==2){O=0;u=J;k=K;while(1){G=u+m&65535;R=k+n&131071;b[d+(O<<1)>>1]=(B(((k<<1&65534)>>>0<N>>>0?-3071:3071)+((u|0)<(N|0)?-6143:6143)|0,p)|0)/3072|0;O=O+1|0;if((O|0)==(e|0)){S=G;T=R;I=40;break}else{u=G;k=R}}}else{k=0;u=J;O=K;while(1){R=u+m&65535;G=O+n&131071;b[d+(k<<1)>>1]=(B(((O&65535)>>>0<N>>>0?-3071:3071)+((u|0)<(N|0)?-6143:6143)|0,p)|0)/3072|0;k=k+1|0;if((k|0)==(e|0)){S=R;T=G;I=40;break}else{u=R;O=G}}}else{U=J;V=K}}else{S=J;T=K;I=40}a:do if((I|0)==40){b:do if((i|0)==5&q){K=(h|0)==2&1;if(g){J=32768>>>K;O=0;u=S;k=T;while(1){N=(u&16384|0)!=0;if(!(u&32768))W=N?32768-u|0:u;else W=((N?65536-u|0:u+-32768|0)<<1|0)/3|0;N=u+m&65535;G=k+n&131071;b[d+(O<<1)>>1]=(B(W+-8192+((k&J|0)==0?-1535:1535)|0,p)|0)/3072|0;O=O+1|0;if((O|0)==(e|0)){X=N;Y=G;break b}else{u=N;k=G}}}k=0;u=S;O=T;while(1){J=(u&16384|0)!=0;if(!(u&32768))Z=J?32768-u|0:u;else Z=((J?65536-u|0:u+-32768|0)<<1|0)/3|0;J=O<<K;G=J&65535;N=(J&16384|0)!=0;if(!(J&32768))_=N?32768-G|0:G;else _=((N?65536-G|0:G+-32768|0)<<1|0)/3|0;G=u+m&65535;N=O+n&131071;b[d+(k<<1)>>1]=(B(Z+-8192+((_+-8192|0)/2|0)|0,p)|0)/3072|0;k=k+1|0;if((k|0)==(e|0)){X=G;Y=N;break}else{u=G;O=N}}}else{X=S;Y=T}while(0);if((i|0)==6){O=a+88|0;if(c[O>>2]|0?(u=64-(c[a+32>>2]>>16)|0,k=(u|0)>1?u:1,u=(k|0)>63?(k<<2)+-192|0:k,q):0){k=a+44|0;K=a+52|0;N=a+48|0;G=c[k>>2]|0;J=0;do{do if(G)if((c[O>>2]|0)>1){R=(B(u-G|0,p)|0)/(u|0)|0;P=(B(G,p)|0)/(u|0)|0;Q=B(c[N>>2]|0,R)|0;b[d+(J<<1)>>1]=((B(c[K>>2]|0,P)|0)+Q|0)/2048|0;$=G;break}else{b[d+(J<<1)>>1]=(B(c[N>>2]|0,p)|0)/2048|0;$=G;break}else{c[N>>2]=c[K>>2];c[K>>2]=(tp(12286)|0)+-6143;b[d+(J<<1)>>1]=(B(c[N>>2]|0,p)|0)/2048|0;$=c[k>>2]|0}while(0);G=($+1|0)%(u|0)|0;c[k>>2]=G;J=J+1|0}while((J|0)!=(e|0));if((c[a>>2]|0)!=6){U=X;V=Y;break}}if(!(c[a+88>>2]|0)){if((m|0)>78)aa=(m<<3)+1120|0;else aa=(B(79-m|0,-60)|0)+1752|0;J=(aa|0)>0?aa:0;G=g?0:c[a+40>>2]|0;if(q){k=a+24|0;u=J>>>1;N=a+20|0;K=a+36|0;O=(m+500|0)/3|0;if(!G){Q=0;P=X;while(1){R=c[k>>2]&1^1;c[k>>2]=R;if(!R)ba=c[N>>2]|0;else{R=(tp(J)|0)-u|0;H=R+(c[N>>2]|0)|0;c[N>>2]=H;ba=H}H=c[K>>2]|0;R=(2048/(((H|0)<48?64:H+16|0)|0)|0)+48|0;H=(ba|0)<6143?ba:6143;c[N>>2]=(H|0)>-6143?H:-6143;b[d+(Q<<1)>>1]=(B(B(ba>>6,p)|0,(R|0)>64?R:64)|0)/2048|0;R=P+m&65535;Q=Q+1|0;if((Q|0)==(e|0)){U=R;V=Y;break a}else P=R}}P=0;Q=X;while(1){R=c[k>>2]&1^1;c[k>>2]=R;if(R|0){R=(tp(J)|0)-u|0;c[N>>2]=R+(c[N>>2]|0)}if(((B(Q+101|0,Q+317|0)|0)&8191|0)<(O|0)){R=(B((tp(12286)|0)+-6143|0,G)|0)/1792|0;H=R+(c[N>>2]|0)|0;c[N>>2]=H;ca=H}else ca=c[N>>2]|0;H=c[K>>2]|0;R=(2048/(((H|0)<48?64:H+16|0)|0)|0)+48|0;H=(ca|0)<6143?ca:6143;c[N>>2]=(H|0)>-6143?H:-6143;b[d+(P<<1)>>1]=(B(B(ca>>6,p)|0,(R|0)>64?R:64)|0)/2048|0;R=Q+m&65535;P=P+1|0;if((P|0)==(e|0)){U=R;V=Y;break}else Q=R}}else{U=X;V=Y}}else{U=X;V=Y}}else{U=X;V=Y}}while(0);c[j>>2]=U;c[l>>2]=V;V=c[a+92>>2]|0;if((V|0)<=0)return;a=(c[f+11540>>2]|0)-((V|0)==1?2:4)|0;if((a|0)>-1)da=a;else da=8-((0-a|0)%8|0)|0;a=(da|0)%8|0;if(!q)return;q=0;do{da=d+(q<<1)|0;b[da>>1]=((b[f+8610+(a*366|0)+(q<<1)>>1]<<1)+(b[da>>1]<<2)|0)/4|0;q=q+1|0}while((q|0)!=(e|0));return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;d=a+8224|0;e=c[d>>2]|0;f=(e|0)==0;if(!f?(g=c[e+8>>2]|0,h=(g|0)>1?g:1,g=a+8228|0,i=c[g>>2]|0,j=(i|0)/(h|0)|0,k=i-(B(j,h)|0)|0,!(f|j>>>0>31)):0){f=(c[e+8>>2]|0)<9;l=e+20+(j*20|0)|0;m=e+20+(j*20|0)+4|0;n=c[m>>2]|0;c[b>>2]=n;o=c[e+20+(j*20|0)+8>>2]|0;p=o<<8;q=b+28|0;c[q>>2]=p;r=c[l>>2]|0;s=r<<16;t=b+32|0;c[t>>2]=s;c[b+60>>2]=r;c[b+64>>2]=n;c[b+56>>2]=o;o=e+20+(j*20|0)+12|0;u=c[o>>2]|0;switch(u|0){case 1:{if((j|0)>0){v=c[a+11908>>2]|0;w=c[a+11916>>2]<<8}else{v=24;w=p}x=h-k|0;y=((B(x<<16,v)|0)+(B(s,k)|0)|0)/(h|0)|0;c[t>>2]=y;v=((B(w,x)|0)+(B(p,k)|0)|0)/(h|0)|0;c[q>>2]=v;z=y;A=v;C=0;break}case 4:{v=(B(p,k)|0)/(h|0)|0;c[q>>2]=v;z=s;A=v;C=1;break}case 5:{v=(B(p,h-k|0)|0)/(h|0)|0;c[q>>2]=v;z=s;A=v;C=0;break}case 6:{v=c[e+20+(((((i|0)/((f?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[t>>2]=v;z=v;A=p;C=0;break}case 7:{v=c[e+20+(((((i|0)/((f?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[t>>2]=v;z=v;A=p;C=0;break}default:{z=s;A=p;C=0}}c[b+36>>2]=r;c[b+40>>2]=A;A=b+68|0;c[A>>2]=0;p=b+72|0;c[p>>2]=0;s=e+20+(j*20|0)+16|0;if(!(c[s>>2]|0)){c[a+11988>>2]=0;D=z}else{do if(!k){z=(u|0)!=1&((j|0)==0?1:(r|0)!=(c[a+11908>>2]|0));v=a+11988|0;f=c[v>>2]|0;i=c[a+8220>>2]|0;y=(n|0)<7?n:7;x=(y|0)>0?y:0;y=c[i+16+(x*680|0)+12>>2]|0;if(!(y&128)){w=c[i+16+(x*680|0)+16>>2]|0;if((w|0)>(y|0))E=16777216;else{F=(y|0)>0&(w|0)==0?y:32;G=17}}else{F=0;G=17}if((G|0)==17){y=c[i+16+(x*680|0)+8>>2]|0;E=B((y|0)>1?y:1,F)|0}y=(u|0)==3;if(z|(f|0)>=(E|0)){if(!(C|y^1))G=21}else if(!(y|C))G=21;if((G|0)==21?(n|0)==(c[a+11912>>2]|0):0)break;c[v>>2]=0}while(0);Qq(a,l,b);D=c[t>>2]|0}l=c[a+8240>>2]|0;n=1<<l+4;if(!(n&c[781382]))H=D;else{C=D+-786432|0;c[t>>2]=C;H=C}C=H&65535;t=H>>16;D=((t+48|0)/12|0)+-4|0;if((H|0)>-1)I=t;else I=12-((0-t|0)%12|0)|0;t=(I|0)%12|0;I=B(c[30112+(t<<2)>>2]|0,65536-C|0)|0;E=((B(c[30112+(t+1<<2)>>2]|0,C)|0)+I|0)/22050|0;if((H|0)<2359296){H=E;I=D;while(1){C=I+1|0;t=(H|0)/2|0;if((I|0)<2){H=t;I=C}else{J=t;K=C;break}}}else{J=E;K=D}if((K|0)>3){D=J;E=K;while(1){K=D<<1;if((E|0)>4){D=K;E=E+-1|0}else{L=K;break}}}else L=J;J=(L|0)<32768?L:32768;L=(J|0)>8?J:8;J=b+8|0;c[J>>2]=L;E=c[o>>2]|0;o=c[A>>2]|0;A=(o|0)==2;a:do if((E|0)==2)if(A)switch((c[g>>2]|0)>>>1&7){case 1:{D=(L*130|0)>>>7;c[J>>2]=D;M=D;break a;break}case 2:{D=(L*132|0)>>>7;c[J>>2]=D;M=D;break a;break}case 3:{D=(L*130|0)>>>7;c[J>>2]=D;M=D;break a;break}case 5:{D=(L*126|0)>>>7;c[J>>2]=D;M=D;break a;break}case 6:{D=(L*124|0)>>>7;c[J>>2]=D;M=D;break a;break}case 7:{D=(L*126|0)>>>7;c[J>>2]=D;M=D;break a;break}default:{M=L;break a}}else G=45;else if(A)G=45;else M=L;while(0);b:do if((G|0)==45)switch((c[g>>2]|0)>>>1&7){case 1:{A=(L*129|0)>>>7;c[J>>2]=A;M=A;break b;break}case 2:{A=(L*130|0)>>>7;c[J>>2]=A;M=A;break b;break}case 3:{A=(L*129|0)>>>7;c[J>>2]=A;M=A;break b;break}case 5:{A=(L*127|0)>>>7;c[J>>2]=A;M=A;break b;break}case 6:{A=(L*126|0)>>>7;c[J>>2]=A;M=A;break b;break}case 7:{A=(L*127|0)>>>7;c[J>>2]=A;M=A;break b;break}default:{M=L;break b}}while(0);L=c[a+8220>>2]|0;g=c[m>>2]|0;m=(g|0)<7?g:7;g=(m|0)>0?m:0;do if((E|0)==3){if(c[s>>2]|0?(c[L+16+(g*680|0)+12>>2]&128|0)==0:0){N=M;break}m=(B(M,h-k|0)|0)/(h|0)|0;c[J>>2]=m;N=m}else N=M;while(0);if((o|0)==3){o=(B(c[b+76>>2]|0,N)|0)/256|0;c[J>>2]=o;O=o}else O=N;if(c[a+11548>>2]|0){N=(B(c[557127]>>8,c[q>>2]|0)|0)/256|0;c[q>>2]=(B(N,c[555248]|0)|0)/256|0}N=c[e>>2]|0;e=(N>>3|0)%3|0;o=N>>>2&1;J=c[p>>2]|0;p=(J>>3|0)%3|0;M=(e|0)>(p|0)?e:p;c[b+80>>2]=M;p=J>>>2&1;c[b+84>>2]=o>>>0>p>>>0?o:p;p=N>>>1&1;N=b+88|0;o=J>>>1&1;J=p>>>0>o>>>0?p:o;c[N>>2]=J;o=c[b>>2]|0;c:do if((o|0)!=6|(J|0)==0){p=(M|0)==0;e=b+16|0;c[e>>2]=(B(O,p?256:255)|0)/256|0;d:do switch(o|0){case 0:{switch(M|0){case 1:{c[e>>2]=(O*193|0)/256|0;break d;break}case 2:{c[e>>2]=(O*384|0)/256|0;break d;break}default:break d}break}case 7:{if(p){c[e>>2]=(O*254|0)/256|0;break c}switch(M|0){case 1:{c[e>>2]=(O*250|0)/256|0;break c;break}case 2:{c[e>>2]=(O*508|0)/256|0;break c;break}default:break c}break}default:{}}while(0);if(o>>>0<6&(M|0)>0)c[q>>2]=((c[q>>2]|0)*5|0)/4|0}else{e=a+11996|0;if((c[e>>2]|0)>11){c[N>>2]=2;c[e>>2]=0}c[b+16>>2]=(B(O,(M|0)==0?256:255)|0)/256|0}while(0);M=c[d>>2]|0;if(!M)P=0;else P=((c[M>>2]>>3|0)/3|0|0)%3|0;M=b+92|0;d=((c[a+11628>>2]>>3|0)/3|0|0)%3|0;a=(P|0)>(d|0)?P:d;c[M>>2]=a;d=c[781383]|0;if(!(d&n))Q=a;else{n=(a|0)>1?a:1;c[M>>2]=n;Q=n}if(!(d&1<<l))return;c[M>>2]=(Q|0)>2?Q:2;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function Pq(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;d=c[b>>2]|0;e=d>>>0<64;if((e?(f=c[a+16+(d*680|0)+12>>2]|0,(f&128|0)==0):0)?(g=c[a+16+(d*680|0)+16>>2]|0,(g|0)<=(f|0)):0){h=d;i=f;j=g}else k=7;do if((k|0)==7){g=c[b+4>>2]|0;f=g>>>0<64;if((f?(l=c[a+16+(g*680|0)+12>>2]|0,(l&128|0)==0):0)?(m=c[a+16+(g*680|0)+16>>2]|0,(m|0)<=(l|0)):0){h=g;i=l;j=m;break}m=c[b+8>>2]|0;l=m>>>0<64;if((l?(n=c[a+16+(m*680|0)+12>>2]|0,(n&128|0)==0):0)?(o=c[a+16+(m*680|0)+16>>2]|0,(o|0)<=(n|0)):0){h=m;i=n;j=o;break}o=c[b+12>>2]|0;n=o>>>0<64;if((n?(p=c[a+16+(o*680|0)+12>>2]|0,(p&128|0)==0):0)?(q=c[a+16+(o*680|0)+16>>2]|0,(q|0)<=(p|0)):0){h=o;i=p;j=q;break}if(e){q=c[a+16+(d*680|0)+8>>2]|0;p=(q|0)>1?q:1;q=c[a+16+(d*680|0)+12>>2]|0;r=(q&128|0)==0;if(r)s=((q|0)>0?(c[a+16+(d*680|0)+16>>2]|0)==0:0)?q:32;else s=0;if((B(s,p)|0)>=0){if(r)t=((q|0)>0?(c[a+16+(d*680|0)+16>>2]|0)==0:0)?q:32;else t=0;u=B(t,p)|0}else u=0}else u=0;if(f){f=c[a+16+(g*680|0)+8>>2]|0;p=(f|0)>1?f:1;f=c[a+16+(g*680|0)+12>>2]|0;q=(f&128|0)==0;if(q)v=((f|0)>0?(c[a+16+(g*680|0)+16>>2]|0)==0:0)?f:32;else v=0;if((u|0)<=(B(v,p)|0)){if(q)w=((f|0)>0?(c[a+16+(g*680|0)+16>>2]|0)==0:0)?f:32;else w=0;x=B(w,p)|0}else x=u}else x=u;if(l){l=c[a+16+(m*680|0)+8>>2]|0;p=(l|0)>1?l:1;l=c[a+16+(m*680|0)+12>>2]|0;f=(l&128|0)==0;if(f)y=((l|0)>0?(c[a+16+(m*680|0)+16>>2]|0)==0:0)?l:32;else y=0;if((x|0)<=(B(y,p)|0)){if(f)z=((l|0)>0?(c[a+16+(m*680|0)+16>>2]|0)==0:0)?l:32;else z=0;A=B(z,p)|0}else A=x}else A=x;if(!n){C=A;return C|0}n=c[a+16+(o*680|0)+8>>2]|0;p=(n|0)>1?n:1;n=c[a+16+(o*680|0)+12>>2]|0;l=(n&128|0)==0;if(l)D=((n|0)>0?(c[a+16+(o*680|0)+16>>2]|0)==0:0)?n:32;else D=0;if((A|0)>(B(D,p)|0)){C=A;return C|0}if(l)E=((n|0)>0?(c[a+16+(o*680|0)+16>>2]|0)==0:0)?n:32;else E=0;C=B(E,p)|0;return C|0}while(0);E=c[a+16+(h*680|0)+8>>2]|0;if(!(i&128))F=(i|0)>0&(j|0)==0?i:32;else F=0;C=B(F,(E|0)>1?E:1)|0;return C|0}function Qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=d+72|0;c[b>>2]=c[e+16+(f*680|0)>>2];g=c[e+16+(f*680|0)+12>>2]|0;if(g&128|0){c[d>>2]=8;if(c[e+16+(f*680|0)+8>>2]&1|0){h=d+32|0;c[h>>2]=(c[h>>2]|0)+-786432}h=0;do{i=c[e+16+(f*680|0)+20+(h*20|0)+4>>2]|0;j=i<<6&192|c[e+16+(f*680|0)+20+(h*20|0)>>2];k=c[e+16+(f*680|0)+20+(h*20|0)+16>>2]|0;l=(c[e+16+(f*680|0)+20+(h*20|0)+8>>2]<<1&14|i>>>2&1|c[e+16+(f*680|0)+20+(h*20|0)+12>>2]<<4&112|k&128)-(k<<1&256)|0;k=h<<1;c[d+96+(k<<2)>>2]=j-(j<<1&256)<<7;c[d+96+((k|1)<<2)>>2]=l<<7;h=h+1|0}while((h|0)!=32);c[d+68>>2]=0;return}h=c[e+16+(f*680|0)+8>>2]|0;l=(h|0)>1?h:1;k=(h|0)<9;h=k?4:8;j=k?2:4;k=c[e+16+(f*680|0)+16>>2]|0;i=a+11988|0;m=c[i>>2]|0;if((k|0)<=(g|0)|(m|0)<(B(l,k)|0))n=m;else{m=B(l,g)|0;c[i>>2]=m;n=m}m=(n|0)/(l|0)|0;i=n-(B(m,l)|0)|0;if((m|0)<=31?(m|0)<(((g|0)>0&(k|0)==0?g:32)|0):0){g=(m|0)<31?m:31;k=(g|0)>0?g:0;g=e+16+(f*680|0)+20+(k*20|0)|0;o=c[g>>2]|0;p=o<<16;q=e+16+(f*680|0)+20+(k*20|0)+8|0;r=c[q>>2]|0;s=r<<8;if((i|0)==(l+-1|0)){c[a+11928>>2]=o;c[a+11936>>2]=r;c[a+11932>>2]=c[e+16+(f*680|0)+20+(k*20|0)+4>>2]}r=e+16+(f*680|0)+20+(k*20|0)+12|0;o=c[r>>2]|0;switch(o|0){case 1:{if((m|0)>0){t=c[a+11928>>2]<<16;u=c[a+11936>>2]<<8}else{t=1572864;u=s}a=l-i|0;v=((B(t,a)|0)+(B(i<<16,c[g>>2]|0)|0)|0)/(l|0)|0;w=((B(u,a)|0)+(B(s,i)|0)|0)/(l|0)|0;break}case 3:{c[d+76>>2]=(l-i<<8|0)/(l|0)|0;v=p;w=s;break}case 4:{v=p;w=(B(s,i)|0)/(l|0)|0;break}case 5:{v=p;w=(B(s,l-i|0)|0)/(l|0)|0;break}case 6:{v=c[e+16+(f*680|0)+20+(((((n|0)/(j|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]<<16;w=s;break}case 7:{v=c[e+16+(f*680|0)+20+(((((n|0)/(h|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]<<16;w=s;break}default:{v=p;w=s}}s=c[e+16+(f*680|0)+20+(k*20|0)+4>>2]|0;c[d>>2]=s;if((c[e+16+(f*680|0)+20+(k*20|0)+16>>2]|0)!=0?(k=(s|0)<7?s:7,s=(k|0)>0?k:0,(c[e+16+(s*680|0)+12>>2]&128|0)!=0):0){c[b>>2]=c[e+16+(s*680|0)>>2];c[d>>2]=8;if(c[e+16+(s*680|0)+8>>2]&1|0){b=d+32|0;c[b>>2]=(c[b>>2]|0)+-786432}b=0;do{k=c[e+16+(s*680|0)+20+(b*20|0)+4>>2]|0;f=k<<6&192|c[e+16+(s*680|0)+20+(b*20|0)>>2];p=c[e+16+(s*680|0)+20+(b*20|0)+16>>2]|0;m=(c[e+16+(s*680|0)+20+(b*20|0)+8>>2]<<1&14|k>>>2&1|c[e+16+(s*680|0)+20+(b*20|0)+12>>2]<<4&112|p&128)-(p<<1&256)|0;p=b<<1;c[d+96+(p<<2)>>2]=f-(f<<1&256)<<7;c[d+96+((p|1)<<2)>>2]=m<<7;b=b+1|0}while((b|0)!=32);x=c[r>>2]|0}else x=o;o=d+32|0;c[o>>2]=v+-1572864+(c[o>>2]|0);o=d+36|0;c[o>>2]=(c[g>>2]|0)+-24+(c[o>>2]|0);o=c[q>>2]|0;c[d+40>>2]=(w*7|0)/(((o|0)>1?o:1)|0)|0;o=d+28|0;c[o>>2]=(B(c[o>>2]|0,w)|0)/1792|0;c[d+68>>2]=x;return}c[d+28>>2]=0;c[d>>2]=0;return}function Rq(){Rr();return}function Sq(){Sr();return}function Tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;wq(1727776,0,8192);c[557129]=0;wq(2754124,0,216832);c[e>>2]=c[555260];wt(1715360,97146,e)|0;Cn(1715360);if(c[555284]|0){f=0;Ia=d;return f|0}c[554975]=a;c[554976]=b;e=Pr(a,b)|0;if(!e){f=0;Ia=d;return f|0}c[554975]=0;c[554976]=0;f=e;Ia=d;return f|0}function Uq(){return Qr()|0}function Vq(a){a=a|0;c[742746]=a;return}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=xq(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=xq(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[554810]=(c[554810]|0)+1;e=d;return e|0}function Xq(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Rr();if(0){Rr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2754124+(d*13552|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2754124+(d*13552|0)+11548>>2]=0;c[e>>2]=0;c[2754124+(d*13552|0)+8236>>2]=0;c[2754124+(d*13552|0)+8232>>2]=0;e=2754124+(d*13552|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Sr()}zq(c[a+16>>2]|0);zq(a);c[554810]=(c[554810]|0)+-1;Sr();return}function Yq(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;Rr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2754124+(d*13552|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2754124+(d*13552|0)+11548>>2]=0;c[e>>2]=0;c[2754124+(d*13552|0)+8236>>2]=0;c[2754124+(d*13552|0)+8232>>2]=0;e=2754124+(d*13552|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Sr();return}function Zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Rr();g=(d|0)==0?-1:d;a:do if((f+1|0)>>>0<=16){if(!a){if((f|0)!=-1){c[2754124+(f*13552|0)+11548>>2]=0;c[2754124+(f*13552|0)+8208>>2]=0;c[2754124+(f*13552|0)+8236>>2]=0;c[2754124+(f*13552|0)+8232>>2]=0;d=2754124+(f*13552|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[555267]|0)==0?16:4;h=0;while(1){c[2754124+(h*13552|0)+11548>>2]=0;c[2754124+(h*13552|0)+8208>>2]=0;c[2754124+(h*13552|0)+8236>>2]=0;c[2754124+(h*13552|0)+8232>>2]=0;i=2754124+(h*13552|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0;if(h>>>0>=d>>>0)break a}}d=(f|0)==-1;do if(!(c[555267]|0))if(d)if(!((c[717687]|0)==0&(c[717691]|0)==0&(c[718522]|0)==0))if(!((c[721075]|0)==0&(c[721079]|0)==0&(c[721910]|0)==0))if(!((c[724463]|0)==0&(c[724467]|0)==0&(c[725298]|0)==0))if(!((c[727851]|0)==0&(c[727855]|0)==0&(c[728686]|0)==0))if(!((c[731239]|0)==0&(c[731243]|0)==0&(c[732074]|0)==0))if(!((c[734627]|0)==0&(c[734631]|0)==0&(c[735462]|0)==0))if(!((c[738015]|0)==0&(c[738019]|0)==0&(c[738850]|0)==0))if((c[741403]|0)==0&(c[741407]|0)==0&(c[742238]|0)==0)j=15;else{h=c[717691]|0;if((h|0)!=0&(c[718522]|0)==0){k=8;l=c[h+8>>2]|0}else{k=-1;l=256}h=c[721079]|0;if((h|0)!=0&(c[721910]|0)==0){i=c[h+8>>2]|0;h=(k|0)==-1|(i|0)<(l|0);m=h?9:k;n=h?i:l}else{m=k;n=l}i=c[724467]|0;if((i|0)!=0&(c[725298]|0)==0){h=c[i+8>>2]|0;i=(m|0)==-1|(h|0)<(n|0);o=i?10:m;p=i?h:n}else{o=m;p=n}h=c[727855]|0;if((h|0)!=0&(c[728686]|0)==0){i=c[h+8>>2]|0;h=(o|0)==-1|(i|0)<(p|0);q=h?11:o;r=h?i:p}else{q=o;r=p}i=c[731243]|0;if((i|0)!=0&(c[732074]|0)==0){h=c[i+8>>2]|0;i=(q|0)==-1|(h|0)<(r|0);s=i?12:q;t=i?h:r}else{s=q;t=r}h=c[734631]|0;if((h|0)!=0&(c[735462]|0)==0){i=c[h+8>>2]|0;h=(s|0)==-1|(i|0)<(t|0);u=h?13:s;v=h?i:t}else{u=s;v=t}i=c[738019]|0;if((i|0)!=0&(c[738850]|0)==0){h=c[i+8>>2]|0;i=(u|0)==-1|(h|0)<(v|0);w=i?14:u;x=i?h:v}else{w=u;x=v}h=c[741407]|0;if(!((h|0)!=0&(c[742238]|0)==0)){y=w;z=26;break}if((w|0)!=-1?(c[h+8>>2]|0)>=(x|0):0){j=w;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else j=f;else if(d){h=(c[690583]|0)==0;if(!(h&(c[690587]|0)==0&(c[691418]|0)==0&(c[704135]|0)==0&(c[704139]|0)==0&(c[704970]|0)==0)){i=(c[693971]|0)==0;if(!(i&(c[693975]|0)==0&(c[694806]|0)==0&(c[707523]|0)==0&(c[707527]|0)==0&(c[708358]|0)==0)){A=(c[697359]|0)==0;if(!(A&(c[697363]|0)==0&(c[698194]|0)==0&(c[710911]|0)==0&(c[710915]|0)==0&(c[711746]|0)==0)){C=(c[700747]|0)==0;if(!(C&(c[700751]|0)==0&(c[701582]|0)==0&(c[714299]|0)==0&(c[714303]|0)==0&(c[715134]|0)==0)){D=c[781381]|0;if(!(h&(c[690587]|0)==0&(c[691418]|0)==0&(c[704135]|0)==0&(c[704139]|0)==0&(D&1|0)==0))if(!(i&(c[693975]|0)==0&(c[694806]|0)==0&(c[707523]|0)==0&(c[707527]|0)==0&(D&2|0)==0))if(!(A&(c[697363]|0)==0&(c[698194]|0)==0&(c[710911]|0)==0&(c[710915]|0)==0&(D&4|0)==0))if(!(C&(c[700751]|0)==0&(c[701582]|0)==0&(c[714299]|0)==0&(c[714303]|0)==0&(D&8|0)==0))if(!((c[691418]|D&1|0)==0&(h&(c[690587]|0)==0)))if(!((c[694806]|D&2|0)==0&(i&(c[693975]|0)==0)))if(!((c[698194]|D&4|0)==0&(A&(c[697363]|0)==0)))if((c[701582]|D&8|0)==0&(C&(c[700751]|0)==0))j=3;else{if((D&1|0)!=0?!((c[704135]|0)==0&(c[704139]|0)==0&(c[704970]|0)==0):0){E=-1;F=256}else z=17;do if((z|0)==17){C=c[690587]|0;if(!C){E=-1;F=256;break}E=0;F=c[C+8>>2]|0}while(0);if((D&2|0)!=0?!((c[707523]|0)==0&(c[707527]|0)==0&(c[708358]|0)==0):0){G=E;H=F}else z=52;do if((z|0)==52){C=c[693975]|0;if(!C){G=E;H=F;break}A=(E|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(F|0);G=(A&C^1)&1;H=A&C?F:i}while(0);if((D&4|0)!=0?!((c[710911]|0)==0&(c[710915]|0)==0&(c[711746]|0)==0):0){I=G;J=H}else z=56;do if((z|0)==56){i=c[697363]|0;if(!i){I=G;J=H;break}C=c[i+8>>2]|0;i=(G|0)!=-1&(C|0)>(H|0);I=i?G:2;J=i?H:C}while(0);if(D&8|0?!((c[714299]|0)==0&(c[714303]|0)==0&(c[715134]|0)==0):0){y=I;z=26;break}C=c[700751]|0;if(!C){y=I;z=26;break}if((I|0)!=-1?(c[C+8>>2]|0)>(J|0):0){j=I;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else j=f;while(0);if((z|0)==26)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2754124+(j*13552|0)+8224>>2]=a;c[2754124+(j*13552|0)+8240>>2]=j&3;c[2754124+(j*13552|0)+8228>>2]=B(C,b)|0;c[2754124+(j*13552|0)+8232>>2]=0;c[2754124+(j*13552|0)+12e3>>2]=B(C,g)|0;c[2754124+(j*13552|0)+8220>>2]=e;c[2754124+(j*13552|0)+11548>>2]=0;c[2754124+(j*13552|0)+8236>>2]=1;Sr();K=j;return K|0}while(0);Sr();K=-1;return K|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;$q(a);d=c[a+12>>2]|0;if(d&128|0){e=0;Zq(a,0,e,b,-1)|0;return}f=c[a+16>>2]|0;e=(f|0)>(d|0)?-1:(d|0)>0&(f|0)==0?d:32;Zq(a,0,e,b,-1)|0;return}function $q(a){a=a|0;var b=0;Rr();if(!a){if(!(c[691418]|0)){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if(!(c[694806]|0)){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if(!(c[698194]|0)){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if(!(c[701582]|0)){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if(!(c[704970]|0)){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if(!(c[708358]|0)){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if(!(c[711746]|0)){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if(!(c[715134]|0)){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if(!(c[718522]|0)){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if(!(c[721910]|0)){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if(!(c[725298]|0)){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if(!(c[728686]|0)){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if(!(c[732074]|0)){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if(!(c[735462]|0)){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if(!(c[738850]|0)){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if(c[742238]|0){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;b=2965624;c[b>>2]=0;c[b+4>>2]=0;Sr();return}else{if((c[690587]|0)==(a|0)){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if((c[693975]|0)==(a|0)){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if((c[697363]|0)==(a|0)){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if((c[700751]|0)==(a|0)){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if((c[704139]|0)==(a|0)){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if((c[707527]|0)==(a|0)){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if((c[710915]|0)==(a|0)){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if((c[714303]|0)==(a|0)){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if((c[717691]|0)==(a|0)){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if((c[721079]|0)==(a|0)){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if((c[724467]|0)==(a|0)){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if((c[727855]|0)==(a|0)){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if((c[731243]|0)==(a|0)){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if((c[734631]|0)==(a|0)){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if((c[738019]|0)==(a|0)){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if((c[741407]|0)!=(a|0)){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;a=2965624;c[a>>2]=0;c[a+4>>2]=0;Sr();return}}function ar(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Rr();b=(c[691418]|0)==0;do if(!a)if(b|(c[690586]|0)==0)if((c[694806]|0)==0|(c[693974]|0)==0)if((c[698194]|0)==0|(c[697362]|0)==0)if((c[701582]|0)==0|(c[700750]|0)==0)if((c[704970]|0)==0|(c[704138]|0)==0)if((c[708358]|0)==0|(c[707526]|0)==0)if((c[711746]|0)==0|(c[710914]|0)==0)if((c[715134]|0)==0|(c[714302]|0)==0)if((c[718522]|0)==0|(c[717690]|0)==0)if((c[721910]|0)==0|(c[721078]|0)==0)if((c[725298]|0)==0|(c[724466]|0)==0)if((c[728686]|0)==0|(c[727854]|0)==0)if((c[732074]|0)==0|(c[731242]|0)==0)if((c[735462]|0)==0|(c[734630]|0)==0)if((c[738850]|0)==0|(c[738018]|0)==0)if((c[742238]|0)==0|(c[741406]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[690586]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[694806]|0?(f=c[693974]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[698194]|0?(f=c[697362]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[701582]|0?(f=c[700750]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[704970]|0?(f=c[704138]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[708358]|0?(f=c[707526]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[711746]|0?(f=c[710914]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[715134]|0?(f=c[714302]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[718522]|0?(f=c[717690]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[721910]|0?(f=c[721078]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[725298]|0?(f=c[724466]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[728686]|0?(f=c[727854]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[732074]|0?(f=c[731242]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[735462]|0?(f=c[734630]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[738850]|0?(f=c[738018]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[742238]|0)!=0?(f=c[741406]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Sr();g=c[2754124+(e*13552|0)+11552>>2]|0;return g|0}else if((d|0)==8){Sr();g=-1;return g|0}return 0}function br(a){a=a|0;var b=0,d=0,e=0;Rr();if((c[690587]|0)!=(a|0))if((c[693975]|0)!=(a|0))if((c[697363]|0)!=(a|0))if((c[700751]|0)!=(a|0))if((c[704139]|0)!=(a|0))if((c[707527]|0)!=(a|0))if((c[710915]|0)!=(a|0))if((c[714303]|0)!=(a|0))if((c[717691]|0)!=(a|0))if((c[721079]|0)!=(a|0))if((c[724467]|0)!=(a|0))if((c[727855]|0)!=(a|0))if((c[731243]|0)!=(a|0))if((c[734631]|0)!=(a|0))if((c[738019]|0)!=(a|0))if((c[741407]|0)==(a|0))b=15;else{Sr();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;e=c[a+8>>2]|0;a=(c[2754124+(b*13552|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;Sr();d=a;return d|0}function cr(a){a=a|0;var b=0;Rr();b=c[2754124+(a*13552|0)+8224>>2]|0;Sr();return b|0}function dr(a){a=a|0;var b=0;if((a+1|0)>>>0>16)return;Rr();if((a|0)==-1){c[690590]=0;c[693978]=0;c[697366]=0;c[700754]=0;c[704142]=0;c[707530]=0;c[710918]=0;c[714306]=0;c[717694]=0;c[721082]=0;c[724470]=0;c[727858]=0;c[731246]=0;c[734634]=0;c[738022]=0;b=2965640}else b=2754124+(a*13552|0)+8236|0;c[b>>2]=0;Sr();return}function er(a){a=a|0;var b=0,d=0,e=0,f=0;Rr();if(a|0){b=0;do{d=2754124+(b*13552|0)+11548|0;if(c[d>>2]|0?(e=2754124+(b*13552|0)+8220|0,f=c[e>>2]|0,(f|0)!=0&(f|0)==(a|0)):0){c[d>>2]=0;c[2754124+(b*13552|0)+8208>>2]=0;c[2754124+(b*13552|0)+8236>>2]=0;c[2754124+(b*13552|0)+8232>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0}b=b+1|0}while((b|0)!=16);Sr();return}if(c[691418]|0){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if(c[694806]|0){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if(c[698194]|0){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if(c[701582]|0){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if(c[704970]|0){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if(c[708358]|0){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if(c[711746]|0){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if(c[715134]|0){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if(c[718522]|0){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if(c[721910]|0){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if(c[725298]|0){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if(c[728686]|0){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if(c[732074]|0){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if(c[735462]|0){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if(c[738850]|0){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if(!(c[742238]|0)){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;b=2965624;c[b>>2]=0;c[b+4>>2]=0;Sr();return}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Rr();er(a);if(!((a|0)!=0&b>>>0<64)){Sr();return}e=a+43536+(b<<4)|0;if(!(Pq(a,e)|0)){Sr();return}c[554970]=0;c[554971]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=Zq(a+16+(((g|0)>0?g:0)*680|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2754124+(f*13552|0)+8224>>2]=0;c[2754124+(f*13552|0)+11548>>2]=1;c[2754124+(f*13552|0)+8220>>2]=a;c[2754124+(f*13552|0)+11552>>2]=b;c[2754124+(f*13552|0)+8240>>2]=0;c[2754124+(f*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(f*13552|0)+12004>>2]=0}f=a+43536+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2754124+(g*13552|0)+8224>>2]=0;c[2754124+(g*13552|0)+11548>>2]=1;c[2754124+(g*13552|0)+8220>>2]=a;c[2754124+(g*13552|0)+11552>>2]=b;c[2754124+(g*13552|0)+8240>>2]=1;c[2754124+(g*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(g*13552|0)+12004>>2]=0}g=a+43536+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2754124+(f*13552|0)+8224>>2]=0;c[2754124+(f*13552|0)+11548>>2]=1;c[2754124+(f*13552|0)+8220>>2]=a;c[2754124+(f*13552|0)+11552>>2]=b;c[2754124+(f*13552|0)+8240>>2]=2;c[2754124+(f*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(f*13552|0)+12004>>2]=0}f=a+43536+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2754124+(g*13552|0)+8224>>2]=0;c[2754124+(g*13552|0)+11548>>2]=1;c[2754124+(g*13552|0)+8220>>2]=a;c[2754124+(g*13552|0)+11552>>2]=b;c[2754124+(g*13552|0)+8240>>2]=3;c[2754124+(g*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(g*13552|0)+12004>>2]=0}c[557124]=d;c[557123]=Xr()|0;c[557125]=0;c[557126]=65536;gr();Sr();return}function gr(){var a=0,b=0,d=0,e=0;Rr();a=c[557127]|0;b=c[557126]|0;if((a|0)==(b|0)){if(!a){Rr();c[688530]=0;er(0);Sr()}Sr();return}if(!(c[557124]|0)){c[557127]=b;if(!b){Rr();c[688530]=0;er(0);Sr()}Sr();return}b=Xr()|0;a=b-(c[557123]|0)|0;b=c[557124]|0;if((b|0)>(a|0)){d=B(c[557125]|0,b-a|0)|0;e=((B(c[557126]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[557127]=(b|0)>0?b:0;Sr();return}b=c[557126]|0;c[557127]=b;if(!b){Rr();c[688530]=0;er(0);Sr()}Sr();return}function hr(a){a=a|0;return c[a+16>>2]|0}function ir(a){a=a|0;return}function jr(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function kr(a){a=a|0;if(!0)return;c[555247]=a;return}function lr(a,b){a=a|0;b=b|0;c[557125]=c[557127];c[557126]=0;c[557123]=Xr()|0;c[557124]=b;gr();return}function mr(a){a=a|0;c[555248]=a;return}function nr(){var a=0;if((ar(0)|0)!=-1){a=1;return a|0}if(0==0|(c[557129]|0)==0){a=0;return a|0}if(!(c[557127]|c[557126])){a=0;return a|0}a=(c[688530]|0)!=0&1;return a|0}function or(){var a=0;Rr();c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;a=2762344;c[a>>2]=0;c[a+4>>2]=0;c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;a=2775896;c[a>>2]=0;c[a+4>>2]=0;c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;a=2789448;c[a>>2]=0;c[a+4>>2]=0;c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;a=2803e3;c[a>>2]=0;c[a+4>>2]=0;c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;a=2816552;c[a>>2]=0;c[a+4>>2]=0;c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;a=2830104;c[a>>2]=0;c[a+4>>2]=0;c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;a=2843656;c[a>>2]=0;c[a+4>>2]=0;c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;a=2857208;c[a>>2]=0;c[a+4>>2]=0;c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;a=2870760;c[a>>2]=0;c[a+4>>2]=0;c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;a=2884312;c[a>>2]=0;c[a+4>>2]=0;c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;a=2897864;c[a>>2]=0;c[a+4>>2]=0;c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;a=2911416;c[a>>2]=0;c[a+4>>2]=0;c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;a=2924968;c[a>>2]=0;c[a+4>>2]=0;c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;a=2938520;c[a>>2]=0;c[a+4>>2]=0;c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;a=2952072;c[a>>2]=0;c[a+4>>2]=0;c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;a=2965624;c[a>>2]=0;c[a+4>>2]=0;Sr();return}function pr(){var a=0,b=0,d=0;a=c[742747]|0;if(!a){b=Aq(352e3)|0;c[742747]=b;d=b}else d=a;c[d+20>>2]=0;c[d+16>>2]=0;c[554969]=1;return}function qr(){var a=0;if(!(c[554969]|0)){a=0;return a|0}c[554969]=0;a=c[742747]|0;return a|0}function rr(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;Rr();if((c[690587]|0)==0|(c[691418]|0)==0)a=0;else{b=c[690588]|0;a=(b|0)>0?b:0}if((c[693975]|0)==0|(c[694806]|0)==0)d=a;else{b=c[693976]|0;d=(a|0)>(b|0)?a:b}if((c[697363]|0)==0|(c[698194]|0)==0)e=d;else{b=c[697364]|0;e=(d|0)>(b|0)?d:b}if((c[700751]|0)==0|(c[701582]|0)==0)f=e;else{b=c[700752]|0;f=(e|0)>(b|0)?e:b}if((c[704139]|0)==0|(c[704970]|0)==0)g=f;else{b=c[704140]|0;g=(f|0)>(b|0)?f:b}if((c[707527]|0)==0|(c[708358]|0)==0)h=g;else{b=c[707528]|0;h=(g|0)>(b|0)?g:b}if((c[710915]|0)==0|(c[711746]|0)==0)i=h;else{b=c[710916]|0;i=(h|0)>(b|0)?h:b}if((c[714303]|0)==0|(c[715134]|0)==0)j=i;else{b=c[714304]|0;j=(i|0)>(b|0)?i:b}if((c[717691]|0)==0|(c[718522]|0)==0)k=j;else{b=c[717692]|0;k=(j|0)>(b|0)?j:b}if((c[721079]|0)==0|(c[721910]|0)==0)l=k;else{b=c[721080]|0;l=(k|0)>(b|0)?k:b}if((c[724467]|0)==0|(c[725298]|0)==0)m=l;else{b=c[724468]|0;m=(l|0)>(b|0)?l:b}if((c[727855]|0)==0|(c[728686]|0)==0)n=m;else{b=c[727856]|0;n=(m|0)>(b|0)?m:b}if((c[731243]|0)==0|(c[732074]|0)==0)o=n;else{b=c[731244]|0;o=(n|0)>(b|0)?n:b}if((c[734631]|0)==0|(c[735462]|0)==0)p=o;else{b=c[734632]|0;p=(o|0)>(b|0)?o:b}if((c[738019]|0)==0|(c[738850]|0)==0)q=p;else{b=c[738020]|0;q=(p|0)>(b|0)?p:b}if((c[741407]|0)==0|(c[742238]|0)==0){r=q;Sr();return r|0}b=c[741408]|0;r=(q|0)>(b|0)?q:b;Sr();return r|0}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;Rr();c[742740]=0;c[742741]=0;c[742742]=0;c[742743]=0;c[742744]=0;c[742745]=0;if((a|0)==-1){if((c[690587]|0)==0|(c[691418]|0)==0){d=-1;e=-1}else{f=c[690589]|0;g=(f|0)<-1;d=g?-1:f;e=g<<31>>31}if((c[693975]|0)==0|(c[694806]|0)==0){h=d;i=e}else{g=c[693977]|0;f=(g|0)<(d|0);h=f?d:g;i=f?e:1}if((c[697363]|0)==0|(c[698194]|0)==0){j=h;k=i}else{e=c[697365]|0;f=(e|0)<(h|0);j=f?h:e;k=f?i:2}if((c[700751]|0)==0|(c[701582]|0)==0){l=j;m=k}else{i=c[700753]|0;f=(i|0)<(j|0);l=f?j:i;m=f?k:3}if((c[704139]|0)==0|(c[704970]|0)==0){n=l;o=m}else{k=c[704141]|0;f=(k|0)<(l|0);n=f?l:k;o=f?m:4}if((c[707527]|0)==0|(c[708358]|0)==0){p=n;q=o}else{m=c[707529]|0;f=(m|0)<(n|0);p=f?n:m;q=f?o:5}if((c[710915]|0)==0|(c[711746]|0)==0){r=p;s=q}else{o=c[710917]|0;f=(o|0)<(p|0);r=f?p:o;s=f?q:6}if((c[714303]|0)==0|(c[715134]|0)==0){t=r;u=s}else{q=c[714305]|0;f=(q|0)<(r|0);t=f?r:q;u=f?s:7}if((c[717691]|0)==0|(c[718522]|0)==0){v=t;w=u}else{s=c[717693]|0;f=(s|0)<(t|0);v=f?t:s;w=f?u:8}if((c[721079]|0)==0|(c[721910]|0)==0){x=v;y=w}else{u=c[721081]|0;f=(u|0)<(v|0);x=f?v:u;y=f?w:9}if((c[724467]|0)==0|(c[725298]|0)==0){z=x;A=y}else{w=c[724469]|0;f=(w|0)<(x|0);z=f?x:w;A=f?y:10}if((c[727855]|0)==0|(c[728686]|0)==0){C=z;D=A}else{y=c[727857]|0;f=(y|0)<(z|0);C=f?z:y;D=f?A:11}if((c[731243]|0)==0|(c[732074]|0)==0){E=C;F=D}else{A=c[731245]|0;f=(A|0)<(C|0);E=f?C:A;F=f?D:12}if((c[734631]|0)==0|(c[735462]|0)==0){G=E;H=F}else{D=c[734633]|0;f=(D|0)<(E|0);G=f?E:D;H=f?F:13}if((c[738019]|0)==0|(c[738850]|0)==0){I=G;J=H}else{F=c[738021]|0;f=(F|0)<(G|0);I=f?G:F;J=f?H:14}if((c[741407]|0)==0|(c[742238]|0)==0|(c[741409]|0)<(I|0)){K=J;L=5}else{M=15;L=6}}else{K=a;L=5}if((L|0)==5?K>>>0<16:0){M=K;L=6}if((L|0)==6?(L=c[2754124+(M*13552|0)+12004>>2]|0,(L|0)>0):0){K=c[554976]|0;a=b-(c[2754124+(M*13552|0)+12012>>2]|0)|0;b=L+-1|0;L=(B((a|0)>0?a:0,b)|0)/((((c[8738]|0)/(((K|0)==0?1:K<<1)|0)|0)*1e3|0)/(c[554975]|0)|0|0)|0;K=(L|0)<(b|0)?L:b;b=2754124+(M*13552|0)+12016+(((K|0)>0?K:0)*24|0)|0;c[742740]=c[b>>2];c[742741]=c[b+4>>2];c[742742]=c[b+8>>2];c[742743]=c[b+12>>2];c[742744]=c[b+16>>2];c[742745]=c[b+20>>2];Sr();return 2970960}Sr();return 2970960}function tr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;wt(1715360,97183,j)|0;Cn(1715360);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;wt(1715360,97212,i)|0;Cn(1715360);k=0;l=0}else{k=b;l=a}if((c[554968]|0)==1){a=c[555244]|0;b=c[555245]|0;if((a|0)<32|(b|0)<32){c[555244]=640;c[555245]=540;m=640;n=540}else{m=a;n=b}c[h>>2]=m;c[h+4>>2]=n;wt(1715360,97250,h)|0;Cn(1715360);o=n;p=m}else{c[555244]=l;c[555245]=k;o=k;p=l}if(!(e&256)){if(e&4|0)c[8739]=0;if(e&8|0)c[8739]=1}else if(c[555246]|0)c[8739]=0;m=((k|0)==0|(l|0)==0)&((o|0)==0|(p|0)==0);n=m?216:o;o=m?384:p;p=m?384:l;l=m?216:k;k=c[742765]|0;do if(!k)q=20;else{if(((c[k>>2]|0)==(p|0)?(c[k+4>>2]|0)==(l|0):0)?(c[k+8>>2]|0)==(d|0):0)break;Tn(k)|0;c[742765]=0;q=20}while(0);if((q|0)==20)c[742765]=Sn(p,l,d)|0;if((c[555284]|c[555285]|0)==0?(q=Vr(o,n,p,l,d,e)|0,q|0):0){r=q;Ia=f;return r|0}c[742748]=o;c[742749]=n;c[742750]=d;c[742755]=0;c[742757]=0;c[742756]=o;c[742758]=n;c[g>>2]=0;c[g+4>>2]=0;wt(1715360,97271,g)|0;Cn(1715360);Cn(97293);r=0;Ia=f;return r|0}function ur(a){a=a|0;var b=0;b=c[742761]|0;if((b|0)==(a|0))return;Vv(b|0,a|0,768)|0;return}function vr(){var b=0,d=0,e=0;if(c[742763]|0){b=0;return b|0}c[742763]=1;c[742761]=Kn()|0;c[742762]=Kn()|0;d=0;do{e=d&255;a[(c[742761]|0)+(d*3|0)>>0]=e;a[(c[742761]|0)+(d*3|0)+1>>0]=e;a[(c[742761]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[555284]|0){b=0;return b|0}b=Tr()|0;return b|0}function wr(){var a=0,b=0;if(!(c[742763]|0)){a=0;return a|0}c[742763]=0;b=c[742765]|0;if(b|0)Tn(b)|0;b=c[557100]|0;if(b|0)Tn(b)|0;c[557100]=0;c[742765]=0;Ln(c[742761]|0);Ln(c[742762]|0);if(c[555284]|0){a=0;return a|0}a=Ur()|0;return a|0}function xr(){return (c[8739]|0)==0|0}function yr(){var a=0;if(c[555285]|c[555284]|0)return;c[8739]=(c[8739]|0)==0&1;a=c[742765]|0;Vr(c[555244]|0,c[555245]|0,c[a>>2]|0,c[a+4>>2]|0,c[742750]|0,0)|0;return}function zr(){c[742764]=Xr()|0;return}function Ar(){var a=0,b=0;a=Xr()|0;b=a-(c[742764]|0)|0;c[742764]=Xr()|0;a=(b|0)<1e3?b:1e3;c[8740]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function Br(){var a=0;a=c[742765]|0;if(!a)return;Gp(a,2970992,0,0,0,0,c[742748]|0,c[742749]|0);return}function Cr(){return c[8740]>>16|0}function Dr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Rs(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Rs(g,d+1|0)|0;h=bu(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=ou(b)|0;c[e+808>>2]=f;return Er(e)|0}function Er(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+608|0;d=b+600|0;e=b+512|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Ia=b;return i|0}j=ru(h)|0;h=a+808|0;if(!j){i=1;Ia=b;return i|0}k=a+256|0;l=a+520|0;m=e+64|0;n=e+40|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+19|0;Rs(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;wt(f,97315,d)|0;wq(e,0,1);pu(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=bu(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=ru(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ia=b;return i|0}return 0}function Fr(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;qu(b)|0;return 0}function Gr(a){a=a|0;var b=0,c=0;b=Po(a,104528)|0;if(!b){c=0;return c|0}Ro(b);c=1;return c|0}function Hr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+816|0;d=b;Rs(d,a)|0;e=d+548|0;Rs(e,97322)|0;c[d+804>>2]=bu(e)|0;e=d+812|0;c[e>>2]=ou(a)|0;c[d+808>>2]=16384;a=Er(d)|0;d=c[e>>2]|0;if(!d){f=(a|0)==0;g=f&1;Ia=b;return g|0}qu(d)|0;f=(a|0)==0;g=f&1;Ia=b;return g|0}function Ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+96|0;e=d+64|0;f=d+88|0;g=d;Fa(f|0)|0;if(!b)h=za(f|0)|0;else h=Ba(f|0)|0;Ea(g|0,64,97297,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;Su(g,97323,e)|0;Ia=d;return}function Jr(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;Iq(0,1736096,a<<1);if((c|0)<=0)return 1768864;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1736096+(h<<1)>>1]|0)|0;b[1768864+(a<<1)>>1]=((B(g,b[1736096+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1768864}function Kr(){if((O(65535)|0)<0)Lr(98975);else{ka(29)|0;ka(30)|0;ka(31)|0;return 0}return 0}function Lr(a){a=a|0;var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;Mr();c[e>>2]=a;vv(100055,e)|0;Nu(c[8745]|0)|0;c[d>>2]=a;wt(1715360,100055,d)|0;Cn(1715360);Dn()|0;ya(0)}function Mr(){var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Ia=b;return}c[d>>2]=e;vv(100078,d)|0;Nu(c[8745]|0)|0;I();Ia=b;return}function Nr(){return 0}function Or(b){b=b|0;var d=0,e=0;a[1801632]=63;a[1801633]=0;if(b>>>0>511)return 1801632;ku(1801632,c[30176+(b<<2)>>2]|0)|0;if(!(bu(1801632)|0))return 1801632;b=0;do{d=1801632+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(bu(1801632)|0)>>>0);return 1801632}function Pr(a,b){a=a|0;b=b|0;la(32,c[555260]|0)|0;c[554977]=a;c[554978]=b;c[554975]=a;c[554976]=b;kr(c[555247]|0);mr(c[555248]|0);return 0}function Qr(){return 0}function Rr(){P();c[742766]=(c[742766]|0)+1;return}function Sr(){c[742766]=(c[742766]|0)+-1;T();return}function Tr(){return 0}function Ur(){return 0}function Vr(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=Fp()|0;c[742770]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function Wr(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[742771]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}Tn(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=Sn(c[l>>2]|0,c[m>>2]|0,32)|0;c[742771]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[742761]|0;h=0;do{c[1801888+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1801888+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=g;e=c[o+(l<<2)>>2]|0;f=q;while(1){c[m>>2]=c[1801888+((d[e>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+4|0;e=e+1|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[742770]|0)|0;a=c[742770]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,Vv(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;Vv(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function Xr(){return M()|0}function Yr(){return}function Zr(){return}function _r(){return 0}function $r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function as(){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=Ia;Ia=Ia+64|0;d=b+52|0;e=b+48|0;f=b;g=0;do{h=1724192+g|0;i=a[h>>0]|0;a[1725216+g>>0]=i;if(i<<24>>24==3)a[h>>0]=1;g=g+1|0}while((g|0)!=512);g=0;do{if(!(a[1724192+g>>0]|0))a[1724704+g>>0]=0;g=g+1|0}while((g|0)!=512);g=K()|0;a[1724416]=g&64;a[1724420]=g&128;a[1724418]=0;a[1724422]=0;a[1724417]=g&1;a[1724421]=g&2;a:do if(R(f|0)|0){g=f+12|0;h=f+28|0;i=f+32|0;while(1){j=c[f>>2]|0;b:do switch(j|0){case 768:case 769:{k=c[g>>2]|0;l=(k|0)==1104?80:k;k=(l|0)==1103?79:l;l=(k|0)==1106?82:k;k=(l|0)==1105?81:l;l=(k|0)==1099?75:k;k=(l|0)==1102?78:l;l=(k|0)==1248?224:k;k=(l|0)<512;m=1724192+l|0;if((j|0)==768){if(!k)break b;a[m>>0]=3;a[1725216+l>>0]=0;a[1724704+l>>0]=0;break b}else{if(!k)break b;a[m>>0]=0;a[1725216]=0;break b}break}case 1024:{do if(c[554961]|0){if(ka(33)|0){m=c[h>>2]|0;c[554955]=(c[554955]|0)+m;k=c[i>>2]|0;c[554956]=(c[554956]|0)+k;l=(c[742768]|0)+m|0;m=c[742765]|0;n=(c[m>>2]<<2)+-1|0;o=(l|0)<(n|0)?l:n;c[742768]=(o|0)>0?o:0;o=(c[742769]|0)+k|0;k=(c[m+4>>2]<<2)+-1|0;m=(o|0)<(k|0)?o:k;c[742769]=(m|0)>0?m:0;break}if(c[554961]|0){L(d|0,e|0)|0;if(!(ka(34)|0))p=c[e>>2]|0;else{c[d>>2]=ka(35)|0;m=ka(36)|0;c[e>>2]=m;p=m}c[742768]=c[d>>2]<<2;c[742769]=p<<2}}while(0);m=c[554955]|0;if((m|0)>=0){if(m|0){k=~m;o=(k|0)>-2?k:-2;q=-2-o|0;r=m+2+(c[554957]|0)+o|0;s=24}}else{q=0;r=m+(c[554957]|0)|0;s=24}if((s|0)==24){s=0;c[554957]=r;c[554955]=q}m=c[554956]|0;if((m|0)<0){c[554958]=m+(c[554958]|0);c[554956]=0;break b}if(m|0){o=~m;k=(o|0)>-2?o:-2;c[554958]=m+2+(c[554958]|0)+k;c[554956]=-2-k}break}default:{}}while(0);if(!(R(f|0)|0))break a}}while(0);f=(ka(37)|0)!=0;if(f&(c[557102]|0)<32){do{f=ka(38)|0;q=(f|0)>-1?f:-1;f=c[557102]|0;c[1724064+(f<<2)>>2]=q;c[557102]=f+1;if((q|0)>0?(qo(-5)|0)==0:0)c[8742]=1;if(a[1724422]|0){a[1724416]=0;a[1724420]=0}q=(ka(37)|0)!=0}while(q&(c[557102]|0)<32);t=1}else t=0;q=ka(39)|0;c[554951]=(c[554951]|0)+q;c[554953]=(c[554953]|0)+q;q=ka(40)|0;c[554952]=(c[554952]|0)+q;c[554954]=(c[554954]|0)+q;bs();if(!((c[554962]|0)==0?(ka(41)|0)!=0:0)){c[557102]=0;Wv(1724192,0,512)|0;Wv(1725216,0,512)|0;Wv(1724704,0,512)|0;c[554951]=0;c[554952]=0;c[554953]=0;c[554954]=0}if(t|0){Ia=b;return 0}t=0;q=0;do{f=(qo(q)|0)==3;t=f?1:t;q=q+1|0}while((q|0)!=512);q=c[557102]|0;if(!((t|0)!=0&(q|0)<32)){Ia=b;return 0}c[1724064+(q<<2)>>2]=-1;c[557102]=q+1;Ia=b;return 0}function bs(){var a=0,b=0,d=0,e=0,f=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;cs(b,d,e);if(c[8741]|0){c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8741]=0}if(ka(42)|0)c[8742]=0;f=c[b>>2]|0;b=c[d>>2]|0;if(((c[e>>2]|0)>0&(b|f|0)>-1?(f|0)<(c[742748]|0):0)?(b|0)<(c[742749]|0):0){c[8742]=1;ka(43)|0}b=(qo(-5)|0)!=0;if(!(b&(c[8742]|0)!=0)){Ia=a;return}ka(44)|0;Ia=a;return} 147 + 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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=1;q=0}else{r=o;o=0;s=d;while(1){t=r<<24>>24;if((m|0)>(t|0))u=o;else u=o+1+(c[c[(c[e>>2]|0)+(t-m<<2)>>2]>>2]|0)|0;s=s+1|0;r=a[s>>0]|0;if(!(r<<24>>24)){p=1;q=u;break}else o=u}}u=q-p|0;p=c[b+32>>2]|0;q=b+28|0;if((u|0)>(p-f|0)){c[q>>2]=(c[q>>2]|0)+15;v=1;w=p-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=1;z=0}else{p=u;u=0;q=d;while(1){o=p<<24>>24;if((m|0)>(o|0))A=u;else A=u+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;q=q+1|0;p=a[q>>0]|0;if(!(p<<24>>24)){y=1;z=A;break}else u=A}}x=w-((z-y|0)/2|0)|0}if(!(h&4))B=x;else{y=a[d>>0]|0;if(!(y<<24>>24)){C=1;D=0}else{z=y;y=0;w=d;while(1){A=z<<24>>24;if((m|0)>(A|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(A-m<<2)>>2]>>2]|0)|0;w=w+1|0;z=a[w>>0]|0;if(!(z<<24>>24)){C=1;D=E;break}else y=E}}B=C+x-D|0}a:do if(!(h&1)){D=c[e>>2]|0;x=c[b+8>>2]|0;C=h;E=0;while(1){if((c[(c[D+(E<<2)>>2]|0)+8>>2]|0)==(x|0)){F=C;G=E;H=0;break a}y=E+n|0;z=(y|0)<(k|0);w=C|(z^1)&1;A=z?y:E;if(!(w&1)){C=w;E=A}else{F=w;G=A;H=1;break}}}else{F=h;G=0;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=G-m|0;G=(F&16|0)==0;F=b+32|0;if(H){H=h;n=0;E=d;C=B;x=g;while(1){D=H&255;if(m>>>0<=D>>>0&k>>>0>D>>>0){A=c[(c[e>>2]|0)+(l+D<<2)>>2]|0;D=A+4|0;co(A,b,0,0,C,x,c[A>>2]|0,c[D>>2]|0,i,0);w=1+(c[A>>2]|0)|0;A=c[D>>2]|0;I=a[E>>0]|0;J=w;K=(n|0)>(A|0)?n:A;L=w+C|0}else{I=H;J=0;K=n;L=C}if(I<<24>>24!=10)if(!G?(L|0)>((c[F>>2]|0)-J|0):0)M=37;else{N=K;O=L;P=x}else M=37;if((M|0)==37){M=0;N=0;O=f;P=K+x+1|0}E=E+1|0;H=a[E>>0]|0;if(!(H<<24>>24)){Q=P;break}else{n=N;C=O;x=P}}}else{P=h;h=0;x=d;d=B;B=g;while(1){O=P&255;if(m>>>0<=O>>>0&k>>>0>O>>>0){C=c[(c[e>>2]|0)+(l+O<<2)>>2]|0;O=C+4|0;Rn(C,b,0,0,d,B,c[C>>2]|0,c[O>>2]|0);N=1+(c[C>>2]|0)|0;C=c[O>>2]|0;R=a[x>>0]|0;S=N;T=(h|0)>(C|0)?h:C;U=N+d|0}else{R=P;S=0;T=h;U=d}if(R<<24>>24!=10)if(!G?(U|0)>((c[F>>2]|0)-S|0):0)M=44;else{V=T;W=U;X=B}else M=44;if((M|0)==44){M=0;V=0;W=f;X=T+B+1|0}x=x+1|0;P=a[x>>0]|0;if(!(P<<24>>24)){Q=X;break}else{h=V;d=W;B=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;Bo(b,96845,c[557113]|0,v,Q,0,0)|0;return Q|0}return 0}function Co(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bo(a,b,c,d,e,0,0)|0;return}function Do(a){a=a|0;c[557115]=a;return}function Eo(a){a=a|0;c[557116]=a;return}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;switch(c[e>>2]|0){case 0:{f=tv(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Vv(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function Go(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;hv(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function Ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=hv(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;Bq(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){wq(d,0,f);h=b;break}else{Vv(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Vv((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;hv(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function Jo(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;nv(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function Ko(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;hv(g,2,1,c[e+8>>2]|0)|0;Ia=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Bq(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Ia=f;return}default:{Ia=f;return}}}function Lo(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Ia;Ia=Ia+16|0;g=d;if(!e){h=0;Ia=d;return h|0}i=go(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=Ru(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Vv(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}tv(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Vv(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}Zu(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=u;E=0}}if((k|0)==39){k=0;D=A;E=c[g>>2]|0}c[g>>2]=0;switch(D|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=D;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}tv(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=Sn(E,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,E)|0,u>>3)|0;k:do if(w)Mo(y,C,e)|0;else switch(c[e>>2]|0){case 0:{tv(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Vv(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);ko(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}tv(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Vv(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Mn(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)Mo(w,u,e)|0;else switch(c[e>>2]|0){case 0:{tv(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Vv(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);ko(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=Wq(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{Zu(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}tv(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=hr(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{tv(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Vv(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}jr(w,c[ba>>2]|0);ko(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=ip()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=C;ia=u;break q}}tv(g,4,1,c[l>>2]|0)|0;ha=C;ia=u}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;C=(u|0)<4?u:4;u=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;C=(u|0)<4?u:4;u=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;ha=fa;ia=ga}w=x+24|0;c[w>>2]=c[g>>2];fp(x,c[ia>>2]|0);gp(x,c[ha>>2]|0);r:do if((c[ia>>2]|0)>0){u=0;while(1){f[g>>2]=0.0;C=c[e>>2]|0;switch(C|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(u*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=C;k=99}}s:do if((k|0)==99){k=0;C=c[x>>2]|0;c[C+(u*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=C;k=405;break s;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=C;ma=ja}}c[la+(u*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}tv(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[ka+(u*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;oa=na}c[oa+(u*12|0)+8>>2]=c[g>>2];u=u+1|0;if((u|0)>=(c[ia>>2]|0))break r}}while(0);t:do if((c[ha>>2]|0)>0){u=x+12|0;C=0;while(1){J=c[u>>2]|0;y=J+(C*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(C*80|0)+56|0;b[L>>1]=K;hp(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(C*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(C*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}tv(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(C*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(C*80|0)+48|0;y=J+(C*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Vv(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}tv(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);C=C+1|0;if((C|0)>=(c[ha>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ia>>2]|0)>0:0){C=x+28|0;u=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[C>>2]|0;y=pa+(u<<5)|0;b[y>>1]=J;b[g>>1]=0;za=pa;Aa=J;Ba=y;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;y=c[C>>2]|0;J=y+(u<<5)|0;b[J>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=y;Aa=L;Ba=J;k=132;break y;break}case 0:break;default:{Ca=y;Da=L;Ea=ya;Fa=J;break y}}tv(g,2,1,c[l>>2]|0)|0;J=c[C>>2]|0;L=J+(u<<5)|0;Ca=J;Da=b[L>>1]|0;Ea=c[e>>2]|0;Fa=L}while(0);if((k|0)==132){k=0;L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<2?J:2;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+L;Ca=za;Da=Aa;Ea=1;Fa=Ba}L=b[g>>1]|0;J=Da&65535;y=(c[w>>2]|0)+-1|0;pa=(y|0)>(J|0)?J:y;b[Fa>>1]=(pa|0)>0?pa:0;pa=L&65535;L=(y|0)>(pa|0)?pa:y;b[Ca+(u<<5)+2>>1]=(L|0)>0?L:0;f[g>>2]=0.0;switch(Ea|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Ga=c[C>>2]|0;break}case 1:{L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;pa=(y|0)<4?y:4;y=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+L;Ga=Ca;break}default:Ga=Ca}c[Ga+(u<<5)+4>>2]=c[g>>2];u=u+1|0;if((u|0)>=(c[ia>>2]|0))break x}}while(0);op(x);ko(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=xp()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Ha=c[e>>2]|0;k=145;break}case 1:{C=c[n>>2]|0;L=(c[m>>2]|0)-C|0;y=(L|0)<4?L:4;L=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,L|0)|0;c[n>>2]=L+C;Ha=1;k=145;break}default:{Ja=u;Ka=0}}if((k|0)==145){k=0;Ja=Ha;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{u=c[m>>2]|0;C=c[n>>2]|0;L=u-C|0;y=(L|0)<4?L:4;L=(y|0)>0?y:0;y=c[o>>2]|0;Vv(g|0,y+C|0,L|0)|0;pa=L+C|0;c[n>>2]=pa;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=u;Oa=pa;Pa=y;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[m>>2]|0;Oa=c[n>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[m>>2]|0;Ua=c[n>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[m>>2]|0;Ya=c[n>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[m>>2]|0;ab=c[n>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[m>>2]|0;eb=c[n>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[m>>2]|0;hb=c[n>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Na-Oa|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,Pa+Oa|0,x|0)|0;y=x+Oa|0;c[n>>2]=y;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=Na;Ua=y;Va=Pa;k=156}if((k|0)==156){k=0;y=Ta-Ua|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,Va+Ua|0,y|0)|0;x=y+Ua|0;c[n>>2]=x;c[g>>2]=0;Xa=Ta;Ya=x;Za=Va;k=280}if((k|0)==280){k=0;x=Xa-Ya|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,Za+Ya|0,x|0)|0;y=x+Ya|0;c[n>>2]=y;c[g>>2]=0;$a=Xa;ab=y;bb=Za;k=284}if((k|0)==284){k=0;y=$a-ab|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,bb+ab|0,y|0)|0;x=y+ab|0;c[n>>2]=x;c[g>>2]=0;db=$a;eb=x;fb=bb;k=288}if((k|0)==288){k=0;x=db-eb|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,fb+eb|0,x|0)|0;y=x+eb|0;c[n>>2]=y;c[g>>2]=0;gb=db;hb=y;ib=fb;k=292}if((k|0)==292){k=0;y=gb-hb|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,ib+hb|0,y|0)|0;c[n>>2]=y+hb}A:do if((Ka|0)>0){y=w+4|0;x=0;while(1){Ap(w)|0;pa=c[y>>2]|0;u=pa+(x*112|0)|0;C=c[e>>2]|0;switch(C|0){case 0:{tv(u,1,32,c[l>>2]|0)|0;k=163;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;K=(J|0)<32?J:32;J=(K|0)>0?K:0;Vv(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);k=163;break}default:jb=C}if((k|0)==163){k=0;jb=c[e>>2]|0}C=pa+(x*112|0)+32|0;switch(jb|0){case 0:{tv(C,1,32,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;u=(L|0)<32?L:32;L=(u|0)>0?u:0;Vv(C|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);break}default:{}}c[g>>2]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{J=c[m>>2]|0;C=c[n>>2]|0;u=J-C|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;K=c[o>>2]|0;Vv(g|0,K+C|0,u|0)|0;ra=u+C|0;c[n>>2]=ra;c[pa+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=J;nb=ra;ob=K;k=173;break}default:{kb=0;lb=L;k=170}}B:do if((k|0)==170){k=0;c[pa+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[m>>2]|0;nb=c[n>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[pa+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[m>>2]|0;ub=c[n>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[pa+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[m>>2]|0;zb=c[n>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[pa+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[m>>2]|0;Eb=c[n>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}L=pa+(x*112|0)+104|0;c[L>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=c[m>>2]|0;Jb=c[n>>2]|0;Kb=c[o>>2]|0;Lb=L;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[pa+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=c[m>>2]|0;Ob=c[n>>2]|0;Pb=c[o>>2]|0;Qb=L;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=c[m>>2]|0;Tb=c[n>>2]|0;Ub=c[o>>2]|0;Vb=L;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=c[m>>2]|0;Yb=c[n>>2]|0;Zb=c[o>>2]|0;_b=L;k=276;break B;break}default:Wb=Rb}K=c[pa+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;$b=K;ac=L;break B;break}case 1:{bc=c[m>>2]|0;cc=c[n>>2]|0;dc=c[o>>2]|0;ec=K;fc=L;k=197;break B;break}default:{$b=K;ac=L;break B}}}while(0);if((k|0)==173){k=0;L=mb-nb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,ob+nb|0,L|0)|0;K=L+nb|0;c[n>>2]=K;c[pa+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=mb;ub=K;vb=ob;k=177}if((k|0)==177){k=0;K=tb-ub|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,vb+ub|0,K|0)|0;L=K+ub|0;c[n>>2]=L;c[pa+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=tb;zb=L;Ab=vb;k=181}if((k|0)==181){k=0;L=yb-zb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Ab+zb|0,L|0)|0;K=L+zb|0;c[n>>2]=K;c[pa+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=yb;Eb=K;Fb=Ab;k=185}if((k|0)==185){k=0;K=Db-Eb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Fb+Eb|0,K|0)|0;L=K+Eb|0;c[n>>2]=L;K=pa+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=Db;Jb=L;Kb=Fb;Lb=K;k=189}if((k|0)==189){k=0;K=Ib-Jb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Kb+Jb|0,K|0)|0;L=K+Jb|0;c[n>>2]=L;c[pa+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=L;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;L=Nb-Ob|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Pb+Ob|0,L|0)|0;K=L+Ob|0;c[n>>2]=K;c[g>>2]=0;Sb=Nb;Tb=K;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;K=Sb-Tb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Ub+Tb|0,K|0)|0;L=K+Tb|0;c[n>>2]=L;c[g>>2]=0;Xb=Sb;Yb=L;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;L=Xb-Yb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Zb+Yb|0,L|0)|0;K=L+Yb|0;c[n>>2]=K;L=c[pa+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=Xb;cc=K;dc=Zb;ec=L;fc=_b;k=197}if((k|0)==197){k=0;L=bc-cc|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,dc+cc|0,L|0)|0;c[n>>2]=L+cc;$b=ec;ac=fc}L=c[g>>2]|0;c[$b>>2]=L;Cp($b,L);L=c[$b>>2]|0;C:do if(!L)k=209;else{K=c[$b+12>>2]|0;ra=c[$b+8>>2]|0;J=c[e>>2]|0;switch(J|0){case 0:{tv(K,ra,L,c[l>>2]|0)|0;k=202;break}case 1:{C=B(ra,L)|0;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;sa=(C|0)<(u|0)?C:u;u=(sa|0)>0?sa:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=202;break}default:{gc=J;hc=L}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}J=c[$b+16>>2]|0;switch(gc|0){case 0:{tv(J,4,hc,c[l>>2]|0)|0;break}case 1:{u=hc<<2;ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(u|0)<(K|0)?u:K;K=(sa|0)>0?sa:0;Vv(J|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;ra=c[$b>>2]|0;J=c[e>>2]|0;switch(J|0){case 0:{tv(K,4,ra,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=ra<<2;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;C=(sa|0)<(u|0)?sa:u;u=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=209;break C;break}default:{ic=J;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}L=c[pa+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;u=(c[m>>2]|0)-J|0;ra=(u|0)<4?u:4;u=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+J|0,u|0)|0;c[n>>2]=u+J;break}default:{}}J=c[g>>2]|0;c[L>>2]=J;Cp(L,J);J=c[L>>2]|0;D:do if(!J)k=224;else{u=c[L+12>>2]|0;ra=c[L+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(u,ra,J,c[l>>2]|0)|0;k=217;break}case 1:{C=B(ra,J)|0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(C|0)<(sa|0)?C:sa;sa=(ta|0)>0?ta:0;Vv(u|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=J}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[L>>2]|0}K=c[L+16>>2]|0;switch(jc|0){case 0:{tv(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;ta=(sa|0)<(u|0)?sa:u;u=(ta|0)>0?ta:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[L+20>>2]|0;ra=c[L>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(u,4,ra,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=ra<<2;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;C=(ta|0)<(sa|0)?ta:sa;sa=(C|0)>0?C:0;Vv(u|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}L=c[pa+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+J;break}default:{}}J=c[g>>2]|0;c[L>>2]=J;Cp(L,J);J=c[L>>2]|0;E:do if(J|0){K=c[L+12>>2]|0;sa=c[L+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{tv(K,sa,J,c[l>>2]|0)|0;k=232;break}case 1:{u=B(sa,J)|0;sa=c[n>>2]|0;C=(c[m>>2]|0)-sa|0;ta=(u|0)<(C|0)?u:C;C=(ta|0)>0?ta:0;Vv(K|0,(c[o>>2]|0)+sa|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);k=232;break}default:{mc=ra;nc=J}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[L>>2]|0}ra=c[L+16>>2]|0;switch(mc|0){case 0:{tv(ra,4,nc,c[l>>2]|0)|0;break}case 1:{C=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(C|0)<(K|0)?C:K;K=(ta|0)>0?ta:0;Vv(ra|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[L+20>>2]|0;sa=c[L>>2]|0;switch(c[e>>2]|0){case 0:{tv(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{ra=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;C=(ra|0)<(ta|0)?ra:ta;ta=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);L=c[ac>>2]|0;F:do if(L|0){J=pa+(x*112|0)+92|0;c[J>>2]=xq(L<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Bp(16)|0;c[(c[J>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[J>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;C=(c[m>>2]|0)-K|0;ra=(C|0)<4?C:4;C=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+K|0,C|0)|0;c[n>>2]=C+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;Cp(sa,K);K=c[sa>>2]|0;G:do if(K|0){C=c[sa+12>>2]|0;ra=c[sa+8>>2]|0;u=c[e>>2]|0;switch(u|0){case 0:{tv(C,ra,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(ra,K)|0;ra=c[n>>2]|0;oc=(c[m>>2]|0)-ra|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Vv(C|0,(c[o>>2]|0)+ra|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=u;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}u=c[sa+16>>2]|0;switch(qc|0){case 0:{tv(u,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;ra=c[n>>2]|0;C=(c[m>>2]|0)-ra|0;pc=(oc|0)<(C|0)?oc:C;C=(pc|0)>0?pc:0;Vv(u|0,(c[o>>2]|0)+ra|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}C=c[sa+20>>2]|0;ra=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{tv(C,4,ra,c[l>>2]|0)|0;break G;break}case 1:{u=ra<<2;ra=c[n>>2]|0;pc=(c[m>>2]|0)-ra|0;oc=(u|0)<(pc|0)?u:pc;pc=(oc|0)>0?oc:0;Vv(C|0,(c[o>>2]|0)+ra|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);L=c[pa+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;sa=(J|0)<4?J:4;J=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;break}default:{}}ta=c[g>>2]|0;c[L>>2]=ta;Cp(L,ta);ta=c[L>>2]|0;H:do if(ta|0){J=c[L+12>>2]|0;sa=c[L+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(J,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;C=(pc|0)<(ra|0)?pc:ra;ra=(C|0)>0?C:0;Vv(J|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[L>>2]|0}K=c[L+16>>2]|0;switch(sc|0){case 0:{tv(K,4,tc,c[l>>2]|0)|0;break}case 1:{ra=tc<<2;sa=c[n>>2]|0;J=(c[m>>2]|0)-sa|0;C=(ra|0)<(J|0)?ra:J;J=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+sa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}J=c[L+20>>2]|0;sa=c[L>>2]|0;switch(c[e>>2]|0){case 0:{tv(J,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;C=(c[m>>2]|0)-sa|0;ra=(K|0)<(C|0)?K:C;C=(ra|0)>0?ra:0;Vv(J|0,(c[o>>2]|0)+sa|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);ko(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Kn()|0;switch(c[e>>2]|0){case 0:{tv(x,1,768,c[l>>2]|0)|0;break}case 1:{y=c[n>>2]|0;L=(c[m>>2]|0)-y|0;ta=(L|0)<768?L:768;L=(ta|0)>0?ta:0;Vv(x|0,(c[o>>2]|0)+y|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);break}default:{}}ko(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=lp()|0;switch(c[e>>2]|0){case 0:{tv(x,96,1,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(y|0)<96?y:96;y=(ta|0)>0?ta:0;Vv(x|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}ko(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Np(0)|0;ko(i,11,x)|0;wq(x,0,11032);c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=y;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}tv(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}y=0;while(1){c[g>>2]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;pa=(c[m>>2]|0)-ta|0;C=(pa|0)<4?pa:4;pa=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+ta|0,pa|0)|0;c[n>>2]=pa+ta;c[x+8+(y*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=L;k=347}}J:do if((k|0)==347){k=0;c[x+8+(y*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(y*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(y*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(y*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}L=c[g>>2]|0;c[x+8+(y*344|0)+332>>2]=L;ta=x+8+(y*344|0)+268|0;switch(Hc|0){case 1:{Ic=L;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}tv(ta,1,L,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;L=c[g>>2]|0;c[x+8+(y*344|0)+332>>2]=L;Ic=L;Jc=x+8+(y*344|0)+268|0;k=361}if((k|0)==361){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(Ic|0)<(ta|0)?Ic:ta;ta=(pa|0)>0?pa:0;Vv(Jc|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;L=(c[m>>2]|0)-ta|0;pa=(L|0)<4?L:4;L=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+ta|0,L|0)|0;c[n>>2]=L+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){L=0;while(1){c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{C=c[n>>2]|0;sa=(c[m>>2]|0)-C|0;J=(sa|0)<4?sa:4;sa=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+C|0,sa|0)|0;c[n>>2]=sa+C;c[x+8+(y*344|0)+12+(L<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=pa;k=372}}L:do if((k|0)==372){k=0;c[x+8+(y*344|0)+12+(L<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(y*344|0)+12+(L<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;pa=c[n>>2]|0;C=(c[m>>2]|0)-pa|0;sa=(C|0)<4?C:4;C=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+pa|0,C|0)|0;c[n>>2]=C+pa;c[x+8+(y*344|0)+12+(L<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;pa=c[n>>2]|0;C=(c[m>>2]|0)-pa|0;sa=(C|0)<4?C:4;C=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+pa|0,C|0)|0;c[n>>2]=C+pa}c[x+8+(y*344|0)+12+(L<<4)+12>>2]=c[g>>2];L=L+1|0;if((L|0)==(ta|0))break K}}while(0);y=y+1|0;if((y|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){Cn(96038);w=c[e>>2]|0;switch(w|0){case 0:{Zu(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{y=c[n>>2]|0;x=(c[m>>2]|0)-y|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+y|0,x|0)|0;c[n>>2]=x+y;break}default:{}}y=c[g>>2]|0;x=Aq(y)|0;ko(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{tv(ta,1,64,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;pa=(c[m>>2]|0)-L|0;C=(pa|0)<64?pa:64;pa=(C|0)>0?C:0;Vv(ta|0,(c[o>>2]|0)+L|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;pa=c[x+12>>2]|0;M:do if(w)Mo(pa,y,e)|0;else switch(c[e>>2]|0){case 0:{tv(pa,1,y,c[l>>2]|0)|0;break M;break}case 1:{L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;C=(y|0)<(ta|0)?y:ta;ta=(C|0)>0?C:0;Vv(pa|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=y;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=Ru(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{Zu(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Ia=d;return h|0}jo(i);h=0;Ia=d;return h|0}while(0);jo(i);h=0;Ia=d;return h|0}function Mo(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=Ia;Ia=Ia+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{tv(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Vv(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=xq(h)|0;switch(c[d>>2]|0){case 0:{tv(f,1,h,c[d+8>>2]|0)|0;k=Hq(f,a,h,b)|0;Ia=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Vv(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=Hq(f,a,h,b)|0;Ia=e;return k|0}default:{k=Hq(f,a,h,b)|0;Ia=e;return k|0}}return 0}function No(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Ru(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function Oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+16|0;d=b;e=Po(a,96074)|0;if(e){f=Lo(0,e)|0;if(!(us(e)|0)){if(!(c[e>>2]|0))Lu(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(!(c[554979]|0)){c[554979]=(Xr()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?96077:96084;wt(1715360,96087,d)|0;Cn(1715360);Ia=b;return g|0}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+1040|0;f=e+1032|0;g=e+1024|0;h=e;Qo(b,0,h,0,1);a:do if(95922){i=95922;j=4640;while(1){k=bu(i)|0;if((k|0)==(bu(h)|0)?Ts(i,h)|0:0)break;j=j+4|0;i=c[j>>2]|0;if(!i)break a}l=0;Ia=e;return l|0}while(0);if((ka(26)|0)!=1){h=ts(b,d)|0;i=(h|0)!=0;if(i){c[g>>2]=b;c[g+4>>2]=d;vv(96110,g)|0}g=a[d>>0]|0;if(g<<24>>24==119|i&g<<24>>24==114){l=h;Ia=e;return l|0}}h=xq(92)|0;wq(h,0,92);c[h>>2]=0;g=Fu(b,d)|0;c[h+8>>2]=g;if(g){if(h|0){l=h;Ia=e;return l|0}}else zq(h);h=ts(b,d)|0;if(!h){l=0;Ia=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;vv(96173,f)|0;l=h;Ia=e;return l|0}function Qo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((bu(b)|0)>>>0>1023){Cn(96208);Ia=g;return}Rs(h,b)|0;l=bu(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=f;t=n;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)Rs(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=b;t=p;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=n;t=q;r=27}}while(0);if((r|0)==27)if(s<<24>>24==47){u=t;r=28}else v=t;if((r|0)==28)v=u+1|0;if(j)Rs(d,v)|0;if((v|0)==(h|0)){Ia=g;return}a[v>>0]=0;if(!i){Ia=g;return}Rs(c,h)|0;Ia=g;return}function Ro(a){a=a|0;if(!a)return;if(us(a)|0)return;if(!(c[a>>2]|0))Lu(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)zq(c[a+12>>2]|0);zq(a);if(c[554979]|0)return;c[554979]=(Xr()|0)+1e3;return}function So(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Ru(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=rv(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=k;n=0;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=Ru(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=rv(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=s;n=r;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=Ru(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=u;n=t;break a}}}else{m=l;n=1}}while(0);a[b+n>>0]=0;if((m|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=rv(c[f+8>>2]|0)|0;i=30;break}case 1:{m=f+20|0;n=c[m>>2]|0;if((n|0)<(c[f+16>>2]|0)){c[m>>2]=n+1;w=d[(c[f+12>>2]|0)+n>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function To(){wq(2220960,0,7424);c[555241]=0;c[555242]=0;c[555243]=32;c[555248]=256;c[555247]=(c[555801]|0)==0?192:64;c[555260]=1024;if(ka(27)|0){qv(96339)|0;c[555260]=2048}c[555261]=-1;c[555254]=0;c[555262]=0;c[555263]=0;c[555264]=0;c[555265]=0;c[555255]=-1;c[555256]=-1;c[555257]=-1;c[555275]=-1;c[555276]=1;c[555282]=0;c[555249]=2;c[555250]=10;c[555252]=0;if(!(c[555801]|0)){c[555270]=1;c[555283]=30;return}c[555249]=5;c[555270]=1;c[555283]=30;return}function Uo(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;b=Ia;Ia=Ia+1488|0;d=b+1464|0;e=b+1456|0;f=b+1448|0;g=b+1440|0;h=b+1432|0;i=b+1424|0;j=b+1416|0;k=b+1408|0;l=b+1400|0;m=b+1392|0;n=b+1384|0;o=b+1376|0;p=b+1368|0;q=b+1360|0;r=b+1352|0;s=b+1344|0;t=b+1336|0;u=b+1328|0;v=b+1320|0;w=b+1312|0;x=b+1304|0;y=b+1296|0;z=b+1288|0;A=b+1280|0;B=b+1024|0;C=b;D=b+1472|0;E=b+1468|0;if(c[557117]|0){Ia=b;return}a[2223216]=0;a[2224240]=0;ds(96392,C);F=Po(C,104528)|0;if(!F){es(96392,C);G=Po(C,104528)|0;if(!G){Ia=b;return}else H=G}else H=F;c[557117]=1;kv(2223216,C,1023)|0;Cn(96403);Cn(96421);switch(c[H>>2]|0){case 0:{I=Ru(c[H+8>>2]|0)|0;J=7;break}case 1:{I=(c[H+20>>2]|0)>=(c[H+16>>2]|0)&1;J=7;break}default:J=8}if((J|0)==7?(I|0)==0:0)J=8;a:do if((J|0)==8){I=H+8|0;C=B+10|0;F=H+20|0;G=H+16|0;K=B+11|0;L=B+8|0;M=B+19|0;N=B+12|0;O=B+15|0;P=B+6|0;Q=B+9|0;R=B+13|0;S=B+17|0;T=B+30|0;U=B+255|0;V=1;while(1){a[B>>0]=0;switch(c[H>>2]|0){case 0:{Qu(B,255,c[I>>2]|0)|0;break}case 1:{So(B,255,H)|0;break}default:{}}W=bu(B)|0;b:do if((W|0)>0){X=W;while(1){Y=X;X=X+-1|0;Z=B+X|0;switch(a[Z>>0]|0){case 13:case 10:break;default:break b}a[Z>>0]=0;if((Y|0)<=1)break b}}while(0);switch(a[B>>0]|0){case 47:case 0:{_=V;break}default:{c[A>>2]=V;c[A+4>>2]=B;wt(1715360,96424,A)|0;Cn(1715360);_=V+1|0}}c:do if(!(ut(B,96433,10)|0)){c[z>>2]=2220976;c[z+4>>2]=2220980;Su(C,96444,z)|0;c[555241]=c[555244];c[555242]=c[555245]}else{if(!(ut(B,96451,11)|0)){c[y>>2]=2220976;c[y+4>>2]=2220980;Su(K,96444,y)|0;break}if(!(ut(B,96463,11)|0)){c[x>>2]=2220964;c[x+4>>2]=2220968;Su(K,96444,x)|0;break}if(!(ut(B,96475,8)|0)){c[w>>2]=2220984;Su(L,96484,w)|0;break}if(!(ut(B,96488,19)|0)){c[v>>2]=2220996;Su(M,96484,v)|0;break}if(!(ut(B,96508,19)|0)){c[u>>2]=2221e3;Su(M,96484,u)|0;break}if(!(ut(B,96528,12)|0)){c[t>>2]=2220988;Su(N,96484,t)|0;break}if(!(ut(B,96541,12)|0)){c[s>>2]=2220992;Su(N,96484,s)|0;break}if(!(ut(B,96554,15)|0)){c[r>>2]=2221040;Su(O,96484,r)|0;break}if(!(ut(B,96570,6)|0)){c[q>>2]=2221044;Su(P,96484,q)|0;break}if(!(ut(B,96577,11)|0)){c[p>>2]=2221048;Su(K,96484,p)|0;break}if(!(ut(B,96589,8)|0)){c[o>>2]=2221052;Su(L,96484,o)|0;break}if(!(ut(B,96598,12)|0)){c[n>>2]=2221060;Su(N,96484,n)|0;break}if(!(ut(B,96611,9)|0)){c[m>>2]=2221016;Su(Q,96484,m)|0;break}if(!(ut(B,96621,15)|0)){c[l>>2]=2221020;c[l+4>>2]=2221024;Su(O,96444,l)|0;W=c[555256]|0;c[k>>2]=c[555255];c[k+4>>2]=W;wt(1715360,96637,k)|0;Cn(1715360);break}if(!(ut(B,96666,8)|0)){c[j>>2]=2221128;Su(Q,96484,j)|0;break}if(!(ut(B,96675,7)|0)){c[i>>2]=2221076;Su(L,96484,i)|0;break}if(!(ut(B,96683,12)|0)){a[2222172]=0;W=R;d:while(1){$=a[W>>0]|0;switch($<<24>>24){case 0:{break c;break}case 32:{W=W+1|0;break}default:break d}}X=$;Y=W;Z=0;aa=0;while(1){ba=2222172+aa|0;do if(X<<24>>24>31){ca=X<<24>>24==92?47:X<<24>>24;if(!((Z|0)!=47|(ca|0)!=47)){da=47;ea=aa;break}a[ba>>0]=ca;fa=aa+1|0;a[2222172+fa>>0]=0;da=ca;ea=fa}else{da=Z;ea=aa}while(0);Y=Y+1|0;X=a[Y>>0]|0;if(!(X<<24>>24))break;else{Z=da;aa=ea}}if((ea|0)<=0)break;aa=2222172+ea|0;e:while(1){Z=aa+-1|0;switch(a[Z>>0]|0){case 47:{break c;break}case 32:break;default:break e}a[Z>>0]=0;if(Z>>>0>2222172>>>0)aa=Z;else break c}a[aa>>0]=47;a[aa+1>>0]=0;break}if(!(ut(B,96696,17)|0)){c[h>>2]=2221080;Su(S,96484,h)|0;break}if(!(ut(B,96714,11)|0)){c[g>>2]=2221084;Su(K,96484,g)|0;switch(c[555271]|0){case 1:{c[555272]=1;break c;break}case 2:{c[555272]=0;break c;break}default:break c}}if(!(ut(B,96726,30)|0)){c[f>>2]=2221012;Su(T,96484,f)|0;break}if(ut(B,96757,13)|0){if(!(ut(B,96777,8)|0)){c[d>>2]=2228380;Su(L,96484,d)|0;break}Z=c[557115]|0;if(!Z)break;a[U>>0]=0;La[Z&255](B)|0;break}Z=R;while(1){ga=a[Z>>0]|0;if(ga<<24>>24==32)Z=Z+1|0;else break}if((ga+-48&255)<10){aa=Z;do{c[D>>2]=0;c[E>>2]=0;c[e>>2]=D;c[e+4>>2]=E;Su(aa,96771,e)|0;X=c[D>>2]|0;Y=c[E>>2]|0;if(X>>>0<512&(Y+-1|0)>>>0<511)c[2224284+(X<<2)>>2]=Y;Y=aa;while(1){X=a[Y>>0]|0;ha=X<<24>>24==44;ia=Y+1|0;if(ha^X<<24>>24!=0)Y=ia;else break}aa=ha?ia:Y}while(((a[aa>>0]|0)+-48&255)<10)}aa=0;do{Z=c[2224284+(aa<<2)>>2]|0;if((Z|0)>0)c[2226332+(Z<<2)>>2]=aa;aa=aa+1|0}while((aa|0)!=512)}while(0);switch(c[H>>2]|0){case 0:{ja=Ru(c[I>>2]|0)|0;break}case 1:{ja=(c[F>>2]|0)>=(c[G>>2]|0)&1;break}default:ja=0}if(!ja)V=_;else break a}}while(0);Cn(96786);_=c[555249]|0;ja=(_|0)<200?_:200;c[555249]=(ja|0)>0?ja:0;ja=c[555250]|0;_=(ja|0)<200?ja:200;c[555250]=(_|0)>0?_:0;_=c[555247]|0;ja=(_|0)<256?_:256;c[555247]=(ja|0)>0?ja:0;ja=c[555248]|0;_=(ja|0)<256?ja:256;c[555248]=(_|0)>0?_:0;if(((c[555260]|0)+-512|0)>>>0>7680)c[555260]=1024;if(!(us(H)|0)){if(!(c[H>>2]|0))Lu(c[H+8>>2]|0)|0;if(c[H+88>>2]|0)zq(c[H+12>>2]|0);zq(H);if(!(c[554979]|0))c[554979]=(Xr()|0)+1e3}c[555240]=1;H=Vo(2223216)|0;if(H|0)Gq(c[H+12>>2]|0,c[H+16>>2]|0,2224240)|0;Cq(H);Ia=b;return}function Vo(a){a=a|0;var b=0,c=0,d=0,e=0;b=Fu(a,96074)|0;if(!b){c=0;return c|0}a=Aq(1024)|0;d=xq(65536)|0;if(!(Ru(b)|0))do{e=tv(d,1,65536,b)|0;Ho(d,1,e,a)|0}while((e|0)!=0&(Ru(b)|0)==0);zq(d);Lu(b)|0;c=a;return c|0}function Wo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1725728:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=e;e=c;c=0;g=d;while(1){if(b<<24>>24>31){h=b<<24>>24==92?47:b<<24>>24;if((c|0)!=47|(h|0)!=47){a[g>>0]=h;i=g+1|0;a[i>>0]=0;j=h;k=i}else{j=47;k=g}}else{j=c;k=g}e=e+1|0;b=a[e>>0]|0;if(!(b<<24>>24))break;else{c=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function Xo(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1072|0;d=b+48|0;e=b;ds(96392,d);wq(e,0,41);f=Vo(d)|0;if(f|0)Gq(c[f+12>>2]|0,c[f+16>>2]|0,e)|0;Cq(f);if(!((a[e>>0]|0)==0|(a[2224240]|0)==0)?tt(e,2224240,40)|0:0){Ia=b;return}e=Po(d,96789)|0;if(!e){Ia=b;return}d=e+8|0;if(!(c[d>>2]|0)){Ia=b;return}c[555246]=xr()|0;Yo(e,96791,c[555247]|0)|0;Yo(e,96818,c[555248]|0)|0;f=c[557116]|0;if(!f){if(us(e)|0){Ia=b;return}if(!(c[e>>2]|0))Lu(c[d>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(c[554979]|0){Ia=b;return}c[554979]=(Xr()|0)+1e3;Ia=b;return}else{La[f&255](e)|0;if(us(e)|0){Ia=b;return}if(!(c[e>>2]|0))Lu(c[d>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(c[554979]|0){Ia=b;return}c[554979]=(Xr()|0)+1e3;Ia=b;return}}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+1040|0;f=e+1024|0;g=e;wq(g,0,1024);c[f>>2]=d;wt(g,b,f)|0;f=bu(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;hv(g,1,f,c[a+8>>2]|0)|0;Ia=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Bq(a,(c[b>>2]|0)+f|0)|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Ia=e;return 0}default:{Ia=e;return 0}}return 0}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qo(a,b,c,d,0);return}function _o(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ia;Ia=Ia+1024|0;e=d;switch(a[b>>0]|0){case 92:case 47:{f=3;break}default:if((a[b+1>>0]|0)==58)f=3;else gs(b,e)}if((f|0)==3)ku(e,b)|0;a[c>>0]=0;b=0;g=1;a:while(1){h=e+b|0;i=b;b:while(1){j=a[e+i>>0]|0;switch(j<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}i=i+1|0}k=e+i|0;l=j<<24>>24==0;if((b|0)==(i|0)&l){f=10;break}a[k>>0]=0;c:do if(au(h,104886)|0){if(!((b|0)==0|(au(h,96845)|0)!=0)){m=(bu(c)|0)+-1|0;if((m|0)<=0){n=g;f=24;break}a[c+m>>0]=0;o=m;while(1){m=c+o|0;switch(a[m>>0]|0){case 58:case 92:case 47:{n=g;f=24;break c;break}default:{}}a[m>>0]=0;if((o|0)>1)o=o+-1|0;else{n=g;f=24;break c}}}if(au(h,96848)|0){if((g|0)==0?(a[h>>0]|0)==0:0){n=0;f=24;break}lu(c,h)|0;if(l){f=22;break a}o=c+(bu(c)|0)|0;a[o>>0]=47;a[o+1>>0]=0;a[k>>0]=j;p=0}else{n=g;f=24}}else{n=g;f=24}while(0);if((f|0)==24){f=0;a[k>>0]=j;if(l){f=26;break}else p=n}b=i+1|0;g=p}if((f|0)==10){if(b|0){Ia=d;return}a[c>>0]=0;Ia=d;return}else if((f|0)==22){a[k>>0]=0;Ia=d;return}else if((f|0)==26){Ia=d;return}}function $o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ia=d;return h|0}if(nq(e,f,g,b)|0){h=0;Ia=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Ia=d;return h|0}j=Sn(b,i,32)|0;i=j+12|0;Vv(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}zq(c[e>>2]|0);h=j;Ia=d;return h|0}function ap(a){a=a|0;var b=0,d=0;b=Po(a,96074)|0;if(!b){d=0;return d|0}a=$o(b)|0;if(us(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Lu(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)zq(c[b+12>>2]|0);zq(b);if(c[554979]|0){d=a;return d|0}c[554979]=(Xr()|0)+1e3;d=a;return d|0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;h=Sn(c[d>>2]|0,c[g>>2]|0,32)|0;i=d+8|0;j=c[i>>2]|0;if((j|0)==32){Gp(d,h,0,0,0,0,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0}else k=j;if((k|0)==8)eo(d,h,c[742761]|0);k=h+12|0;j=c[d>>2]|0;i=c[g>>2]|0;l=B(i,j)|0;if(!l){m=j;n=i}else{i=l;l=c[k>>2]|0;while(1){j=a[l>>0]|0;o=l+2|0;a[l>>0]=a[o>>0]|0;a[o>>0]=j;i=i+-1|0;if(!i)break;else l=l+4|0}m=c[d>>2]|0;n=c[g>>2]|0}c[f>>2]=uq(b,c[k>>2]|0,m,n,6,8)|0;c[f+4>>2]=b;wt(1715360,96850,f)|0;Cn(1715360);Tn(h)|0;Ia=e;return 0}function cp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Ia;Ia=Ia+1024|0;d=b;Qo(a,0,d,0,1);if(!95922){e=1;Ia=b;return e|0}a=95922;f=4640;while(1){g=bu(a)|0;if((g|0)==(bu(d)|0)?Ts(a,d)|0:0){e=0;h=6;break}f=f+4|0;a=c[f>>2]|0;if(!a){e=1;h=6;break}}if((h|0)==6){Ia=b;return e|0}return 0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Ia;Ia=Ia+1040|0;i=h+1024|0;j=h;wq(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;wt(j,b,i)|0;i=bu(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;hv(j,1,i,c[a+8>>2]|0)|0;Ia=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Bq(a,(c[b>>2]|0)+i|0)|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Ia=h;return 0}default:{Ia=h;return 0}}return 0}function ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Fu(a,96074)|0;if(!c){d=1;return d|0}a=Fu(b,104706)|0;if(!a){Lu(c)|0;d=2;return d|0}b=xq(65536)|0;if(!(Ru(c)|0))do{e=tv(b,1,65536,c)|0;hv(b,1,e,a)|0}while((e|0)!=0&(Ru(c)|0)==0);zq(b);Lu(c)|0;Lu(a)|0;d=0;return d|0}function fp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=xq(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Ia=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=yq(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=96909;wt(1715360,96886,h)|0;Cn(1715360)}if((c[i>>2]|0)>0){i=a+28|0;a=yq(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=96935;wt(1715360,96886,g)|0;Cn(1715360)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Ia=e;return}function gp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ia=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=yq(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=96966;wt(1715360,96886,g)|0;Cn(1715360)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Ia=e;return}function hp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=0;l=h}else{j=i;k=c[i>>2]|0;l=a+52|0}c[j>>2]=yq(k,e<<2)|0;c[l>>2]=yq(c[l>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){k=a+56|0;Vv(c[j>>2]|0,a|0,b[k>>1]<<2|0)|0;Vv(c[l>>2]|0,a+16|0,b[k>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}k=c[a+48>>2]|0;l=c[a+52>>2]|0;a=g;do{c[k+(a<<2)>>2]=0;f[l+(a<<3)+4>>2]=0.0;f[l+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function ip(){var a=0,b=0,d=0;a=xq(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[554810]=(c[554810]|0)+1;return a|0}function jp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=e;e=0;while(1){h=c[f>>2]|0;if((b[h+(e*80|0)+58>>1]|0)>4){zq(c[h+(e*80|0)+48>>2]|0);zq(c[(c[f>>2]|0)+(e*80|0)+52>>2]|0);i=c[d>>2]|0}else i=g;e=e+1|0;if((e|0)>=(i|0))break;else g=i}}i=c[a>>2]|0;if(i|0)zq(i);i=c[a+32>>2]|0;if(i|0)zq(i);i=c[a+12>>2]|0;if(i|0)zq(i);i=c[a+28>>2]|0;if(i|0)zq(i);i=c[a+48>>2]|0;if(i|0)zq(i);i=c[a+36>>2]|0;if(i|0)zq(i);i=c[a+40>>2]|0;if(i|0)zq(i);zq(a);c[554810]=(c[554810]|0)+-1;return}function kp(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ia=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=i;i=0;while(1){p=c[j>>2]|0;if((b[p+(i*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[p+(i*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=p+(i*80|0)+60|0;qp(e,g,u);pp(u);x=c[h>>2]|0}else{f[p+(i*80|0)+60>>2]=0.0;f[p+(i*80|0)+64>>2]=1.0;f[p+(i*80|0)+68>>2]=0.0;x=o}i=i+1|0;if((i|0)>=(x|0))break;else o=x}Ia=d;return}function lp(){var a=0,b=0,d=0,e=0,f=0;a=xq(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[554810]=(c[554810]|0)+1;b=a;return b|0}function mp(a){a=a|0;if(!a)return;zq(a);c[554810]=(c[554810]|0)+-1;return}function np(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){zq(g);c[f>>2]=0;h=a+40|0;zq(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=yq(g,e<<2)|0;e=a+40|0;g=yq(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=k;o=0;while(1){if((c[m>>2]|0)==(c[(c[l+(o*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=o;p=c[d>>2]|0}else p=n;o=o+1|0;if((o|0)>=(p|0)){q=p;break}else n=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=r;r=0;while(1){if((e|0)<=0){s=24;break}b=e;q=0;a=0;p=r;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=b;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=b;u=q;v=p;break}h=g+(p<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=c[d>>2]|0;u=1;v=p+1|0}while(0);a=a+1|0;if((a|0)>=(t|0))break;else{b=t;q=u;p=v}}if(!u){s=24;break}else{e=t;r=v}}if((s|0)==24)return}function op(a){a=a|0;kp(a);np(a);Ep(a,0);return}function pp(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function qp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function sp(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8735]=b;c[8734]=b^-1095947846;return}function tp(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8734]|0;e=c[8735]|0;f=(d<<16|d>>>16)+e|0;c[8734]=f;c[8735]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function up(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4752+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4752+(a<<2)>>2]|0;return d|0}return 0}function vp(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4752+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4752+(a<<2)>>2]|0;return d|0}return 0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=(b|0)==-2147483648?2147483647:0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Lv(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=Lv(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[21152+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function xp(){var a=0;a=xq(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[554810]=(c[554810]|0)+1;return a|0}function yp(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{zp(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}zq(c[a+4>>2]|0);c[554810]=(c[554810]|0)+-1;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=e;g=i;i=0;while(1){f=c[h+(i<<2)>>2]|0;if(!f)j=g;else{zq(c[f+12>>2]|0);zq(c[f+16>>2]|0);zq(c[f+20>>2]|0);zq(f);j=c[d>>2]|0}i=i+1|0;f=c[j+(b*112|0)+92>>2]|0;if((i|0)>=(c[j+(b*112|0)+104>>2]|0)){k=f;break}else{h=f;g=j}}}else k=e;zq(k);return}function Ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=yq(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;wt(h+(g*112|0)|0,96990,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Ia=d;return (c[b>>2]|0)+-1|0}function Bp(a){a=a|0;var b=0;b=xq(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function Cp(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=yq(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=yq(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=yq(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=yq(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=j;m=b;b=0;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=l+(b*48|0)|0;f[l+(b*48|0)+4>>2]=q;f[u>>2]=t*n;f[l+(b*48|0)+8>>2]=o*n;v=l+(b*48|0)+12|0;r=n*0.0-q*s;f[l+(b*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[l+(b*48|0)+20>>2]=t*p+r*o;qp(u,v,l+(b*48|0)+24|0);v=m+12|0;l=c[g>>2]|0;u=l+(b*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+12|0;v=c[u>>2]|0;y=l+(b*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=l+(b*48|0)+24|0;y=c[v>>2]|0;u=l+(b*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=l+(b*48|0)+28|0;u=c[y>>2]|0;v=l+(b*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(b<<2)>>2]|0)==-1){f[l+(b*48|0)+36>>2]=0.0;f[l+(b*48|0)+40>>2]=0.0;f[l+(b*48|0)+44>>2]=0.0}b=b+1|0;z=c[d>>2]|0;if((b|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){b=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[b+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[l+(k*48|0)+36>>2]=+f[l+(g*48|0)+36>>2]+ +f[l+(g*48|0)>>2];f[l+(k*48|0)+40>>2]=+f[l+(g*48|0)+40>>2]+ +f[l+(g*48|0)+12>>2];f[l+(k*48|0)+44>>2]=+f[l+(g*48|0)+44>>2]+ +f[l+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=l;C=m}else{A=z;B=l;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function Ep(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Ia;Ia=Ia+16|0;g=d;if(!a){Ia=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){zq(j);c[i>>2]=0;Ia=d;return}k=a+4|0;c[i>>2]=yq(j,c[k>>2]<<5)|0;j=a+44|0;l=xq(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(q*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((r|3)<<2)>>2]=+v(+(x*x+A*A+B*B));pp(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(r<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((r|1)<<2)|0;f[s>>2]=x;f[l+((r|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(q<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(q*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=q}q=q+1|0;if((q|0)>=(c[h>>2]|0))break;else r=r+4|0}}if(b|0){Vv(b|0,l|0,c[j>>2]|0)|0;zq(l);Ia=d;return}Dp(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{r=c[i>>2]|0;rp((c[j>>2]|0)+((e[r+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,r+(b<<5)+8|0);r=c[i>>2]|0;rp((c[j>>2]|0)+((e[r+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,r+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}zq(l);Ia=d;return}function Fp(){var a=0,b=0,d=0;a=c[555273]|0;b=c[555275]|0;if(!(c[555285]|c[555272]))if((b|0)==-1)d=(c[742748]|0)<720&1;else d=b;else d=1;b=(a|0)<8?a:8;return ((d|0)==0?((b|0)<1?1:(b|0)>0?b:0):1)|0}function Gp(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Ia;Ia=Ia+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Ia=k;return}j=b+8|0;i=a+8|0;if(2970992==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ia=k;return}Vn(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ia=k;return}g=c[j>>2]|0;j=g>>3;if(2970992==(b|0)){f=c[555273]|0;e=c[555275]|0;if(!(c[555285]|c[555272]))if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;else r=1;e=(f|0)<8?f:8;f=(e|0)<1?1:(e|0)>0?e:0;if(!((f|0)>1&(r|0)==0)){Wr(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ia=k;return}r=c[557118]|0;if(((r|0)!=0?(e=c[r>>2]|0,(e|0)==(B(c[a>>2]|0,f)|0)):0)?(s=c[r+4>>2]|0,(s|0)==(B(c[a+4>>2]|0,f)|0)):0){t=r;u=e;v=s}else{w=a;x=13}if((x|0)==13){Tn(r)|0;r=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=Sn(r,w,c[i>>2]|0)|0;c[557118]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}_n(a,t,0,0,u,v,0);v=c[557118]|0;Wr(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ia=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ia=k;return}i=b+16|0;u=a+16|0;t=h;f=0;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+f<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;Vv(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+f<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(t,j)|0)|0;w=f+1|0;if((w|0)>=(c[q>>2]|0))break;t=c[p>>2]|0;f=w}Ia=k;return}if(!((g|0)==32&(v|0)==8)){Ia=k;return}v=c[742761]|0;g=c[q>>2]|0;if((g|0)<=0){Ia=k;return}f=a+16|0;a=b+16|0;b=h;h=g;g=0;while(1){if((b|0)>0){t=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[t+((c[m>>2]|0)+g<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+g<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=b}g=g+1|0;if((g|0)>=(z|0))break;else{b=A;h=z}}Ia=k;return}function Hp(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;m=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;n=i;while(1){o=a[m>>0]|0;if(o<<24>>24)a[l>>0]=o;n=n+-1|0;if(!n)break;else{l=l+1|0;m=m+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function Ip(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;l=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;m=0;while(1){n=c[l>>2]|0;o=$n(c[k>>2]|0,n,n>>>24)|0;c[k>>2]=c[k>>2]&-16777216|o;m=m+1|0;if((m|0)==(h|0))break;else{k=k+4|0;l=l+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(au(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=yq(h,(d<<2)+4|0)|0;d=xq((bu(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Rs(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=yq(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function Kp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=d;f=0;while(1){zq(c[e+(f<<2)>>2]|0);f=f+1|0;g=c[b>>2]|0;if((f|0)>=(c[a>>2]|0)){h=g;break}else e=g}}else h=d;zq(h);zq(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;zq(i);j=c[554810]|0;k=j+-1|0;c[554810]=k;return}e=a;a=0;while(1){zq(c[e+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0;if((a|0)>=(c[h>>2]|0)){i=f;break}else e=f}zq(i);j=c[554810]|0;k=j+-1|0;c[554810]=k;return}function Lp(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=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(au(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);do if((h|0)!=(e|0)?(b=c[a+16>>2]|0,g=(c[b+(h<<2)>>2]|0)+d|0,(g|0)<(c[a+4>>2]|0)):0){if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=34944;break}j=(c[a+12>>2]|0)+(g<<2)|0}else j=34944;while(0);return c[j>>2]|0}function Mp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+2048|0;e=d+1024|0;f=d;g=Po(b,104528)|0;if(!g){h=0;Ia=d;return h|0}b=xq(24)|0;wq(b,0,24);a:do if(!(No(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;So(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=k;m=e;while(1){n=l<<24>>24;switch(l<<24>>24){case 47:case 0:{break b;break}default:{}}if(l<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=m+1|0;l=a[n>>0]|0;m=n}if(l<<24>>24){a[f>>0]=0;n=l;o=m;p=0;while(1){a[f+p>>0]=n;p=p+1|0;a[f+p>>0]=0;q=o+1|0;n=a[q>>0]|0;r=n<<24>>24;if(!(n<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){Jp(b,f);n=a[q>>0]|0;if(n<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;p=n;n=q;c:while(1){switch(p<<24>>24){case 58:case 32:break;default:break c}m=n+1|0;p=a[m>>0]|0;n=m}o=p<<24>>24==0;if(!s){if(o)break b;c[i>>2]=yq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;m=xq((bu(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=m;Rs(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}m=t;r=l;u=0;d:while(1){switch(m<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+u>>0]=m;v=u+1|0;a[f+v>>0]=0;w=r+1|0;m=a[w>>0]|0;r=w;u=v}if(!(a[f>>0]|0))x=m;else{c[i>>2]=yq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;u=xq((bu(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=u;Rs(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(No(g)|0)break a}}while(0);Ro(g);c[554810]=(c[554810]|0)+1;h=b;Ia=d;return h|0}function Np(a){a=a|0;var b=0;b=vq(11032)|0;c[b>>2]=a<<2;c[554810]=(c[554810]|0)+1;return b|0}function Op(a){a=a|0;if(!a)return;Pp(a);zq(a);c[554810]=(c[554810]|0)+-1;return}function Pp(a){a=a|0;var b=0;b=a+11016|0;Yq(c[b>>2]|0);Xq(c[b>>2]|0);c[b>>2]=0;b=a+344|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+688|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;zq(c[b>>2]|0);c[b>>2]=0;return}function Qp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Ia;Ia=Ia+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=T+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(T>>>3)>>0]|0;Z=T&7;_=T+1|0;$=T+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+U|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=yq(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=U}else{da=0;ha=ca;ca=U;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Rp(i);Sp(j);ka=$;la=0;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0<g>>>0){_=T+4|0;ea=T+5|0;V=T+6|0;da=T+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=T+8|0;V=ma+257|0;ea=T+9|0;_=T+10|0;na=T+11|0;oa=T+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=T+13|0;na=T+14|0;_=T+15|0;da=T+16|0;ea=T+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=yq(0,152)|0;do if(!da){ra=0;sa=ea;ta=9911}else{_=ea;oa=0;while(1){if(oa>>>0<qa>>>0){na=_+1|0;ua=_+2|0;va=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4;wa=_+3|0}else{va=0;wa=_}c[da+(c[29360+(oa<<2)>>2]<<2)>>2]=va;oa=oa+1|0;if((oa|0)==19)break;else _=wa}if((c[N>>2]|0)>>>0<76){_=yq(c[M>>2]|0,152)|0;if(!_){ra=da;sa=wa;ta=9903;break}c[N>>2]=152;c[M>>2]=_;c[O>>2]=19;xa=_}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;_=Tp(k)|0;zq(da);if(_|0){ya=wa;za=_;break b}_=yq(0,2304)|0;if(!_){Aa=0;Ba=0;Ca=0}else{Wv(_|0,0,1152)|0;Aa=_;Ba=_;Ca=288}_=yq(0,256)|0;c:do if(_){ca=_;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Ba){oa=ma+258+pa|0;do if(oa){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=wa;Fa=0;Ga=0;d:while(1){if(Ea>>>0>l>>>0){Ha=Ea;X=59;break}Ja=Ea;Ka=0;while(1){La=c[ua+(((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)&1|Ka<<1)<<2)>>2]|0;Ma=Ja+1|0;if(La>>>0<na>>>0)break;Ka=La-na|0;if(Ja>>>0>=l>>>0|Ka>>>0>=na>>>0){Ha=Ma;X=59;break d}else Ja=Ma}e:do if(La>>>0<16){c[(Ga>>>0<V>>>0?Ba+(Ga<<2)|0:_+(Ga-V<<2)|0)>>2]=La;Na=Ma;Oa=Fa;Pa=Ga+1|0}else switch(La|0){case 16:{Ka=Ma>>>3;if(Ka>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Ta=Ja+2|0;Ua=Ja+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ka>>0]|0)>>>(Ma&7)&1)+3|0;Ka=Ga+-1|0;Ta=c[(Ka>>>0<V>>>0?Ba+(Ka<<2)|0:_+(Da+Ga<<2)|0)>>2]|0;Ka=Ga;Wa=0;while(1){if(Ka>>>0>=oa>>>0){Na=Ua;Oa=13;Pa=Ka;break e}c[(Ka>>>0<V>>>0?Ba+(Ka<<2)|0:_+(Ka-V<<2)|0)>>2]=Ta;Xa=Ka+1|0;Wa=Wa+1|0;if(Wa>>>0>=Va>>>0){Na=Ua;Oa=Fa;Pa=Xa;break}else Ka=Xa}break}case 17:{Ka=Ma>>>3;if(Ka>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Ua=Ja+2|0;Va=Ja+3|0;Wa=Ja+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Ka>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=Ga;Ka=0;while(1){if(Va>>>0>=oa>>>0){Na=Wa;Oa=14;Pa=Va;break e}c[(Va>>>0<V>>>0?Ba+(Va<<2)|0:_+(Va-V<<2)|0)>>2]=0;Ua=Va+1|0;Ka=Ka+1|0;if(Ka>>>0>=Ta>>>0){Na=Wa;Oa=Fa;Pa=Ua;break}else Va=Ua}break}case 18:{Va=Ma>>>3;if(Va>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Wa=Ja+2|0;Ta=Ja+3|0;Ka=Ja+4|0;Ua=Ja+5|0;Xa=Ja+6|0;Ya=Ja+7|0;Za=Ja+8|0;_a=((d[m+(Wa>>>3)>>0]|0)>>>(Wa&7)<<1&2|(d[m+Va>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Za;Oa=Fa;Pa=Ga;break e}Ya=Ga;Xa=0;while(1){if(Ya>>>0>=oa>>>0){Na=Za;Oa=15;Pa=Ya;break e}c[(Ya>>>0<V>>>0?Ba+(Ya<<2)|0:_+(Ya-V<<2)|0)>>2]=0;Ua=Ya+1|0;Xa=Xa+1|0;if(Xa>>>0>=_a>>>0){Na=Za;Oa=Fa;Pa=Ua;break}else Ya=Ua}break}default:{Qa=_;Ra=Ma;Sa=16;break c}}while(0);if(Pa>>>0<oa>>>0){Ea=Na;Fa=Oa;Ga=Pa}else{X=61;break}}if((X|0)==59){X=0;Qa=_;Ra=Ha;Sa=Ha>>>0>l>>>0?10:11;break c}else if((X|0)==61){X=0;if(!Oa){$a=Na;break}else{Qa=_;Ra=Na;Sa=Oa;break c}}}else $a=wa;while(0);if(c[Ba+1024>>2]|0){if(Ca<<2>>>0>(c[t>>2]|0)>>>0){oa=Ca<<3;Ga=yq(c[s>>2]|0,oa)|0;if(!Ga){Qa=_;Ra=$a;Sa=9903;break}c[t>>2]=oa;c[s>>2]=Ga}c[u>>2]=Ca;if(Ca|0){Ga=c[s>>2]|0;oa=0;do{c[Ga+(oa<<2)>>2]=c[Ba+(oa<<2)>>2];oa=oa+1|0}while((oa|0)!=(Ca|0))}c[D>>2]=Ca;c[R>>2]=15;oa=Tp(i)|0;if(!oa){if((c[B>>2]|0)>>>0<128){Ga=yq(c[A>>2]|0,256)|0;if(!Ga){Qa=_;Ra=$a;Sa=9903;break}c[B>>2]=256;c[A>>2]=Ga;c[C>>2]=32;ab=Ga}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[_>>2];c[ab+4>>2]=c[_+4>>2];c[ab+8>>2]=c[_+8>>2];c[ab+12>>2]=c[_+12>>2];c[ab+16>>2]=c[_+16>>2];c[ab+20>>2]=c[_+20>>2];c[ab+24>>2]=c[_+24>>2];c[ab+28>>2]=c[_+28>>2];c[ab+32>>2]=c[_+32>>2];c[ab+36>>2]=c[_+36>>2];c[ab+40>>2]=c[_+40>>2];c[ab+44>>2]=c[_+44>>2];c[ab+48>>2]=c[_+48>>2];c[ab+52>>2]=c[_+52>>2];c[ab+56>>2]=c[_+56>>2];c[ab+60>>2]=c[_+60>>2];c[ab+64>>2]=c[_+64>>2];c[ab+68>>2]=c[_+68>>2];c[ab+72>>2]=c[_+72>>2];c[ab+76>>2]=c[_+76>>2];c[ab+80>>2]=c[_+80>>2];c[ab+84>>2]=c[_+84>>2];c[ab+88>>2]=c[_+88>>2];c[ab+92>>2]=c[_+92>>2];c[ab+96>>2]=c[_+96>>2];c[ab+100>>2]=c[_+100>>2];c[ab+104>>2]=c[_+104>>2];c[ab+108>>2]=c[_+108>>2];c[ab+112>>2]=c[_+112>>2];c[ab+116>>2]=c[_+116>>2];c[ab+120>>2]=c[_+120>>2];c[ab+124>>2]=c[_+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=_;Ra=$a;Sa=Tp(j)|0}else{Qa=_;Ra=$a;Sa=oa}}else{Qa=_;Ra=$a;Sa=64}}else{Qa=_;Ra=wa;Sa=9912}}else{Qa=0;Ra=wa;Sa=9912}while(0);zq(Aa);zq(Qa);ya=Ra;za=Sa;break b}while(0);zq(ra);ya=sa;za=ta}else{ya=$;za=49}while(0);c[H>>2]=0;c[I>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;zq(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;zq(c[M>>2]|0);ka=ya;la=za;break}default:{ka=$;la=0}}f:do if(ka>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=ka;pa=U;g:while(1){da=ma;qa=0;while(1){bb=c[ca+(((d[m+(da>>>3)>>0]|0)>>>(da&7)&1|qa<<1)<<2)>>2]|0;cb=da+1|0;if(bb>>>0<ha>>>0)break;qa=bb-ha|0;if(cb>>>0>l>>>0|qa>>>0>=ha>>>0){db=cb;eb=pa;X=115;break f}else da=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}da=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}qa=c[29440+(da<<2)>>2]|0;ea=c[29568+(da<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=cb;ib=0}else{da=cb;_=0;oa=0;while(1){oa=(((d[m+(da>>>3)>>0]|0)>>>(da&7)&1)<<_)+oa|0;_=_+1|0;if((_|0)==(qa|0))break;else da=da+1|0}hb=cb+qa|0;ib=oa}da=ib+ea|0;if(hb>>>0>l>>>0){jb=hb;X=100;break}_=hb;Ga=0;while(1){kb=c[aa+(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1|Ga<<1)<<2)>>2]|0;lb=_+1|0;if(kb>>>0<V>>>0)break;Ga=kb-V|0;if(_>>>0>=l>>>0|Ga>>>0>=V>>>0){jb=lb;X=100;break g}else _=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}_=c[29696+(kb<<2)>>2]|0;Ga=c[29824+(kb<<2)>>2]|0;if(kb>>>0<4){mb=lb;nb=0}else{oa=lb;qa=0;Fa=0;while(1){Fa=(((d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1)<<qa)+Fa|0;qa=qa+1|0;if((qa|0)==(_|0))break;else oa=oa+1|0}mb=lb+_|0;nb=Fa}oa=pa-Ga-nb|0;qa=da+pa|0;if(qa>>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0<Ea>>>0){Da=qa<<2;qa=yq(c[b>>2]|0,Da)|0;if(!qa){fb=mb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!da){ob=mb;pb=pa}else{Ea=pa+ib|0;qa=oa;Da=0;na=pa;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(da|0))break;else{qa=ua>>>0<pa>>>0?ua:oa;na=na+1|0}}ob=mb;pb=Ea+ea|0}}else{if(pa>>>0>=(c[E>>2]|0)>>>0){na=(pa<<1)+2|0;if((c[F>>2]|0)>>>0<na>>>0){oa=na<<1;qa=yq(c[b>>2]|0,oa)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=oa;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+pa>>0]=bb;ob=cb;pb=pa+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=ob;pa=pb}}if((X|0)==100){X=0;qb=ca;rb=jb;sb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;tb=pa;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=ca;rb=cb;sb=la;tb=pa;break}else{db=cb;eb=pa;X=115;break}}else if((X|0)==118){X=0;qb=ca;rb=fb;sb=gb;tb=pa;break}}else{db=ka;eb=U;X=115}while(0);if((X|0)==115){X=0;qb=c[i>>2]|0;rb=db;sb=db>>>0>l>>>0?10:11;tb=eb}c[n>>2]=0;c[o>>2]=0;zq(qb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;zq(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;zq(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;zq(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;zq(c[A>>2]|0);if(!sb){ia=rb;ja=tb}else{W=sb;X=125;break a}}}if(!(1<<Z&Y)){T=ia;U=ja}else{X=121;break}}if((X|0)==121){if((c[F>>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Ia=h;return W|0}U=ja<<1;ia=yq(c[b>>2]|0,U)|0;if(!ia){W=9916;Ia=h;return W|0}c[F>>2]=U;c[b>>2]=ia;c[E>>2]=ja;W=0;Ia=h;return W|0}else if((X|0)==125){Ia=h;return W|0}return 0}function Rp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=yq(0,2304)|0;if(!b){d=0;zq(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=yq(c[e>>2]|0,2304)|0;if(!g){d=b;zq(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;Tp(a)|0;d=b;zq(d);return}function Sp(a){a=a|0;var b=0,d=0;b=yq(0,256)|0;if(!b){d=0;zq(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;Up(a,b,32,15)|0;d=b;zq(d);return}function Tp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=yq(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=yq(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Wv(k|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=yq(0,f<<3)|0;if(!m){i=k;break}n=m;o=m}if(f|0)Wv(n|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=l+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0<m>>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=c[o>>2]|0;g=1;do{f=(c[l+(g+-1<<2)>>2]|0)+f<<1;c[o+(g<<2)>>2]=f;g=g+1|0}while(g>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;g=q;f=0;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=o+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}zq(k);zq(n);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=yq(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0<h<<1>>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=v;s=0;m=0;w=0;a:while(1){x=f+(s<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=m;B=w}else{if(w>>>0>(h+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(s<<2)|0;D=c[a>>2]|0;E=y;F=h;G=0;H=m;I=w;while(1){J=D+(((c[C>>2]|0)>>>(E+~G|0)&1|I<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=G+1|0;if((L|0)==(E|0)){c[J>>2]=s;M=E;N=H;O=0;break}else{P=H+1|0;c[J>>2]=P+F;M=L;N=P;O=P;break}}else{M=G+1|0;N=H;O=K-F|0}while(0);E=c[x>>2]|0;F=c[d>>2]|0;if(E>>>0<=M>>>0){z=F;A=N;B=O;break b}if(O>>>0>(F+-2|0)>>>0){t=55;j=52;break a}else{G=M;H=N;I=O}}}while(0);s=s+1|0;if(s>>>0>=z>>>0){j=46;break}else{h=z;m=A;w=B}}if((j|0)==46){if(!(z&2147483647)){t=0;return t|0}w=c[a>>2]|0;m=z;h=0;while(1){s=w+(h<<2)|0;if((c[s>>2]|0)==32767){c[s>>2]=0;Q=c[d>>2]|0}else Q=m;h=h+1|0;if(h>>>0>=Q<<1>>>0){t=0;break}else m=Q}return t|0}else if((j|0)==52)return t|0}while(0);zq(i);zq(0);t=9902;return t|0}function Up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=yq(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=Tp(a)|0;return j|0} 148 + function Vp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Ia;Ia=Ia+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(r|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0<v>>>0){w=v<<1;x=yq(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-q|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0<w>>>0){A=w<<1;B=yq(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){w=x<<1;B=yq(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){B=x<<1;w=yq(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0<u>>>0){x=u<<1;w=yq(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(q>>>0<f>>>0){v=q;t=0;while(1){u=v+1|0;w=a[e+v>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0<B>>>0){A=B<<1;G=yq(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}t=t+1|0;if(!(t>>>0<65535&u>>>0<f>>>0)){I=u;break}else v=u}}else I=q;if(s){J=0;break}else{q=I;r=r+1|0}}Ia=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Rp(i);Sp(j);r=b+4|0;I=c[r>>2]|0;q=I+1|0;H=b+8|0;if((c[H>>2]|0)>>>0<q>>>0){o=q<<1;p=yq(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[r>>2]=q;a[O+I>>0]=0;M=N}N=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{I=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[I+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){v=c[r>>2]|0;t=v+1|0;if((c[H>>2]|0)>>>0<t>>>0){u=t<<1;w=yq(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[r>>2]=t;a[Q+v>>0]=0}while(0);v=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[v>>0]=y<<n|(d[v>>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=Wp(l,e,f,c[g+8>>2]|0)|0;if(!O){Xp(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;zq(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;zq(c[l>>2]|0);R=c[i+12>>2]|0;S=c[i+24>>2]|0;T=O;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=P;S=N;T=0}else{q=O+-1|0;p=c[k>>2]|0;I=0;s=p;while(1){C=Q>>>(q-I|0)&1;D=s&7;do if(!D){o=c[r>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0<F>>>0){v=F<<1;t=yq(c[M>>2]|0,v)|0;if(!t)break;c[H>>2]=v;c[M>>2]=t;U=t}else U=c[M>>2]|0;c[r>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[o>>0]=C<<D|(d[o>>0]|0);I=I+1|0;if((I|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=P;S=N;T=0}}c[i+8>>2]=0;c[i+4>>2]=0;zq(c[i>>2]|0);zq(R);zq(S);c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;S=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;zq(c[S>>2]|0);c[S>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;zq(c[j+24>>2]|0);J=T;Ia=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;T=i+8|0;c[T>>2]=0;S=i+4|0;c[S>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{R=f<<3;N=yq(0,R)|0;if(!N){W=0;X=0;Y=0;Z=0;_=0;$=0;aa=9923;break}c[T>>2]=R;c[i>>2]=N;V=N}c[S>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=Wp(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=0;X=0;Y=0;Z=0;_=0;$=0;aa=N}}while(0);a:do if((z|0)==79){g=yq(0,2288)|0;if(g){Wv(g|0,0,1144)|0;f=yq(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[S>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0<e>>>0)}c[g+1024>>2]=1;e=Yp(j,g,286,15)|0;if(!e){N=Yp(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;R=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0<R>>>0){O=R<<1;p=yq(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=R;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<<ca|(d[V>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;R=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0<R>>>0){O=R<<1;P=yq(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=R;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;R=ea+1|0;c[m>>2]=R;P=R&7;do if(!P){R=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0<R>>>0){p=R<<1;s=yq(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=R;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<<ga|(d[P>>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;R=0;s=0;p=0;O=0;I=0;r=0;M=0;while(1){U=c[P+(O<<2)>>2]|0;H=r+1|0;if(H<<2>>>0>M>>>0){q=H<<3;Q=yq(R,q)|0;if(!Q){na=p;oa=s;pa=R;qa=I;ra=r;sa=M}else{ta=Q;ua=Q;va=Q;wa=Q;xa=q;z=110}}else{ta=p;ua=s;va=R;wa=I;xa=M;z=110}if((z|0)==110){z=0;c[wa+(r<<2)>>2]=U;na=ta;oa=ua;pa=va;qa=wa;ra=H;sa=xa}O=O+1|0;if(O>>>0>=C>>>0){ia=oa;ja=na;ka=qa;la=ra;ma=sa;break}else{R=pa;s=oa;p=na;I=qa;r=ra;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;r=ia;I=ja;p=0;s=ka;R=la;O=ma;while(1){P=c[M+(p<<2)>>2]|0;H=R+1|0;if(H<<2>>>0>O>>>0){U=H<<3;q=yq(r,U)|0;if(!q){Ba=I;Ca=r;Da=s;Ea=R;Fa=O}else{Ga=q;Ha=q;Ja=q;Ka=U;z=117}}else{Ga=I;Ha=r;Ja=s;Ka=O;z=117}if((z|0)==117){z=0;c[Ja+(R<<2)>>2]=P;Ba=Ga;Ca=Ha;Da=Ja;Ea=H;Fa=Ka}p=p+1|0;if(p>>>0>=V>>>0){ya=Ba;za=Da;Aa=Ea;break}else{r=Ca;I=Ba;s=Da;R=Ea;O=Fa}}}if(!Aa){La=0;Ma=0;Na=0}else{O=0;R=0;s=0;I=0;r=0;p=0;M=0;H=0;P=0;U=0;q=0;Q=0;o=0;F=0;t=0;while(1){v=Q+1|0;w=c[za+(Q<<2)>>2]|0;do if(v>>>0<Aa>>>0){u=Q+2|0;x=v;B=0;while(1){if((c[za+(x<<2)>>2]|0)!=(w|0)){Oa=B;break}G=B+1|0;x=u+B|0;if(x>>>0>=Aa>>>0){Oa=G;break}else B=G}if((w|0)==0&Oa>>>0>1){B=Oa+1|0;do if(B>>>0<11){x=F+1|0;u=x<<2;do if(u>>>0>t>>>0){n=x<<3;y=yq(O,n)|0;if(!y){Pa=r;Qa=q;Ra=I;Sa=U;Ta=P;Ua=H;Va=M;Wa=s;Xa=p;Ya=R;Za=O;_a=x;$a=o;ab=F;bb=t;cb=u;break}db=y;eb=y;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=n;z=130}else{db=q;eb=I;fb=U;gb=P;hb=H;ib=M;jb=s;kb=p;lb=R;mb=r;nb=O;ob=o;pb=t;z=130}while(0);if((z|0)==130){z=0;c[ob+(F<<2)>>2]=17;u=F+2|0;Pa=mb;Qa=db;Ra=eb;Sa=fb;Ta=gb;Ua=hb;Va=ib;Wa=jb;Xa=kb;Ya=lb;Za=nb;_a=u;$a=ob;ab=x;bb=pb;cb=u<<2}u=Oa+-2|0;if(cb>>>0>bb>>>0){n=_a<<3;y=yq(Pa,n)|0;if(!y){qb=Qa;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Pa;Ab=Za;Bb=B;Cb=$a;Db=ab;Eb=bb;break}Fb=y;Gb=y;Hb=y;Ib=y;Jb=y;Kb=y;Lb=y;Mb=y;Nb=y;Ob=y;Pb=y;Qb=y;Rb=n}else{Fb=Qa;Gb=Ra;Hb=Sa;Ib=Ta;Jb=Ua;Kb=Va;Lb=Wa;Mb=Xa;Nb=Ya;Ob=Pa;Pb=Za;Qb=$a;Rb=bb}c[Qb+(ab<<2)>>2]=u;qb=Fb;rb=Gb;sb=Hb;tb=Ib;ub=Jb;vb=Kb;wb=Lb;xb=Mb;yb=Nb;zb=Ob;Ab=Pb;Bb=B;Cb=Qb;Db=_a;Eb=Rb}else{u=B>>>0<138?B:138;n=F+1|0;y=n<<2;do if(y>>>0>t>>>0){G=n<<3;A=yq(R,G)|0;if(!A){Sb=p;Tb=q;Ub=I;Vb=U;Wb=P;Xb=H;Yb=M;Zb=s;_b=R;$b=r;ac=O;bc=n;cc=o;dc=F;ec=t;fc=y;break}gc=A;hc=A;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=G;z=138}else{gc=q;hc=I;ic=U;jc=P;kc=H;lc=M;mc=s;nc=p;oc=R;pc=r;qc=O;rc=o;sc=t;z=138}while(0);if((z|0)==138){z=0;c[rc+(F<<2)>>2]=18;y=F+2|0;Sb=nc;Tb=gc;Ub=hc;Vb=ic;Wb=jc;Xb=kc;Yb=lc;Zb=mc;_b=oc;$b=pc;ac=qc;bc=y;cc=rc;dc=n;ec=sc;fc=y<<2}y=u+-11|0;if(fc>>>0>ec>>>0){x=bc<<3;G=yq(Sb,x)|0;if(!G){qb=Tb;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=Sb;yb=_b;zb=$b;Ab=ac;Bb=u;Cb=cc;Db=dc;Eb=ec;break}tc=G;uc=G;vc=G;wc=G;xc=G;yc=G;zc=G;Ac=G;Bc=G;Cc=G;Dc=G;Ec=G;Fc=x}else{tc=Tb;uc=Ub;vc=Vb;wc=Wb;xc=Xb;yc=Yb;zc=Zb;Ac=Sb;Bc=_b;Cc=$b;Dc=ac;Ec=cc;Fc=ec}c[Ec+(dc<<2)>>2]=y;qb=tc;rb=uc;sb=vc;tb=wc;ub=xc;vb=yc;wb=zc;xb=Ac;yb=Bc;zb=Cc;Ab=Dc;Bb=u;Cb=Ec;Db=bc;Eb=Fc}while(0);Gc=qb;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Q+-1+Bb|0;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){B=(Oa>>>0)/6|0;y=Oa-(B*6|0)|0;x=F+1|0;do if(x<<2>>>0>t>>>0){G=x<<3;A=yq(s,G)|0;if(!A){Vc=q;Wc=I;Xc=U;Yc=P;Zc=H;_c=M;$c=s;ad=p;bd=R;cd=r;dd=O;ed=o;fd=F;gd=t;break}hd=A;id=A;jd=A;kd=A;ld=A;md=A;nd=A;od=A;pd=A;qd=A;rd=A;sd=A;td=G;z=148}else{hd=q;id=I;jd=U;kd=P;ld=H;md=M;nd=s;od=p;pd=R;qd=r;rd=O;sd=o;td=t;z=148}while(0);if((z|0)==148){z=0;c[sd+(F<<2)>>2]=w;Vc=hd;Wc=id;Xc=jd;Yc=kd;Zc=ld;_c=md;$c=nd;ad=od;bd=pd;cd=qd;dd=rd;ed=sd;fd=x;gd=td}if(Oa>>>0>5){G=_c;A=dd;ud=cd;vd=bd;wd=ad;xd=$c;yd=Zc;zd=Yc;Ad=Xc;Bd=Wc;Cd=Vc;Dd=0;Ed=ed;Fd=fd;Gd=gd;while(1){Hd=Fd+1|0;Id=Hd<<2;do if(Id>>>0>Gd>>>0){Jd=Hd<<3;Kd=yq(G,Jd)|0;if(!Kd){Ld=yd;Md=Cd;Nd=Bd;Od=Ad;Pd=zd;Qd=G;Rd=xd;Sd=wd;Td=vd;Ud=ud;Vd=A;Wd=Hd;Xd=Ed;Yd=Fd;Zd=Gd;_d=Id;break}$d=Kd;ae=Kd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Jd;z=154}else{$d=Cd;ae=Bd;be=Ad;ce=zd;de=yd;ee=G;fe=xd;ge=wd;he=vd;ie=ud;je=A;ke=Ed;le=Gd;z=154}while(0);if((z|0)==154){z=0;c[ke+(Fd<<2)>>2]=16;Id=Fd+2|0;Ld=de;Md=$d;Nd=ae;Od=be;Pd=ce;Qd=ee;Rd=fe;Sd=ge;Td=he;Ud=ie;Vd=je;Wd=Id;Xd=ke;Yd=Hd;Zd=le;_d=Id<<2}do if(_d>>>0>Zd>>>0){Id=Wd<<3;u=yq(Ld,Id)|0;if(!u){me=Md;ne=Nd;oe=Od;pe=Pd;qe=Ld;re=Qd;se=Rd;te=Sd;ue=Td;ve=Ud;we=Vd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=u;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=Id;z=158}else{Ae=Md;Be=Nd;Ce=Od;De=Pd;Ee=Ld;Fe=Qd;Ge=Rd;He=Sd;Ie=Td;Je=Ud;Ke=Vd;Le=Xd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Le+(Yd<<2)>>2]=3;me=Ae;ne=Be;oe=Ce;pe=De;qe=Ee;re=Fe;se=Ge;te=He;ue=Ie;ve=Je;we=Ke;xe=Le;ye=Wd;ze=Me}Dd=Dd+1|0;if(Dd>>>0>=B>>>0){Ne=we;Oe=ve;Pe=ue;Qe=te;Re=se;Se=re;Te=qe;Ue=pe;Ve=oe;We=ne;Xe=me;Ye=xe;Ze=ye;_e=ze;break}else{G=re;A=we;ud=ve;vd=ue;wd=te;xd=se;yd=qe;zd=pe;Ad=oe;Bd=ne;Cd=me;Ed=xe;Fd=ye;Gd=ze}}}else{Ne=dd;Oe=cd;Pe=bd;Qe=ad;Re=$c;Se=_c;Te=Zc;Ue=Yc;Ve=Xc;We=Wc;Xe=Vc;Ye=ed;Ze=fd;_e=gd}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Cd=yq(Ue,Ed)|0;if(!Cd){$e=Ve;af=Xe;bf=We;cf=Ue;df=Te;ef=Se;ff=Re;gf=Qe;hf=Pe;jf=Oe;kf=Ne;lf=Gd;mf=Ye;nf=Ze;of=_e;pf=Fd;break}qf=Cd;rf=Cd;sf=Cd;tf=Cd;uf=Cd;vf=Cd;wf=Cd;xf=Cd;yf=Cd;zf=Cd;Af=Cd;Bf=Cd;Cf=Ed;z=164}else{qf=Xe;rf=We;sf=Ve;tf=Ue;uf=Te;vf=Se;wf=Re;xf=Qe;yf=Pe;zf=Oe;Af=Ne;Bf=Ye;Cf=_e;z=164}while(0);if((z|0)==164){z=0;c[Bf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=sf;af=qf;bf=rf;cf=tf;df=uf;ef=vf;ff=wf;gf=xf;hf=yf;jf=zf;kf=Af;lf=Fd;mf=Bf;nf=Gd;of=Cf;pf=Fd<<2}Fd=y+-3|0;if(pf>>>0>of>>>0){Ed=lf<<3;Cd=yq($e,Ed)|0;if(!Cd){Df=af;Ef=bf;Ff=$e;Gf=cf;Hf=df;If=ef;Jf=ff;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=Oa;Pf=mf;Qf=nf;Rf=of;break}Sf=Cd;Tf=Cd;Uf=Cd;Vf=Cd;Wf=Cd;Xf=Cd;Yf=Cd;Zf=Cd;_f=Cd;$f=Cd;ag=Cd;bg=Cd;cg=Ed}else{Sf=af;Tf=bf;Uf=$e;Vf=cf;Wf=df;Xf=ef;Yf=ff;Zf=gf;_f=hf;$f=jf;ag=kf;bg=mf;cg=of}c[bg+(nf<<2)>>2]=Fd;Df=Sf;Ef=Tf;Ff=Uf;Gf=Vf;Hf=Wf;If=Xf;Jf=Yf;Kf=Zf;Lf=_f;Mf=$f;Nf=ag;Of=Oa;Pf=bg;Qf=lf;Rf=cg}else{Df=Xe;Ef=We;Ff=Ve;Gf=Ue;Hf=Te;If=Se;Jf=Re;Kf=Qe;Lf=Pe;Mf=Oe;Nf=Ne;Of=Oa-y|0;Pf=Ye;Qf=Ze;Rf=_e}while(0);Gc=Df;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of+Q|0;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;v=F+1|0;if(v<<2>>>0>t>>>0){E=v<<3;y=yq(I,E)|0;if(!y){Gc=q;Hc=I;Ic=U;Jc=P;Kc=H;Lc=M;Mc=s;Nc=p;Oc=R;Pc=r;Qc=O;Rc=Q;Sc=o;Tc=F;Uc=t;break}dg=y;eg=y;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=E}else{dg=q;eg=I;fg=U;gg=P;hg=H;ig=M;jg=s;kg=p;lg=R;mg=r;ng=O;og=o;pg=t}c[og+(F<<2)>>2]=w;Gc=dg;Hc=eg;Ic=fg;Jc=gg;Kc=hg;Lc=ig;Mc=jg;Nc=kg;Oc=lg;Pc=mg;Qc=ng;Rc=Q;Sc=og;Tc=v;Uc=pg}while(0);Q=Rc+1|0;if(Q>>>0>=Aa>>>0){La=Gc;Ma=Sc;Na=Tc;break}else{O=Qc;R=Oc;s=Mc;I=Hc;r=Pc;p=Nc;M=Lc;H=Kc;P=Jc;U=Ic;q=Gc;o=Sc;F=Tc;t=Uc}}}t=yq(0,152)|0;if(t){K=t;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=t+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0<Na>>>0)}o=Yp(l,t,19,7)|0;if(!o){q=yq(0,152)|0;if(!q){W=g;X=f;Y=t;Z=La;_=ya;$=0;aa=9927}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];P=c[U+60>>2]|0;c[q+72>>2]=P;if(!P){P=q;H=q;M=q;p=152;r=18;while(1){if(r<<2>>>0>p>>>0){I=r<<3;s=yq(P,I)|0;if(!s){W=g;X=f;Y=t;Z=La;_=ya;$=H;aa=9928;break a}qg=s;rg=s;sg=s;tg=I}else{qg=H;rg=P;sg=M;tg=p}I=r+-1|0;if(r>>>0>4?(c[sg+(I<<2)>>2]|0)==0:0){P=rg;H=qg;M=sg;p=tg;r=I}else{ug=qg;vg=sg;wg=r;break}}}else{ug=q;vg=q;wg=19}r=C+-257|0;p=V+-1|0;M=b+8|0;H=r&1;P=c[m>>2]&7;do if(!P){I=c[D>>2]|0;s=I+1|0;if((c[M>>2]|0)>>>0<s>>>0){R=s<<1;O=yq(c[b>>2]|0,R)|0;if(!O){xg=0;break}c[M>>2]=R;c[b>>2]=O;yg=O}else yg=c[b>>2]|0;c[D>>2]=s;a[yg+I>>0]=0;xg=c[m>>2]&7}else xg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<xg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=r>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){zg=0;break}c[M>>2]=I;c[b>>2]=s;Ag=s}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+P>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<zg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=r>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Bg=0;break}c[M>>2]=s;c[b>>2]=I;Cg=I}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Bg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=r>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Dg=0;break}c[M>>2]=I;c[b>>2]=s;Eg=s}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+P>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Dg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=r>>>4&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Fg=0;break}c[M>>2]=s;c[b>>2]=I;Gg=I}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Fg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;r=wg+-4|0;V=p&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Hg=0;break}c[M>>2]=I;c[b>>2]=s;Ig=s}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+P>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Hg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=p>>>1&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Jg=0;break}c[M>>2]=s;c[b>>2]=I;Kg=I}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Jg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=p>>>2&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Lg=0;break}c[M>>2]=I;c[b>>2]=s;Mg=s}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+P>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Lg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=p>>>3&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Ng=0;break}c[M>>2]=s;c[b>>2]=I;Og=I}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Ng|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=p>>>4&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Pg=0;break}c[M>>2]=I;c[b>>2]=s;Qg=s}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+P>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Pg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;p=r&1;H=C&7;do if(!H){C=c[D>>2]|0;P=C+1|0;if((c[M>>2]|0)>>>0<P>>>0){q=P<<1;s=yq(c[b>>2]|0,q)|0;if(!s){Rg=0;break}c[M>>2]=q;c[b>>2]=s;Sg=s}else Sg=c[b>>2]|0;c[D>>2]=P;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=H;while(0);H=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[H>>0]=p<<Rg|(d[H>>0]|0);H=(c[m>>2]|0)+1|0;c[m>>2]=H;V=r>>>1&1;C=H&7;do if(!C){H=c[D>>2]|0;P=H+1|0;if((c[M>>2]|0)>>>0<P>>>0){s=P<<1;q=yq(c[b>>2]|0,s)|0;if(!q){Tg=0;break}c[M>>2]=s;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=P;a[Ug+H>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Tg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;p=r>>>2&1;H=C&7;do if(!H){C=c[D>>2]|0;P=C+1|0;if((c[M>>2]|0)>>>0<P>>>0){q=P<<1;s=yq(c[b>>2]|0,q)|0;if(!s){Vg=0;break}c[M>>2]=q;c[b>>2]=s;Wg=s}else Wg=c[b>>2]|0;c[D>>2]=P;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=H;while(0);H=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[H>>0]=p<<Vg|(d[H>>0]|0);H=(c[m>>2]|0)+1|0;c[m>>2]=H;V=r>>>3&1;C=H&7;do if(!C){H=c[D>>2]|0;P=H+1|0;if((c[M>>2]|0)>>>0<P>>>0){s=P<<1;q=yq(c[b>>2]|0,s)|0;if(!q){Xg=0;break}c[M>>2]=s;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=P;a[Yg+H>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Xg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{r=C;C=0;while(1){p=c[vg+(C<<2)>>2]|0;H=p&1;P=r&7;do if(!P){q=c[D>>2]|0;s=q+1|0;if((c[M>>2]|0)>>>0<s>>>0){I=s<<1;O=yq(c[b>>2]|0,I)|0;if(!O){_g=0;break}c[M>>2]=I;c[b>>2]=O;$g=O}else $g=c[b>>2]|0;c[D>>2]=s;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<_g|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;q=p>>>1&1;s=P&7;do if(!s){P=c[D>>2]|0;O=P+1|0;if((c[M>>2]|0)>>>0<O>>>0){I=O<<1;R=yq(c[b>>2]|0,I)|0;if(!R){ah=0;break}c[M>>2]=I;c[b>>2]=R;bh=R}else bh=c[b>>2]|0;c[D>>2]=O;a[bh+P>>0]=0;ah=c[m>>2]&7}else ah=s;while(0);s=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[s>>0]=q<<ah|(d[s>>0]|0);s=(c[m>>2]|0)+1|0;c[m>>2]=s;H=p>>>2&1;P=s&7;do if(!P){s=c[D>>2]|0;O=s+1|0;if((c[M>>2]|0)>>>0<O>>>0){R=O<<1;I=yq(c[b>>2]|0,R)|0;if(!I){ch=0;break}c[M>>2]=R;c[b>>2]=I;dh=I}else dh=c[b>>2]|0;c[D>>2]=O;a[dh+s>>0]=0;ch=c[m>>2]&7}else ch=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<ch|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;C=C+1|0;if((C|0)==(wg|0)){Zg=P;break}else r=P}}b:do if(!F){r=c[l+12>>2]|0;C=Zg;V=0;while(1){P=Ma+(V<<2)|0;p=c[P>>2]|0;q=c[r+(p<<2)>>2]|0;s=c[U+(p<<2)>>2]|0;if(!s){eh=C;fh=p}else{p=s+-1|0;O=C;I=0;do{R=q>>>(p-I|0)&1;Q=O&7;do if(!Q){w=c[D>>2]|0;v=w+1|0;if((c[M>>2]|0)>>>0<v>>>0){E=v<<1;y=yq(c[b>>2]|0,E)|0;if(!y){gh=0;break}c[M>>2]=E;c[b>>2]=y;hh=y}else hh=c[b>>2]|0;c[D>>2]=v;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=R<<gh|(d[Q>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;I=I+1|0}while((I|0)!=(s|0));eh=O;fh=c[P>>2]|0}switch(fh|0){case 16:{s=V+1|0;I=c[Ma+(s<<2)>>2]|0;p=I&1;q=eh&7;do if(!q){Q=c[D>>2]|0;Gd=Q+1|0;if((c[M>>2]|0)>>>0<Gd>>>0){w=Gd<<1;v=yq(c[b>>2]|0,w)|0;if(!v){ih=0;break}c[M>>2]=w;c[b>>2]=v;jh=v}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+Q>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<ih|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;P=I>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;Q=q+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){kh=0;break}c[M>>2]=Gd;c[b>>2]=v;lh=v}else lh=c[b>>2]|0;c[D>>2]=Q;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=P<<kh|(d[O>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=O;nh=s;break}case 17:{O=V+1|0;I=c[Ma+(O<<2)>>2]|0;p=I&1;q=eh&7;do if(!q){Q=c[D>>2]|0;v=Q+1|0;if((c[M>>2]|0)>>>0<v>>>0){Gd=v<<1;w=yq(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[M>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=v;a[ph+Q>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<oh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;s=I>>>1&1;P=q&7;do if(!P){q=c[D>>2]|0;Q=q+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;w=yq(c[b>>2]|0,v)|0;if(!w){qh=0;break}c[M>>2]=v;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=Q;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<qh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;p=I>>>2&1;q=P&7;do if(!q){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){w=Q<<1;v=yq(c[b>>2]|0,w)|0;if(!v){sh=0;break}c[M>>2]=w;c[b>>2]=v;th=v}else th=c[b>>2]|0;c[D>>2]=Q;a[th+P>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<sh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=q;nh=O;break}case 18:{q=V+1|0;I=c[Ma+(q<<2)>>2]|0;s=I&1;P=eh&7;do if(!P){Q=c[D>>2]|0;v=Q+1|0;if((c[M>>2]|0)>>>0<v>>>0){w=v<<1;Gd=yq(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[M>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=v;a[vh+Q>>0]=0;uh=c[m>>2]&7}else uh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<uh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>1&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){wh=0;break}c[M>>2]=v;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=Q;a[xh+P>>0]=0;wh=c[m>>2]&7}else wh=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<wh|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>2&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){yh=0;break}c[M>>2]=Gd;c[b>>2]=v;zh=v}else zh=c[b>>2]|0;c[D>>2]=Q;a[zh+p>>0]=0;yh=c[m>>2]&7}else yh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<yh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>3&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){Ah=0;break}c[M>>2]=v;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=Q;a[Bh+P>>0]=0;Ah=c[m>>2]&7}else Ah=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<Ah|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>4&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){Ch=0;break}c[M>>2]=Gd;c[b>>2]=v;Dh=v}else Dh=c[b>>2]|0;c[D>>2]=Q;a[Dh+p>>0]=0;Ch=c[m>>2]&7}else Ch=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<Ch|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>5&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){Eh=0;break}c[M>>2]=v;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=Q;a[Fh+P>>0]=0;Eh=c[m>>2]&7}else Eh=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<Eh|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>6&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){Gh=0;break}c[M>>2]=Gd;c[b>>2]=v;Hh=v}else Hh=c[b>>2]|0;c[D>>2]=Q;a[Hh+p>>0]=0;Gh=c[m>>2]&7}else Gh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<Gh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;mh=P;nh=q;break}default:{mh=eh;nh=V}}V=nh+1|0;if(V>>>0>=Na>>>0)break b;else C=mh}}while(0);Xp(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=g;X=f;Y=t;Z=La;_=ya;$=ug;aa=64;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;C=U+-1|0;V=c[m>>2]|0;r=0;do{H=F>>>(C-r|0)&1;P=V&7;do if(!P){I=c[D>>2]|0;O=I+1|0;if((c[M>>2]|0)>>>0<O>>>0){p=O<<1;Q=yq(c[b>>2]|0,p)|0;if(!Q){Ih=0;break}c[M>>2]=p;c[b>>2]=Q;Jh=Q}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+I>>0]=0;Ih=c[m>>2]&7}else Ih=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Ih|(d[P>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;r=r+1|0}while((r|0)!=(U|0));W=g;X=f;Y=t;Z=La;_=ya;$=ug;aa=0}}else{W=g;X=f;Y=t;Z=La;_=ya;$=0;aa=o}}else{W=g;X=f;Y=0;Z=La;_=ya;$=0;aa=9926}}else{W=g;X=f;Y=0;Z=0;_=0;$=0;aa=N}}else{W=g;X=f;Y=0;Z=0;_=0;$=0;aa=e}}else{W=g;X=0;Y=0;Z=0;_=0;$=0;aa=9925}}else{W=0;X=0;Y=0;Z=0;_=0;$=0;aa=9924}}while(0);c[T>>2]=0;c[S>>2]=0;zq(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;zq(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;zq(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;zq(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;zq(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;zq(c[l+24>>2]|0);zq(W);zq(X);zq(Y);zq(Z);zq(_);zq($);J=aa;Ia=h;return J|0}default:{J=61;Ia=h;return J|0}}return 0}function Wp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=yq(0,1572864)|0;if(!h){i=9917;return i|0}Wv(h|0,0,786432)|0;j=yq(0,524288)|0;if(!j){k=9918;l=0;m=0}else{Wv(j|0,0,262144)|0;k=0;l=j;m=j}j=yq(0,524288)|0;a:do if(j){Wv(j|0,0,262144)|0;if(!k)if(!f){n=j;o=0;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=z>>>0<g>>>0?z:g;B=f-z|0;C=(z+6|0)>>>0<f>>>0?6:B;if(!C)D=0;else{E=0;F=0;do{F=d[e+(E+z)>>0]<<(E<<1)^F;E=E+1|0}while(E>>>0<C>>>0);D=F&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{E=0;while(1){if(a[e+(E+z)>>0]|0){G=E;break b}E=E+1|0;if(E>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;F=C+4|0;E=c[F>>2]|0;H=E+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=yq(c[C>>2]|0,J)|0;if(!K){n=j;o=u;p=9920;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[F>>2]=H;c[L+(E<<2)>>2]=z;E=(D|0)==0;if(E){H=x+1|0;if(H<<2>>>0>y>>>0){F=H<<3;K=yq(s,F)|0;if(!K){n=j;o=u;p=9920;break a}M=c[C>>2]|0;N=K;O=K;P=K;Q=C;R=K;S=F}else{M=L;N=u;O=t;P=s;Q=C;R=w;S=y}c[R+(x<<2)>>2]=G;T=N;U=O;V=P;W=M;X=Q;Y=R;Z=H;_=S}else{T=u;U=t;V=s;W=L;X=C;Y=w;Z=x;_=y}C=m+(D<<2)|0;H=c[C>>2]|0;F=z-A|0;if((c[W+(H<<2)>>2]|0)>>>0<F>>>0){K=c[X>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[K+(I<<2)>>2]|0)>>>0<F>>>0)J=I;else{$=K;aa=I;break}}}else{$=W;aa=H}K=j+(D<<2)|0;J=c[K>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0<z>>>0){F=J;do{F=F+1|0;c[K>>2]=F}while((c[$+(F<<2)>>2]|0)>>>0<z>>>0);ba=F;ca=c[C>>2]|0}else{ba=J;ca=aa}K=z+258|0;H=K>>>0>f>>>0?f:K;K=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+z|0;da=I;d:do if(E){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=z-ha|0;ja=c[Y+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(K|0))la=K;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(K|0)){la=K;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0<ba>>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(z|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=z-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(K|0)){wa=K;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0<ba>>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=1;I=28;while(1){ga=(da+I|0)>>>1;if((c[29568+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[29568+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=da;Aa=ea}else{Ba=ka;Ca=ea;break}}else{za=ga+1|0;Aa=I}if(za>>>0>Aa>>>0){Ba=258;Ca=28;break}else{da=za;I=Aa}}I=oa-Ba|0;da=1;ga=29;while(1){ea=(da+ga|0)>>>1;if((c[29824+(ea<<2)>>2]|0)>>>0>pa>>>0){ka=ea+-1|0;fa=c[29824+(ka<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=da;Ea=ka}else{Fa=fa;Ga=ka;break}}else{Da=ea+1|0;Ea=ga}if(Da>>>0>Ea>>>0){Fa=24577;Ga=29;break}else{da=Da;ga=Ea}}ga=pa-Fa|0;da=Ca+257|0;ea=c[q>>2]|0;ka=ea+1|0;fa=c[r>>2]|0;do if(ka<<2>>>0>fa>>>0){ma=ka<<3;ja=yq(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=fa;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=ka;c[Ja+(ea<<2)>>2]=da;Ha=ka;Ia=Ka}fa=Ha+1|0;do if(fa<<2>>>0>Ia>>>0){ma=fa<<3;ja=yq(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=fa;c[Na+(Ha<<2)>>2]=I;La=fa;Ma=Oa}ka=La+1|0;do if(ka<<2>>>0>Ma>>>0){da=ka<<3;ea=yq(c[b>>2]|0,da)|0;if(!ea){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ea;Ra=ea;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=ka;c[Ra+(La<<2)>>2]=Ga;Pa=ka;Qa=Sa}fa=Pa+1|0;do if(fa<<2>>>0>Qa>>>0){I=fa<<3;da=yq(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=fa;c[Ta+(Pa<<2)>>2]=ga}ka=oa+-1|0;if(!ka){Ua=T;Va=U;Wa=V;Xa=v;Ya=Y;Za=Z;_a=_;$a=z;break}da=U;I=V;ea=T;ma=Y;ja=Z;ia=_;na=0;ab=z;while(1){bb=ab+1|0;do if(bb>>>0<f>>>0){cb=(ab+7|0)>>>0<f>>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{fb=d[e+(eb+bb)>>0]<<(eb<<1)^fb;eb=eb+1|0}while(eb>>>0<cb>>>0);db=fb&65535}else db=0;while(0);cb=h+(db*12|0)|0;eb=cb+4|0;ha=c[eb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=yq(c[cb>>2]|0,ib)|0;if(!jb){Ua=ea;Va=da;Wa=I;Xa=9922;Ya=ma;Za=ja;_a=ia;$a=bb;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[eb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ja+1|0;if(gb<<2>>>0>ia>>>0){ha=gb<<3;fb=yq(da,ha)|0;if(!fb){Ua=ea;Va=da;Wa=I;Xa=9922;Ya=ma;Za=ja;_a=ia;$a=bb;break c}mb=fb;nb=fb;ob=fb;pb=fb;qb=ha}else{mb=ea;nb=da;ob=I;pb=ma;qb=ia}c[pb+(ja<<2)>>2]=lb;rb=mb;sb=nb;tb=ob;ub=pb;vb=gb;wb=qb}else{rb=ea;sb=da;tb=I;ub=ma;vb=ja;wb=ia}na=na+1|0;if(na>>>0>=ka>>>0){Ua=rb;Va=sb;Wa=tb;Xa=v;Ya=ub;Za=vb;_a=wb;$a=bb;break}else{da=sb;I=tb;ea=rb;ma=ub;ja=vb;ia=wb;ab=bb}}}else ua=54;while(0);if((ua|0)==54){ua=0;K=d[e+z>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;E=yq(c[b>>2]|0,B)|0;if(!E){n=j;o=T;p=9921;break a}c[r>>2]=B;c[b>>2]=E;xb=E}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=K;Ua=T;Va=U;Wa=V;Xa=v;Ya=Y;Za=Z;_a=_;$a=z}z=$a+1|0;if(z>>>0>=f>>>0){n=j;o=Ua;p=Xa;break}else{s=Wa;t=Va;u=Ua;v=Xa;w=Ya;x=Za;y=_a}}}else{n=j;o=0;p=k}}else{n=0;o=0;p=9919}while(0);k=0;do{j=h+(k*12|0)|0;c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;k=k+1|0}while((k|0)!=65536);zq(h);zq(l);zq(n);zq(o);i=p;return i|0}function Xp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=c[b>>2]|0;t=0;do{u=p>>>(r-t|0)&1;do if(!(s&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0<w>>>0){x=w<<1;y=yq(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);s=(c[b>>2]|0)+1|0;c[b>>2]=s;t=t+1|0}while((t|0)!=(q|0))}if(o>>>0>256){q=c[29440+(o+-257<<2)>>2]|0;t=c[f>>2]|0;s=c[t+(h+1<<2)>>2]|0;r=c[t+(h+2<<2)>>2]|0;p=c[29696+(r<<2)>>2]|0;v=h+3|0;w=c[t+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){t=c[b>>2]|0;y=0;do{x=s>>>y&1;do if(!(t&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){C=B<<1;D=yq(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;y=y+1|0}while((y|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;y=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(y|0){t=y+-1|0;s=c[b>>2]|0;o=0;do{u=q>>>(t-o|0)&1;do if(!(s&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){D=B<<1;C=yq(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);s=(c[b>>2]|0)+1|0;c[b>>2]=s;o=o+1|0}while((o|0)!=(y|0))}if(r>>>0<4)G=v;else{y=c[b>>2]|0;o=0;do{s=w>>>o&1;do if(!(y&7)){t=c[g>>2]|0;q=t+1|0;if((c[l>>2]|0)>>>0<q>>>0){x=q<<1;A=yq(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+t>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=s<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;o=o+1|0}while((o|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Ia;Ia=Ia+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ia=g;return j|0}k=0;l=0;m=0;do{n=c[b+(k<<2)>>2]|0;m=n+m|0;l=l+((n|0)!=0&1)|0;k=k+1|0}while((k|0)!=(d|0));if(i){j=80;Ia=g;return j|0}i=a+40|0;c[i>>2]=d;k=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=yq(c[k>>2]|0,q)|0;if(!r){j=9905;Ia=g;return j|0}else{c[n>>2]=q;c[k>>2]=r;break}}while(0);c[o>>2]=d;Wv(c[k>>2]|0,0,p|0)|0;switch(l|0){case 0:{c[c[k>>2]>>2]=1;j=Tp(a)|0;Ia=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[k>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=Tp(a)|0;Ia=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=Zp(h,b,c[i>>2]|0,m)|0;do if(!n){if(e){r=0;q=0;s=1;t=0;do{u=r;r=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=t;t=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;zq(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0<u>>>0)}c[p>>2]=0;if(r>>>0>1){u=c[o>>2]|0;y=t;w=v;z=x;A=1;C=0;D=0;while(1){E=C+1|0;F=B(u,E)|0;if(F>>>0>w>>>0){G=F<<1;F=yq(z,G)|0;if(!F){H=z;I=w;J=C;K=9907;break}else{L=F;M=G}}else{L=z;M=w}G=L+(B(u,C)|0)|0;c[G>>2]=0;F=G+8|0;c[F>>2]=0;N=G+4|0;c[N>>2]=0;O=y+(D<<4)|0;P=G+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=yq(0,S)|0;if(T|0){c[F>>2]=S;c[G>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(A<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[F>>2]|0)>>>0){X=W<<3;Y=yq(c[G>>2]|0,X)|0;if(!Y)break;c[F>>2]=X;c[G>>2]=Y;Z=Y;V=37}else{Z=c[G>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];D=D+2|0;A=D|1;if(A>>>0>=r>>>0){H=L;I=M;J=E;K=0;break}else{w=M;z=L;C=E}}c[p>>2]=J;c[d>>2]=I;c[h>>2]=H;_=K}else _=0;if(s>>>0<e>>>0)$=Zp(h,b,c[i>>2]|0,m)|0;else $=_;s=s+1|0}while(s>>>0<=e>>>0&($|0)==0);if(!$){aa=t;ba=r}else{ca=$;da=t;ea=r;V=60;break}}else{aa=0;ba=0}s=l+-1|0;q=c[p>>2]|0;if(q>>>0>s>>>0){C=c[h>>2]|0;z=c[o>>2]|0;w=s;do{A=C+(B(z,w)|0)|0;c[A+8>>2]=0;c[A+4>>2]=0;zq(c[A>>2]|0);c[A>>2]=0;w=w+1|0}while(w>>>0<q>>>0);fa=z}else fa=c[o>>2]|0;z=B(fa,s)|0;if(z>>>0>(c[d>>2]|0)>>>0){w=z<<1;z=yq(c[h>>2]|0,w)|0;if(!z)ga=q;else{c[d>>2]=w;c[h>>2]=z;V=52}}else V=52;if((V|0)==52){c[p>>2]=s;ga=s}if(!ga)ha=0;else{z=c[h>>2]|0;w=0;do{C=z+(B(fa,w)|0)|0;r=c[C+4>>2]|0;if(r|0){t=c[k>>2]|0;A=c[C>>2]|0;C=0;do{D=t+(c[A+(C<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;C=C+1|0}while(C>>>0<r>>>0)}w=w+1|0}while(w>>>0<ga>>>0);ha=ga}ia=ha;ja=ga;ka=Tp(a)|0;la=aa;ma=ba}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=V;ja=V;ka=ca;la=da;ma=ea}ea=c[h>>2]|0;if(ia|0){ia=c[o>>2]|0;o=0;do{da=ea+(B(ia,o)|0)|0;c[da+8>>2]=0;c[da+4>>2]=0;zq(c[da>>2]|0);c[da>>2]=0;o=o+1|0}while(o>>>0<ja>>>0)}ja=p;c[ja>>2]=0;c[ja+4>>2]=0;zq(ea);c[h>>2]=0;h=la;if(ma|0){la=0;do{ea=h+(la<<4)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;zq(c[ea>>2]|0);c[ea>>2]=0;la=la+1|0}while((la|0)!=(ma|0))}zq(h);j=ka;Ia=g;return j|0}}return 0}function Zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=yq(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=c[l>>2]|0;t=q;u=c[h>>2]|0}else{s=m;t=c[a>>2]|0;u=p}c[g>>2]=o;o=t+(B(u,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;p=o+4|0;c[p>>2]=0;f[o+12>>2]=+(s>>>0)/j;m=yq(0,8)|0;if(m|0){c[n>>2]=8;c[o>>2]=m;c[p>>2]=1;c[m>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;zq(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{s=a*10|0;u=(s+-117|0)>>>0<13|(s+-130|0)>>>0<13?11:(s>>>0)/13|0;a=(u|0)==0?1:u;u=d-a|0;if(!u)w=0;else{s=0;t=0;while(1){b=s+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(s<<4)+12|0;x=+f[k>>2];if(j<x){f[e>>2]=x;f[k>>2]=j;k=g+(s<<4)|0;e=g+(b<<4)|0;h=g+(s<<4)+4|0;m=c[h>>2]|0;p=g+(b<<4)+4|0;c[h>>2]=c[p>>2];c[p>>2]=m;m=g+(s<<4)+8|0;p=c[m>>2]|0;h=g+(b<<4)+8|0;c[m>>2]=c[h>>2];c[h>>2]=p;p=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=p;y=1}else y=t;s=s+1|0;if(s>>>0>=u>>>0){w=y;break}else t=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function _p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0<h>>>0){j=h<<1;k=yq(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0<l>>>0){h=l<<1;k=yq(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0<n>>>0){l=n<<1;k=yq(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0<g>>>0){o=g<<1;n=yq(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function $p(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;if(g>>>0<2){k=53;Ia=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Ia=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ia=i;return k|0}if(n&32|0){k=26;Ia=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Qp(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Ia=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=1;p=0}else{h=e;e=b;b=1;f=0;while(1){n=e>>>0<5550?e:5550;e=e-n|0;if(!n){q=h;r=b;s=f}else{l=n;m=h;j=b;t=f;while(1){j=j+(d[m>>0]|0)|0;t=j+t|0;l=l+-1|0;if(!l)break;else m=m+1|0}q=h+n|0;r=j;s=t}b=(r>>>0)%65521|0;f=(s>>>0)%65521|0;if(!e)break;else h=q}o=b;p=f<<16}if((p|o|0)!=(g|0)){k=58;Ia=i;return k|0}}k=0;Ia=i;return k|0}function aq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Ia;Ia=Ia+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=yq(l,q)|0;if(!r){s=m;t=l;u=m;v=p}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=x;t=w;u=p;v=m+2|0}if(s>>>0<v>>>0){s=v<<1;m=yq(t,s)|0;if(m|0){c[o>>2]=s;c[k>>2]=m;z=m;y=8}}else{z=t;y=8}if((y|0)==8){c[n>>2]=v;a[z+u>>0]=1}c[j>>2]=0;u=j+8|0;c[u>>2]=0;z=j+4|0;c[z>>2]=0;v=Vp(j,f,g,h)|0;if(v|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return v|0}if(!g){C=1;D=0}else{h=f;f=g;g=1;t=0;while(1){m=f>>>0<5550?f:5550;f=f-m|0;if(!m){E=h;F=g;G=t}else{s=m;p=h;w=g;x=t;while(1){w=w+(d[p>>0]|0)|0;x=w+x|0;s=s+-1|0;if(!s)break;else p=p+1|0}E=h+m|0;F=w;G=x}g=(F>>>0)%65521|0;t=(G>>>0)%65521|0;if(!f)break;else h=E}C=g;D=t<<16}t=D|C;if(c[z>>2]|0){C=c[k>>2]|0;D=c[n>>2]|0;g=c[o>>2]|0;E=0;while(1){h=a[(c[j>>2]|0)+E>>0]|0;f=D+1|0;if(g>>>0<f>>>0){G=f<<1;F=yq(C,G)|0;if(!F){H=C;I=D;J=g}else{K=F;L=G;y=22}}else{K=C;L=g;y=22}if((y|0)==22){y=0;a[K+D>>0]=h;H=K;I=f;J=L}E=E+1|0;if(E>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;D=I;g=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[u>>2]=0;c[z>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;_p(k,t);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return v|0}function bq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[557119]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1726752+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[557119]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1726752+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function cq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0<i>>>0|j>>>0<h>>>0){k=77;return k|0}i=yq(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=0;p=h;q=i;r=b}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[m>>0]|0;p=a[j>>0]|0;q=a[d>>0]|0;r=a[l>>0]|0}l=(q&255)<<16|(p&255)<<24|(r&255)<<8|o&255;o=bq(n,l+4|0)|0;n=j+8+l|0;a[n>>0]=o>>>24;a[n+1>>0]=o>>>16;a[n+2>>0]=o>>>8;a[n+3>>0]=o;k=0;return k|0}function dq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=yq(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=yq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){zq(g);zq(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=yq(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=bu(d)|0;i=yq(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=yq(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=bu(e)|0;h=yq(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function eq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;zq(h);i=c[e>>2]|0;zq(i);j=c[f>>2]|0;zq(j);k=c[g>>2]|0;zq(k);return}l=d;d=0;while(1){m=l+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[e>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[f>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[g>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;d=d+1|0;m=c[b>>2]|0;if(d>>>0>=(c[a>>2]|0)>>>0){h=m;break}else l=m}zq(h);i=c[e>>2]|0;zq(i);j=c[f>>2]|0;zq(j);k=c[g>>2]|0;zq(k);return}function fq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=yq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=yq(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=yq(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=yq(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){zq(i);zq(k);zq(m);zq(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=yq(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=bu(d)|0;o=yq(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=yq(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=bu(e)|0;h=yq(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=yq(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=bu(f)|0;j=yq(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=yq(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=bu(g)|0;n=yq(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)zq(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=e;e=0;while(1){i=h+(e<<2)|0;zq(c[i>>2]|0);c[i>>2]=0;i=(c[f>>2]|0)+(e<<2)|0;zq(c[i>>2]|0);c[i>>2]=0;e=e+1|0;i=c[d>>2]|0;if(e>>>0>=(c[b>>2]|0)>>>0){g=i;break}else h=i}}zq(g);zq(c[f>>2]|0);eq(a+80|0);zq(c[a+132>>2]|0);zq(c[a+136>>2]|0);zq(c[a+140>>2]|0);return}function hq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=n;q=0;s=0;while(1){if(!p){v=q;w=0}else{t=q;r=p+-1|0;x=0;while(1){y=t+1|0;z=(((d[e+(t>>>3)>>0]|0)>>>(t&7^7)&1)<<r)+x|0;r=r+-1|0;if(r>>>0>=p>>>0){v=y;w=z;break}else{t=y;x=z}}}a[b+(B(s,f)|0)>>0]=((w*255|0)>>>0)/(((1<<p)+-1|0)>>>0)|0;x=s+1|0;if((x|0)==(j|0)){o=0;break}p=c[h>>2]|0;q=v;s=x}return o|0}s=n;n=0;v=0;while(1){if(!s){A=n;C=0}else{q=n;p=s+-1|0;w=0;while(1){x=q+1|0;t=(((d[e+(q>>>3)>>0]|0)>>>(q&7^7)&1)<<p)+w|0;p=p+-1|0;if(p>>>0>=s>>>0){A=x;C=t;break}else{q=x;w=t}}}w=B(v,f)|0;q=b+(w+1)|0;a[q>>0]=-1;if((C|0)!=0&(c[u>>2]|0)!=0?(p=(1<<c[h>>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[q>>0]=0;a[b+w>>0]=((C*255|0)>>>0)/(((1<<c[h>>2])+-1|0)>>>0)|0;w=v+1|0;if((w|0)==(j|0)){o=0;break}s=c[h>>2]|0;n=A;v=w}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;v=c[i>>2]|0;switch(v|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}A=g+16|0;n=g+20|0;if(!k){h=0;do{s=e+h|0;C=B(h,f)|0;a[b+C>>0]=a[s>>0]|0;a[b+(C+1)>>0]=a[s>>0]|0;a[b+(C+2)>>0]=a[s>>0]|0;h=h+1|0}while((h|0)!=(j|0));o=0;return o|0}h=0;do{s=B(h,f)|0;C=b+(s+3)|0;a[C>>0]=-1;m=e+h|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[A>>2]|0?(c[n>>2]|0)==(d[m>>0]|0|0):0)a[C>>0]=0;h=h+1|0}while((h|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}h=(k|0)!=0;n=g+16|0;A=g+20|0;C=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(h)a[b+(u+3)>>0]=-1;w=s*3|0;q=e+w|0;a[b+u>>0]=a[q>>0]|0;p=e+(w+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;t=e+(w+2)|0;a[b+(u+2)>>0]=a[t>>0]|0;if((((h?(c[n>>2]|0)==1:0)?(c[A>>2]|0)==(d[q>>0]|0|0):0)?(c[C>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[t>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;C=g+8|0;A=(f|0)==1;if(!k){n=0;while(1){h=e+n|0;u=a[h>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(t=B(n,f)|0,a[b+t>>0]=a[(c[C>>2]|0)+((u&255)<<2)>>0]|0,!A):0){u=1;do{a[b+(u+t)>>0]=a[(c[C>>2]|0)+(((d[h>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}n=n+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{n=0;while(1){u=B(n,f)|0;a[b+(u+3)>>0]=-1;h=e+n|0;t=a[h>>0]|0;if((c[s>>2]|0)>>>0<=(t&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[C>>2]|0)+((t&255)<<2)>>0]|0,!A):0){t=1;do{a[b+(t+u)>>0]=a[(c[C>>2]|0)+(((d[h>>0]|0)<<2)+t)>>0]|0;t=t+1|0}while((t|0)!=(f|0))}n=n+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){n=0;do{C=e+(n<<1)|0;A=B(n,f)|0;a[b+A>>0]=a[C>>0]|0;a[b+(A+1)>>0]=a[C>>0]|0;a[b+(A+2)>>0]=a[C>>0]|0;n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}else{n=0;do{C=n<<1;A=e+C|0;m=B(n,f)|0;a[b+m>>0]=a[A>>0]|0;a[b+(m+1)>>0]=a[A>>0]|0;a[b+(m+2)>>0]=a[A>>0]|0;a[b+(m+3)>>0]=a[e+(C|1)>>0]|0;n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}n=0;do{C=n<<2;m=B(n,f)|0;A=0;do{a[b+(A+m)>>0]=a[e+(A+C)>>0]|0;A=A+1|0}while((A|0)!=(f|0));n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}n=g+16|0;A=g+20|0;if(!k){C=0;do{m=e+(C<<1)|0;s=B(C,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}C=0;while(1){m=B(C,f)|0;s=b+(m+3)|0;a[s>>0]=-1;t=e+(C<<1)|0;a[b+m>>0]=a[t>>0]|0;a[b+(m+1)>>0]=a[t>>0]|0;a[b+(m+2)>>0]=a[t>>0]|0;if(c[n>>2]|0){t=C+1|0;if(((d[e+C>>0]|0)<<8|(d[e+t>>0]|0)|0)==(c[A>>2]|0)){a[s>>0]=0;E=t}else E=t}else E=C+1|0;if((E|0)==(j|0)){o=0;break}else C=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;C=g+16|0;A=g+20|0;n=g+24|0;t=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;h=s*6|0;u=e+h|0;a[b+m>>0]=a[u>>0]|0;p=e+(h+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;q=e+(h+4)|0;a[b+(m+2)>>0]=a[q>>0]|0;if((((E?c[C>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(h|1)>>0]|0)|0)==(c[A>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(h+3)>>0]|0)|0)==(c[n>>2]|0):0)?((d[q>>0]|0)<<8|(d[e+(h+5)>>0]|0)|0)==(c[t>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{t=e+(s<<2)|0;n=B(s,f)|0;a[b+n>>0]=a[t>>0]|0;a[b+(n+1)>>0]=a[t>>0]|0;a[b+(n+2)>>0]=a[t>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{t=s<<2;n=e+t|0;A=B(s,f)|0;a[b+A>>0]=a[n>>0]|0;a[b+(A+1)>>0]=a[n>>0]|0;a[b+(A+2)>>0]=a[n>>0]|0;a[b+(A+3)>>0]=a[e+(t|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{t=s<<3;A=B(s,f)|0;n=0;do{a[b+(n+A)>>0]=a[e+((n<<1)+t)>>0]|0;n=n+1|0}while((n|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;n=g+20|0;t=v;A=0;C=0;while(1){if(!t){F=A;G=0}else{E=A;m=t+-1|0;h=0;while(1){q=E+1|0;p=(((d[e+(E>>>3)>>0]|0)>>>(E&7^7)&1)<<m)+h|0;m=m+-1|0;if(m>>>0>=t>>>0){F=q;G=p;break}else{E=q;h=p}}}h=B(C,f)|0;if((!l?(E=b+(h+3)|0,a[E>>0]=-1,(G|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<<c[i>>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[n>>2]|0))):0)a[E>>0]=0;E=(((G*255|0)>>>0)/(((1<<c[i>>2])+-1|0)>>>0)|0)&255;a[b+h>>0]=E;a[b+(h+1)>>0]=E;a[b+(h+2)>>0]=E;E=C+1|0;if((E|0)==(j|0)){o=0;break}t=c[i>>2]|0;A=F;C=E}return o|0}case 3:{if(!j){o=0;return o|0}C=(k|0)==0;k=g+12|0;F=(f|0)==0;A=g+8|0;g=v;v=0;t=0;while(1){if(!g){H=v;I=0}else{G=v;n=g+-1|0;s=0;while(1){l=G+1|0;E=(((d[e+(G>>>3)>>0]|0)>>>(G&7^7)&1)<<n)+s|0;n=n+-1|0;if(n>>>0>=g>>>0){H=l;I=E;break}else{G=l;s=E}}}if(!C)a[b+((B(t,f)|0)+3)>>0]=-1;if(I>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!F){s=I<<2;G=B(t,f)|0;n=0;do{a[b+(n+G)>>0]=a[(c[A>>2]|0)+(n+s)>>0]|0;n=n+1|0}while((n|0)!=(f|0))}n=t+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}g=c[i>>2]|0;v=H;t=n}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function iq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;gq(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(bq(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function jq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ia;Ia=Ia+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;iq(b,g,h);u=b+208|0;if(c[u>>2]|0){Ia=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=45;da=g+33|0;ea=1;fa=0;ga=0;ha=0;ia=0;b:while(1){ja=da+1|0;ka=da+2|0;la=da+3|0;ma=d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ca|0)>>>0>h>>>0){ba=9;break}if((da+ma+12|0)>>>0<g>>>0){ba=9;break}na=da+8|0;oa=da+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[da+5>>0]|0){case 68:break;case 69:{if((a[da+6>>0]|0)!=78){ba=187;break b}if((a[da+7>>0]|0)==68){qa=1;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[da+6>>0]|0)!=65){ba=187;break b}if((a[da+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0<wa>>>0){xa=wa<<1;ya=yq(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=3;sa=za;ta=Aa;ua=wa;va=ia}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=3;sa=za;ta=Aa;ua=wa;va=ia}break}case 80:{if((a[da+5>>0]|0)!=76){ba=187;break b}if((a[da+6>>0]|0)!=84){ba=187;break b}if((a[da+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)zq(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=xq(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia}else{wa=xa;xa=0;ya=0;while(1){Ba=xa<<2;a[wa+Ba>>0]=a[na+ya>>0]|0;a[(c[x>>2]|0)+(Ba|1)>>0]=a[na+(ya+1)>>0]|0;a[(c[x>>2]|0)+(Ba|2)>>0]=a[na+(ya+2)>>0]|0;a[(c[x>>2]|0)+(Ba|3)>>0]=-1;Ba=xa+1|0;if(Ba>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia;break c}wa=c[x>>2]|0;xa=Ba;ya=ya+3|0}}break}case 116:{switch(a[da+5>>0]|0){case 82:{if((a[da+6>>0]|0)!=78){ba=188;break c}if((a[da+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}ya=0;do{a[(c[x>>2]|0)+(ya<<2|3)>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(ma|0));qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;ya=d[na>>0]<<8|d[da+9>>0];c[C>>2]=ya;c[D>>2]=ya;c[E>>2]=ya;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[da+9>>0];c[D>>2]=d[da+10>>0]<<8|d[da+11>>0];c[C>>2]=d[da+12>>0]<<8|d[da+13>>0];qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{ba=51;break b}}break}case 69:{if((a[da+6>>0]|0)!=88){ba=188;break c}if((a[da+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{ya=0;while(1){xa=ya+1|0;if(!(a[na+ya>>0]|0)){Da=xa;Ea=ya;break d}if(xa>>>0<ma>>>0)ya=xa;else{Ca=xa;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca+1|0;Ea=Ca}do if(ma>>>0>Da>>>0){ya=xq(Da)|0;if(ya){a[ya+Ea>>0]=0;if(Ea|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(Ea|0))}if(ma>>>0<Da>>>0){Fa=75;Ga=ya;Ha=0}else{xa=ma-Da|0;wa=xq(xa+1|0)|0;if(!wa){Fa=9939;Ga=ya;Ha=0;break}a[wa+xa>>0]=0;if(xa|0){Ba=0;do{a[wa+Ba>>0]=a[na+(Ba+Da)>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(xa|0))}Fa=dq(_,ya,wa)|0;Ga=ya;Ha=wa}}else{Fa=9938;Ga=0;Ha=0}}else{Fa=75;Ga=0;Ha=0}while(0);c[u>>2]=Fa;Ja=Ga;Ka=Ha}else{Ja=0;Ka=0}zq(Ja);zq(Ka);qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 73:{if((a[da+6>>0]|0)!=77){ba=188;break c}if((a[da+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[da+9>>0];a[R>>0]=a[da+10>>0]|0;a[S>>0]=a[da+11>>0]|0;a[T>>0]=a[da+12>>0]|0;a[U>>0]=a[da+13>>0]|0;a[V>>0]=a[da+14>>0]|0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[da+5>>0]|0)==75?(a[da+6>>0]|0)==71:0)?(a[da+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;xa=d[na>>0]|0;c[H>>2]=xa;c[I>>2]=xa;c[J>>2]=xa;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;xa=d[na>>0]<<8|d[da+9>>0];c[H>>2]=xa;c[I>>2]=xa;c[J>>2]=xa;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[da+9>>0];c[I>>2]=d[da+10>>0]<<8|d[da+11>>0];c[H>>2]=d[da+12>>0]<<8|d[da+13>>0];qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}}else ba=188;break}case 122:{if(((a[da+5>>0]|0)==84?(a[da+6>>0]|0)==88:0)?(a[da+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{xa=0;while(1){if(!(a[na+xa>>0]|0)){La=xa;break e}Ba=xa+1|0;if(Ba>>>0<ma>>>0)xa=Ba;else{La=Ba;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}ya=La+1|0;xa=xq(ya)|0;if(!xa){c[u>>2]=9940;Ma=0;Na=0;break}a[xa+La>>0]=0;if(La|0){Ba=0;do{a[xa+Ba>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(La|0))}if(a[na+ya>>0]|0){c[u>>2]=72;Ma=0;Na=xa;break}if(ma>>>0<wa>>>0){c[u>>2]=75;Ma=0;Na=xa;break}Ba=$p(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=Ba;if(Ba|0){Ma=c[j>>2]|0;Na=xa;break}Ba=c[L>>2]|0;Oa=Ba+1|0;do if((c[K>>2]|0)>>>0<Oa>>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=yq(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+Ba>>0]=0;Sa=Ta}c[u>>2]=dq(_,xa,Sa)|0;Ma=Sa;Na=xa}else{Ma=0;Na=0}while(0);zq(Na);zq(Ma);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}case 105:{if(((a[da+5>>0]|0)==84?(a[da+6>>0]|0)==88:0)?(a[da+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}ya=wa+1|0;if(ya>>>0<ma>>>0)wa=ya;else{Za=ya;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}xa=Za+1|0;Ba=xq(xa)|0;if(!Ba){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[Ba+Za>>0]=0;if(Za|0){Oa=0;do{a[Ba+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+xa>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=Ba;Xa=0;Ya=0;break}ya=Za+3|0;g:do if(ya>>>0<ma>>>0){Ra=ya;Pa=0;while(1){if(!(a[na+Ra>>0]|0)){_a=Pa;break g}Qa=Pa+1|0;Ra=Ra+1|0;if(Ra>>>0>=ma>>>0){_a=Qa;break}else Pa=Qa}}else _a=0;while(0);wa=_a+1|0;xa=wa+ya|0;if(xa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=0;Ya=0;break}Pa=xq(wa)|0;if(!Pa){c[u>>2]=9942;Va=0;Wa=Ba;Xa=0;Ya=0;break}a[Pa+_a>>0]=0;if(_a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=xa;ya=0;while(1){if(!(a[na+wa>>0]|0)){$a=ya;break}Ra=ya+1|0;wa=wa+1|0;if(wa>>>0>=ma>>>0){$a=Ra;break}else ya=Ra}ya=$a+1|0;wa=ya+xa|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=Pa;Ya=0;break}Ra=xq(ya)|0;if(!Ra){c[u>>2]=9943;Va=0;Wa=Ba;Xa=Pa;Ya=0;break}a[Ra+$a>>0]=0;if($a|0){ya=0;do{a[Ra+ya>>0]=a[na+(ya+xa)>>0]|0;ya=ya+1|0}while((ya|0)!=($a|0))}if(ma>>>0<wa>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=Pa;Ya=Ra;break}ya=ma-wa|0;h:do if(!(Oa<<24>>24)){xa=ya+1|0;do if(xa){Qa=xa<<1;ab=yq(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=xa;a[ab+ya>>0]=0;if(!ya){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=0;Wa=Ba;Xa=Pa;Ya=Ra;break f}}else{c[O>>2]=0;a[0+ya>>0]=0;cb=0}while(0);xa=0;do{a[cb+xa>>0]=a[na+(xa+wa)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0));bb=cb}else{xa=$p(j,O,na+wa|0,ya,b)|0;c[u>>2]=xa;if(xa|0){Va=c[j>>2]|0;Wa=Ba;Xa=Pa;Ya=Ra;break f}xa=c[O>>2]|0;ab=xa+1|0;if((c[N>>2]|0)>>>0<ab>>>0){Qa=ab<<1;db=c[j>>2]|0;eb=yq(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+xa>>0]=0;bb=fb}while(0);c[u>>2]=fq($,Ba,Pa,Ra,bb)|0;Va=bb;Wa=Ba;Xa=Pa;Ya=Ra}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);zq(Wa);zq(Xa);zq(Ya);zq(Va);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}case 112:{if(((a[da+5>>0]|0)==72?(a[da+6>>0]|0)==89:0)?(a[da+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[da+9>>0]<<16|d[na>>0]<<24|d[da+10>>0]<<8|d[da+11>>0];c[Y>>2]=d[da+13>>0]<<16|d[da+12>>0]<<24|d[da+14>>0]<<8|d[da+15>>0];a[Z>>0]=a[da+16>>0]|0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=1}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;ya=b+196+(pa<<2)|0;pa=ma+12|0;wa=c[ya>>2]|0;Oa=wa+pa|0;if(Oa>>>0<pa>>>0|Oa>>>0<wa>>>0){gb=77;ba=193;break}xa=yq(c[na>>2]|0,Oa)|0;if(!xa){gb=9929;ba=193;break}c[na>>2]=xa;c[ya>>2]=Oa;Oa=xa+wa|0;wa=0;do{a[Oa+wa>>0]=a[da+wa>>0]|0;wa=wa+1|0}while((wa|0)!=(pa|0));c[u>>2]=0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=1}}if((c[w>>2]|va|0)==0?(pa=d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0],wa=da+(pa+8)|0,Oa=d[wa+1>>0]<<16|d[wa>>0]<<24|d[wa+2>>0]<<8|d[wa+3>>0],(Oa|0)!=(bq(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}da=da+((d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ca=da-v+12|0;if(da>>>0<g>>>0|ca>>>0>h>>>0){aa=sa;ba=4;break a}else{ea=ra;fa=sa;ga=ta;ha=ua;ia=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=sa;break a;break}case 200:{if(c[u>>2]|0){Ua=sa;break a}c[t>>2]=0;ia=t+8|0;c[ia>>2]=0;ha=t+4|0;c[ha>>2]=0;ga=b+52|0;ea=c[ga>>2]|0;ca=b+56|0;da=c[ca>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}wa=((B((B(B(Oa,da)|0,hb)|0)+7|0,ea)|0)>>>3)+da|0;do if(wa){da=wa<<1;ea=yq(0,da)|0;if(ea){c[ia>>2]=da;c[t>>2]=ea;ea=c[u>>2]|0;c[ha>>2]=wa;if(!ea){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ha>>2]=0;ba=211}while(0);if((ba|0)==211?(wa=$p(t,ha,sa,ua,b)|0,c[u>>2]=wa,(wa|0)==0):0){wa=c[ca>>2]|0;fa=c[ga>>2]|0;ea=c[z>>2]|0;da=c[pa>>2]|0;switch(ea|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,wa)|0,da)|0,ib)|0)+7|0)>>>3;if(Oa){wa=yq(0,Oa<<1)|0;if(wa){Wv(wa|0,0,Oa|0)|0;fa=wa;if(!(c[u>>2]|0)){jb=c[z>>2]|0;kb=c[pa>>2]|0;lb=fa;ba=221}else{mb=fa;nb=Oa}}else{ob=0;pb=0;qb=9946;ba=286}}else{jb=ea;kb=da;lb=0;ba=221}i:do if((ba|0)==221){da=lb;ea=c[t>>2]|0;switch(jb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,kb)|0;wa=c[ga>>2]|0;ma=c[ca>>2]|0;if(!fa){ob=lb;pb=Oa;qb=31;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=kq(da,ea,wa,ma,fa)|0;break}xa=B(wa,fa)|0;ya=xa+7&-8;if((xa|0)==(ya|0)){sb=kq(da,ea,wa,ma,fa)|0;break}na=kq(ea,ea,wa,ma,fa)|0;if(na|0){ob=lb;pb=Oa;qb=na;ba=286;break i}if((ma|0)==0|(xa|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=na;db=ab;tb=0;while(1){ub=1<<(db&7^7);if(!(1<<(Qa&7^7)&d[ea+(Qa>>>3)>>0])){vb=da+(db>>>3)|0;wb=(ub^255)&d[vb>>0];xb=vb}else{vb=da+(db>>>3)|0;wb=ub|d[vb>>0];xb=vb}a[xb>>0]=wb;tb=tb+1|0;if((tb|0)==(xa|0))break;else{Qa=Qa+1|0;db=db+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+xa|0}}}}else{lq(o,p,q,r,s,wa,ma,fa);j:do if(fa>>>0>=8){xa=kq(ea+(c[r>>2]|0)|0,ea+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!xa){ab=kq(ea+(c[r+4>>2]|0)|0,ea+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=kq(ea+(c[r+8>>2]|0)|0,ea+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=kq(ea+(c[r+12>>2]|0)|0,ea+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=kq(ea+(c[r+16>>2]|0)|0,ea+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){db=kq(ea+(c[r+20>>2]|0)|0,ea+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(db|0){yb=0;zb=db;Ab=db;break}db=kq(ea+(c[r+24>>2]|0)|0,ea+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!db)ba=255;else{yb=0;zb=db;Ab=db}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=xa;Ab=xa}}else{xa=0;while(1){ab=ea+(c[r+(xa<<2)>>2]|0)|0;ya=c[o+(xa<<2)>>2]|0;na=c[p+(xa<<2)>>2]|0;eb=kq(ab,ea+(c[q+(xa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=ea+(c[s+(xa<<2)>>2]|0)|0;db=B(ya,fa)|0;ya=db+7&-8;if(!((na|0)==0|(db|0)==0)){Qa=0;tb=0;Ra=0;while(1){Pa=Qa;Ba=tb;vb=0;while(1){ub=1<<(Ba&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(Ba>>>3)|0;Cb=(ub^255)&d[Bb>>0];Db=Bb}else{Bb=eb+(Ba>>>3)|0;Cb=ub|d[Bb>>0];Db=Bb}a[Db>>0]=Cb;vb=vb+1|0;if((vb|0)==(db|0))break;else{Pa=Pa+1|0;Ba=Ba+1|0}}Ra=Ra+1|0;if((Ra|0)==(na|0))break;else{Qa=Qa+ya|0;tb=tb+db|0}}}xa=xa+1|0;if(xa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){lq(j,k,l,m,n,wa,ma,fa);if(fa>>>0>7){xa=fa>>>3;if(xa|0){db=0;do{tb=c[k+(db<<2)>>2]|0;do if(tb|0){ya=c[j+(db<<2)>>2]|0;if(!ya)break;Qa=c[n+(db<<2)>>2]|0;na=c[30048+(db<<2)>>2]|0;Ra=c[30016+(db<<2)>>2]|0;eb=c[29984+(db<<2)>>2]|0;ab=c[29952+(db<<2)>>2]|0;Ba=0;do{Pa=(B((B(Ba,Ra)|0)+na|0,wa)|0)+eb|0;vb=B(Ba,ya)|0;Bb=0;do{ub=(B(Bb+vb|0,xa)|0)+Qa|0;Eb=B(Pa+(B(Bb,ab)|0)|0,xa)|0;Fb=0;do{a[da+(Fb+Eb)>>0]=a[ea+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(xa|0));Bb=Bb+1|0}while((Bb|0)!=(ya|0));Ba=Ba+1|0}while((Ba|0)!=(tb|0))}while(0);db=db+1|0}while((db|0)!=7)}}else{db=0;do{xa=c[j+(db<<2)>>2]|0;tb=c[k+(db<<2)>>2]|0;if(!((xa|0)==0|(tb|0)==0)){Ba=c[30048+(db<<2)>>2]|0;ya=c[30016+(db<<2)>>2]|0;ab=c[29984+(db<<2)>>2]|0;Qa=c[29952+(db<<2)>>2]|0;eb=c[n+(db<<2)>>2]<<3;na=0;do{Ra=B(na,xa)|0;Bb=(B((B(na,ya)|0)+Ba|0,wa)|0)+ab|0;Pa=0;do{vb=0;Fb=(B(Pa+Ra|0,fa)|0)+eb|0;ub=B(Bb+(B(Pa,Qa)|0)|0,fa)|0;while(1){Eb=(d[ea+(Fb>>>3)>>0]|0)>>>(Fb&7^7)&1;if(Eb|0){Gb=da+(ub>>>3)|0;a[Gb>>0]=Eb<<(ub&7^7)|d[Gb>>0]}vb=vb+1|0;if((vb|0)==(fa|0))break;else{Fb=Fb+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(xa|0));na=na+1|0}while((na|0)!=(tb|0))}db=db+1|0}while((db|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=zb;else{ob=lb;pb=Oa;qb=Ab;ba=286;break i}}while(0);ob=lb;pb=Oa;qb=sb;ba=286}}while(0);if((ba|0)==286){c[u>>2]=qb;mb=ob;nb=pb}c[e>>2]=mb;c[f>>2]=nb}c[ia>>2]=0;c[ha>>2]=0;zq(c[t>>2]|0);Ua=sa;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}zq(Ua);if(c[u>>2]|0){Ia=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;sa=c[ba>>2]|0;if(sa|0)zq(sa);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];sa=xq(c[y>>2]<<2)|0;c[ba>>2]=sa;t=c[y>>2]|0;if(!sa){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Ia=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}a[sa>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}sa=1;do{a[(c[ba>>2]|0)+sa>>0]=a[(c[x>>2]|0)+sa>>0]|0;sa=sa+1|0}while(sa>>>0<c[y>>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Ia=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Ia=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Ia=i;return}}sa=b+52|0;x=c[sa>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=xq(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=hq(Ib,y,Ua,aa,c[sa>>2]|0,c[ba>>2]|0)|0;zq(y);Ia=i;return}function kq(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0<i>>>0;o=0;p=0;a:while(1){q=B(p,i)|0;r=B(p,e)|0;s=o;o=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[o+t>>0]=(d[o+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[o+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=((d[o+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[o+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=(((d[s+t>>0]|0)+(d[o+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=(d[o+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[o+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[o+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[o+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);p=p+1|0;if(p>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function lq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=B(a,j+1|0)|0;w=j;x=b}b=d+4|0;c[b>>2]=v;v=e+4|0;c[v>>2]=(B(a,w)|0)+(c[e>>2]|0);w=f+4|0;c[w>>2]=(((B(x,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=B(k,a+1|0)|0;z=a;A=l}l=d+8|0;c[l>>2]=y+(c[b>>2]|0);b=e+8|0;c[b>>2]=(B(k,z)|0)+(c[v>>2]|0);v=f+8|0;c[v>>2]=(((B(A,k)|0)+7|0)>>>3)+(c[w>>2]|0);w=c[m>>2]|0;m=c[n>>2]|0;if(!w){C=0;D=0;E=0}else{n=B(w,i)|0;w=(n+7|0)>>>3;C=B(m,w+1|0)|0;D=w;E=n}n=d+12|0;c[n>>2]=C+(c[l>>2]|0);l=e+12|0;c[l>>2]=(B(m,D)|0)+(c[b>>2]|0);b=f+12|0;c[b>>2]=(((B(E,m)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[o>>2]|0;o=c[p>>2]|0;if(!v){F=0;G=0;H=0}else{p=B(v,i)|0;v=(p+7|0)>>>3;F=B(o,v+1|0)|0;G=v;H=p}p=d+16|0;c[p>>2]=F+(c[n>>2]|0);n=e+16|0;c[n>>2]=(B(o,G)|0)+(c[l>>2]|0);l=f+16|0;c[l>>2]=(((B(H,o)|0)+7|0)>>>3)+(c[b>>2]|0);b=c[q>>2]|0;q=c[r>>2]|0;if(!b){I=0;J=0;K=0}else{r=B(b,i)|0;b=(r+7|0)>>>3;I=B(q,b+1|0)|0;J=b;K=r}r=d+20|0;c[r>>2]=I+(c[p>>2]|0);p=e+20|0;c[p>>2]=(B(q,J)|0)+(c[n>>2]|0);n=f+20|0;c[n>>2]=(((B(K,q)|0)+7|0)>>>3)+(c[l>>2]|0);l=c[s>>2]|0;s=c[t>>2]|0;if(!l){L=0;M=0;N=0}else{t=B(l,i)|0;l=(t+7|0)>>>3;L=B(s,l+1|0)|0;M=l;N=t}t=d+24|0;c[t>>2]=L+(c[r>>2]|0);r=e+24|0;c[r>>2]=(B(s,M)|0)+(c[p>>2]|0);p=f+24|0;c[p>>2]=(((B(N,s)|0)+7|0)>>>3)+(c[n>>2]|0);n=c[t>>2]|0;t=c[u>>2]|0;u=c[h>>2]|0;if(!t){O=0;P=0;Q=0;R=O+n|0;S=d+28|0;c[S>>2]=R;T=c[r>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[p>>2]|0;Y=B(Q,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(t,i)|0;i=(h+7|0)>>>3;O=B(u,i+1|0)|0;P=i;Q=h;R=O+n|0;S=d+28|0;c[S>>2]=R;T=c[r>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[p>>2]|0;Y=B(Q,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function mq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ia;Ia=Ia+224|0;j=i+212|0;k=i;if(!f){l=100;Ia=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;Zu(n,0,2)|0;o=sv(n)|0;if(o>>>0>268435456){l=333;Ia=i;return l|0}uv(n);p=xq(o)|0;tv(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;jq(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)zq(t);c[s>>2]=0;gq(k+52|0);zq(p);z=c[f>>2]|0;A=o}else{z=m;A=0}if((z|0)!=1){l=A;Ia=i;return l|0}c[f+20>>2]=0;A=c[f+12>>2]|0;z=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;jq(k,b,j,A,z);z=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)zq(s);c[p>>2]=0;gq(k+52|0);l=z;Ia=i;return l|0}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mq(a,b,c,d,6,8)|0} 149 + function yu(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0,qb=0.0;i=Ia;Ia=Ia+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+104|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Yt(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Yt(a)|0;if((y|0)==48){x=0;o=0;while(1){w=Hv(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=Yt(a)|0;if((C|0)==48){x=w;o=z}else{q=w;r=z;s=C;t=1;v=1;break}}}else{q=0;r=0;s=y;t=b;v=1}}c[j>>2]=0;b=s+-48|0;y=(s|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=q;x=r;z=0;w=0;A=s;D=y;E=t;F=v;H=0;I=0;J=0;K=b;c:while(1){do if(D)if(!F){L=z;M=w;N=z;O=w;P=E;Q=1;R=H;S=I;T=J}else break c;else{U=Hv(z|0,w|0,1,0)|0;V=G()|0;W=(A|0)!=48;if((I|0)>=125){if(!W){L=o;M=x;N=U;O=V;P=E;Q=F;R=H;S=I;T=J;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=U;O=V;P=E;Q=F;R=H;S=I;T=J;break}X=j+(I<<2)|0;if(!H)Y=K;else Y=A+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=H+1|0;Z=(X|0)==9;L=o;M=x;N=U;O=V;P=1;Q=F;R=Z?0:X;S=I+(Z&1)|0;T=W?U:J}while(0);U=c[m>>2]|0;if(U>>>0<(c[n>>2]|0)>>>0){c[m>>2]=U+1;_=d[U>>0]|0}else _=Yt(a)|0;K=_+-48|0;D=(_|0)==46;if(!(D|K>>>0<10)){$=N;aa=L;ba=O;ca=M;da=_;ea=P;fa=Q;ga=R;ha=S;ia=T;p=31;break b}else{o=L;x=M;z=N;w=O;A=_;E=P;F=Q;H=R;I=S;J=T}}ja=z;ka=w;la=o;ma=x;na=H;oa=I;pa=J;qa=(E|0)!=0;p=39}else{$=0;aa=q;ba=0;ca=r;da=s;ea=t;fa=v;ga=0;ha=0;ia=0;p=31}while(0);do if((p|0)==31){v=(fa|0)==0;t=v?$:aa;s=v?ba:ca;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=ba;la=t;ma=s;na=ga;oa=ha;pa=ia;qa=v;p=39;break}else{ra=$;sa=ba;ta=t;ua=s;va=ga;wa=ha;xa=ia;ya=v;p=41;break}v=zu(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Wt(a,0,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=Hv(Aa|0,Ba|0,t|0,s|0)|0;Ca=r;Da=$;Ea=G()|0;Fa=ba;Ga=ga;Ha=ha;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=la;Da=ja;Ea=ma;Fa=ka;Ga=na;Ha=oa;Ja=pa;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;p=41}if((p|0)==41)if(ya){Ca=ta;Da=ra;Ea=ua;Fa=sa;Ga=va;Ha=wa;Ja=xa;p=43}else p=42;do if((p|0)==42){c[(gt()|0)>>2]=22;Wt(a,0,0);za=0.0}else if((p|0)==43){xa=c[j>>2]|0;if(!xa){za=+(g|0)*0.0;break}if(((Fa|0)<0|(Fa|0)==0&Da>>>0<10)&((Ca|0)==(Da|0)&(Ea|0)==(Fa|0))?(e|0)>30|(xa>>>e|0)==0:0){za=+(g|0)*+(xa>>>0);break}xa=(f|0)/-2|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)>(wa|0)|(Ea|0)==(wa|0)&Ca>>>0>xa>>>0){c[(gt()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}xa=f+-106|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)<(wa|0)|(Ea|0)==(wa|0)&Ca>>>0<xa>>>0){c[(gt()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ga)Ka=Ha;else{if((Ga|0)<9){xa=j+(Ha<<2)|0;wa=Ga;va=c[xa>>2]|0;while(1){va=va*10|0;if((wa|0)>=8)break;else wa=wa+1|0}c[xa>>2]=va}Ka=Ha+1|0}if((Ja|0)<9?(Ja|0)<=(Ca|0)&(Ca|0)<18:0){if((Ca|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ca|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[34544+(8-Ca<<2)>>2]|0);break}wa=e+27+(B(Ca,-3)|0)|0;E=c[j>>2]|0;if((wa|0)>30|(E>>>wa|0)==0){za=+(g|0)*+(E>>>0)*+(c[34544+(Ca+-10<<2)>>2]|0);break}}E=(Ca|0)%9|0;if(!E){La=0;Ma=Ca;Na=Ka}else{wa=(Ca|0)>-1?E:E+9|0;E=c[34544+(8-wa<<2)>>2]|0;if(Ka){J=1e9/(E|0)|0;I=0;H=0;x=0;o=Ca;do{w=j+(x<<2)|0;z=c[w>>2]|0;sa=(z>>>0)/(E>>>0)|0;ua=z-(B(sa,E)|0)|0;z=sa+H|0;c[w>>2]=z;H=B(J,ua)|0;ua=(x|0)==(I|0)&(z|0)==0;o=ua?o+-9|0:o;I=ua?I+1&127:I;x=x+1|0}while((x|0)!=(Ka|0));if(!H){Oa=I;Pa=o;Qa=Ka}else{c[j+(Ka<<2)>>2]=H;Oa=I;Pa=o;Qa=Ka+1|0}}else{Oa=0;Pa=Ca;Qa=0}La=Oa;Ma=9-wa+Pa|0;Na=Qa}x=La;J=0;E=Ma;va=Na;d:while(1){xa=(E|0)<18;ua=(E|0)==18;z=j+(x<<2)|0;Ra=J;Sa=va;while(1){if(!xa){if(!ua){Ta=E;break d}if((c[z>>2]|0)>>>0>=9007199){Ta=18;break d}}w=0;sa=Sa+127|0;Ua=Sa;while(1){ra=sa&127;ta=j+(ra<<2)|0;ya=Rv(c[ta>>2]|0,0,29)|0;qa=Hv(ya|0,G()|0,w|0,0)|0;ya=G()|0;if(ya>>>0>0|(ya|0)==0&qa>>>0>1e9){pa=Ov(qa|0,ya|0,1e9,0)|0;oa=Nv(pa|0,G()|0,1e9,0)|0;na=Iv(qa|0,ya|0,oa|0,G()|0)|0;G()|0;Va=na;Wa=pa}else{Va=qa;Wa=0}c[ta>>2]=Va;ta=(ra|0)==(x|0);Xa=(ra|0)!=(Ua+127&127|0)|ta?Ua:(Va|0)==0?ra:Ua;if(ta)break;else{w=Wa;sa=ra+-1|0;Ua=Xa}}Ya=Ra+-29|0;if(!Wa){Ra=Ya;Sa=Ua}else break}z=x+127&127;ua=Xa+127&127;xa=j+((Xa+126&127)<<2)|0;if((z|0)==(Xa|0)){c[xa>>2]=c[xa>>2]|c[j+(ua<<2)>>2];Za=ua}else Za=Ua;c[j+(z<<2)>>2]=Wa;x=z;J=Ya;E=E+9|0;va=Za}va=x;E=Ra;J=Ta;wa=Sa;e:while(1){o=wa+1&127;I=j+((wa+127&127)<<2)|0;H=va;z=E;ua=J;while(1){xa=(ua|0)==18;sa=(ua|0)>27?9:1;_a=H;$a=z;while(1){w=0;while(1){ra=w+_a&127;if((ra|0)==(wa|0)){p=92;break}ta=c[j+(ra<<2)>>2]|0;ra=c[35232+(w<<2)>>2]|0;if(ta>>>0<ra>>>0){p=92;break}if(ta>>>0>ra>>>0)break;if((w+1|0)>>>0<2)w=1;else{p=92;break}}if((p|0)==92?(p=0,xa):0)break e;ab=sa+$a|0;if((_a|0)==(wa|0)){_a=wa;$a=ab}else break}xa=(1<<sa)+-1|0;w=1e9>>>sa;bb=_a;cb=0;ra=_a;db=ua;do{ta=j+(ra<<2)|0;qa=c[ta>>2]|0;pa=(qa>>>sa)+cb|0;c[ta>>2]=pa;cb=B(qa&xa,w)|0;qa=(ra|0)==(bb|0)&(pa|0)==0;db=qa?db+-9|0:db;bb=qa?bb+1&127:bb;ra=ra+1&127}while((ra|0)!=(wa|0));if(cb|0){if((o|0)!=(bb|0))break;c[I>>2]=c[I>>2]|1}H=bb;z=ab;ua=db}c[j+(wa<<2)>>2]=cb;va=bb;E=ab;J=db;wa=o}J=0;eb=0.0;E=wa;while(1){va=J+_a&127;x=E+1&127;if((va|0)==(E|0)){c[j+(x+-1<<2)>>2]=0;fb=x}else fb=E;eb=eb*1.0e9+ +((c[j+(va<<2)>>2]|0)>>>0);J=J+1|0;if((J|0)==2)break;else E=fb}gb=+(g|0);hb=eb*gb;E=$a+53|0;J=E-f|0;wa=(J|0)<(e|0);va=wa?((J|0)>0?J:0):e;if((va|0)<53){ib=+nt(+lt(1.0,105-va|0),hb);jb=+rt(hb,+lt(1.0,53-va|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}x=_a+2&127;if((x|0)!=(fb|0)){ua=c[j+(x<<2)>>2]|0;do if(ua>>>0>=5e8){if((ua|0)!=5e8){nb=gb*.75+lb;break}if((_a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ua|0)==0?(_a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-va|0)>1?!(+rt(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((E&2147483647|0)>(-2-k|0)){ua=!(+u(+gb)>=9007199254740992.0);x=$a+((ua^1)&1)|0;eb=ua?gb:gb*.5;if((x+50|0)<=(l|0)?!(ob!=0.0&(wa&((va|0)!=(J|0)|ua))):0){pb=x;qb=eb;break}c[(gt()|0)>>2]=34;pb=x;qb=eb}else{pb=$a;qb=gb}while(0);za=+st(qb,pb)}while(0);Ia=i;return +za}function zu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+104|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Yt(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Yt(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=j;o=f;p=i;m=12}break}default:{n=h;o=0;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=n;n=0;while(1){n=p+-48+(n*10|0)|0;h=c[e>>2]|0;if(h>>>0<(c[g>>2]|0)>>>0){c[e>>2]=h+1;q=d[h>>0]|0}else q=Yt(a)|0;r=q+-48|0;if(!(r>>>0<10&(n|0)<214748364))break;else p=q}p=((n|0)<0)<<31>>31;if(r>>>0<10){r=n;h=p;i=q;while(1){q=Nv(r|0,h|0,10,0)|0;f=G()|0;j=Hv(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;r=Hv(j|0,G()|0,q|0,f|0)|0;h=G()|0;f=c[e>>2]|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;s=d[f>>0]|0}else s=Yt(a)|0;t=s+-48|0;if(!(t>>>0<10&((h|0)<21474836|(h|0)==21474836&r>>>0<2061584302)))break;else i=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Yt(a)|0}while((u+-48|0)>>>0<10);v=r;w=h}else{v=r;w=h}}else{v=n;w=p}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;p=(o|0)==0;o=Iv(0,0,v|0,w|0)|0;n=G()|0;k=p?w:n;l=p?v:o}if((m|0)==14)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;k=-2147483648;l=0}F(k|0);return l|0}function Au(a,b){a=a|0;b=b|0;return +(+vu(a,b,1))}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Wv(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=h;h=d;do{j=i&255;k=f+(j>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(j&31);h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0)}i=a[b>>0]|0;if(!(i<<24>>24))l=b;else{h=i;i=b;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=uu(b,g<<24>>24)|0;Ia=e;return l-b|0}function Cu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+16|0;i=h;j=(g|0)==0?3196360:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(Du()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[33584+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=o;r=n;s=e+1|0;l=11}}else{q=g;r=f;s=e;l=11}b:do if((l|0)==11){n=d[s>>0]|0;o=n>>>3;if((o+-16|o+(q>>26))>>>0>7){l=19;break a}o=n+-128|q<<6;n=r+-1|0;if((o|0)<0){t=n;u=o;v=s;while(1){v=v+1|0;if(!t){p=u;break b}w=a[v>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=t+-1|0;if((x|0)>=0){y=w;z=x;break}else{t=w;u=x}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(gt()|0)>>2]=84;k=-1}Ia=h;return k|0}function Du(){return Rt()|0}function Eu(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Fu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(nu(104882,a[d>>0]|0)|0){i=Gu(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=ft(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=Hu(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(gt()|0)>>2]=22;j=0}Ia=e;return j|0}function Gu(b){b=b|0;var c=0,d=0,e=0,f=0;c=(nu(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(nu(b,120)|0)==0;f=c?e:e|128;e=(nu(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Hu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(nu(104882,a[d>>0]|0)|0){k=Ys(1176)|0;if(!k)l=0;else{Wv(k|0,0,144)|0;if(!(nu(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(nu(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+152;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=5;c[k+36>>2]=4;c[k+40>>2]=1;c[k+12>>2]=1;if(!(c[799075]|0))c[k+76>>2]=-1;Iu(k)|0;l=k}}else{c[(gt()|0)>>2]=22;l=0}Ia=e;return l|0}function Iu(a){a=a|0;var b=0,d=0;b=Ju()|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;Ku();return a|0}function Ju(){W(3196364);return 3196372}function Ku(){fa(3196364);return}function Lu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=Et(a)|0;else b=0;Mu(a);d=(c[a>>2]&1|0)!=0;if(!d){e=Ju()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;Ku()}h=Nu(a)|0;e=La[c[a+12>>2]&255](a)|0|h;h=c[a+96>>2]|0;if(h|0)Zs(h);if(d){if(b|0)Ft(a)}else Zs(a);return e|0}function Mu(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;d=a+128|0;if(b|0)c[b+128>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(Pu()|0)+232|0;else e=a+132|0;c[e>>2]=b}return}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Ou(a)|0;break}d=(Et(a)|0)==0;e=Ou(a)|0;if(d)b=e;else{Ft(a);b=e}}else{if(!(c[8746]|0))f=0;else f=Nu(c[8746]|0)|0;e=c[(Ju()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Et(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Ou(d)|0|e;else i=e;if(h|0)Ft(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Ku();b=g}while(0);return b|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0){j=g-i|0;Pa[c[a+40>>2]&3](a,j,((j|0)<0)<<31>>31,1)|0;G()|0}c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Pu(){return Rt()|0}function Qu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Et(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)Ft(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Mt(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0?r:k;Vv(l|0,m|0,p|0)|0;m=(c[i>>2]|0)+p|0;c[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){q=_t(f)|0;if((q|0)<0)break;else v=q}else{c[i>>2]=m+1;v=d[m>>0]|0}m=s+1|0;a[s>>0]=v;k=r+-1|0;if((v&255|0)==10|(k|0)==0){t=m;u=17;break a}else l=m}if((s|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=b;u=17}while(0);if((u|0)==17)if(!b)w=0;else{a[t>>0]=0;w=b}if(!g)j=w;else{Ft(f);j=w}}return j|0}function Ru(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{Ft(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function Su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=Tu(a,b,f)|0;Ia=e;return d|0}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+144|0;f=e;Wv(f|0,0,144)|0;c[f+32>>2]=6;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Vu(f,b,d)|0;Ia=e;return a|0}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;return Yu(a,b,c)|0}function Vu(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;j=Ia;Ia=Ia+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=Et(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+104|0;s=e+120|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=0;A=p;B=0;C=0;D=0;E=h;F=0;b:while(1){c:do if(!(Zt(A&255)|0)){H=(a[E>>0]|0)==37;d:do if(H){I=E+1|0;J=a[I>>0]|0;e:do switch(J<<24>>24){case 37:{break d;break}case 42:{K=0;L=E+2|0;break}default:{if(vt(J&255)|0?(a[E+2>>0]|0)==36:0){K=Wu(i,(d[I>>0]|0)+-48|0)|0;L=E+3|0;break e}M=(c[i>>2]|0)+(4-1)&~(4-1);N=c[M>>2]|0;c[i>>2]=M+4;K=N;L=I}}while(0);if(!(vt(d[L>>0]|0)|0)){O=L;P=0}else{I=L;J=0;while(1){N=(J*10|0)+-48+(d[I>>0]|0)|0;M=I+1|0;if(!(vt(d[M>>0]|0)|0)){O=M;P=N;break}else{I=M;J=N}}}J=a[O>>0]|0;I=O+1|0;if(J<<24>>24==109){Q=0;R=a[I>>0]|0;S=(K|0)!=0&1;T=O+2|0;U=I;V=0}else{Q=z;R=J;S=0;T=I;U=O;V=F}switch(R<<24>>24){case 104:{I=(a[T>>0]|0)==104;W=I?U+2|0:T;X=I?-2:-1;break}case 108:{I=(a[T>>0]|0)==108;W=I?U+2|0:T;X=I?3:1;break}case 106:{W=T;X=3;break}case 116:case 122:{W=T;X=1;break}case 76:{W=T;X=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{W=U;X=0;break}default:{Y=Q;Z=V;_=143;break b}}I=d[W>>0]|0;J=(I&47|0)==3;N=J?I|32:I;I=J?1:X;J=N&255;switch(J<<24>>24){case 99:{$=B;aa=C;ba=(P|0)>1?P:1;break}case 91:{$=B;aa=C;ba=P;break}case 110:{Xu(K,I,B,C);ca=Q;da=B;ea=C;fa=D;ga=W;ha=V;break c;break}default:{Wt(e,0,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;ia=d[M>>0]|0}else ia=Yt(e)|0}while((Zt(ia)|0)!=0);if(!(c[r>>2]|0))ja=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ja=M}M=s;ka=ja-(c[t>>2]|0)|0;la=Hv(c[M>>2]|0,c[M+4>>2]|0,B|0,C|0)|0;M=Hv(la|0,G()|0,ka|0,((ka|0)<0)<<31>>31|0)|0;$=M;aa=G()|0;ba=P}}M=((ba|0)<0)<<31>>31;Wt(e,ba,M);ka=c[q>>2]|0;la=c[r>>2]|0;if(ka>>>0<la>>>0){c[q>>2]=ka+1;ma=la}else{if((Yt(e)|0)<0){Y=Q;Z=V;_=143;break b}ma=c[r>>2]|0}if(ma|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(J<<24>>24){case 91:case 99:case 115:{la=(N|0)==99;g:do if((N|16|0)==115){Wv(l|0,-1,257)|0;a[l>>0]=0;if((N|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;na=W}else na=W}else{ka=W+1|0;oa=(a[ka>>0]|0)==94;pa=oa&1;qa=oa?W+2|0:ka;Wv(l|0,pa|0,257)|0;a[l>>0]=0;switch(a[qa>>0]|0){case 45:{ka=(pa^1)&255;a[w>>0]=ka;ra=ka;sa=qa+1|0;break}case 93:{ka=(pa^1)&255;a[x>>0]=ka;ra=ka;sa=qa+1|0;break}default:{ra=(pa^1)&255;sa=qa}}qa=sa;while(1){pa=a[qa>>0]|0;h:do switch(pa<<24>>24){case 0:{Y=Q;Z=V;_=143;break b;break}case 93:{na=qa;break g;break}case 45:{ka=qa+1|0;oa=a[ka>>0]|0;switch(oa<<24>>24){case 93:case 0:{ta=45;ua=qa;break h;break}default:{}}va=a[qa+-1>>0]|0;if((va&255)<(oa&255)){wa=va&255;do{wa=wa+1|0;a[l+wa>>0]=ra;va=a[ka>>0]|0}while(wa>>>0<(va&255)>>>0);ta=va;ua=ka}else{ta=oa;ua=ka}break}default:{ta=pa;ua=qa}}while(0);a[l+((ta&255)+1)>>0]=ra;qa=ua+1|0}}while(0);qa=la?ba+1|0:31;pa=(I|0)==1;wa=(S|0)!=0;i:do if(pa){if(wa){va=Ys(qa<<2)|0;if(!va){Y=0;Z=0;_=143;break b}else xa=va}else xa=K;c[k>>2]=0;c[y>>2]=0;va=xa;ya=0;za=qa;j:while(1){Aa=(va|0)==0;Ba=ya;while(1){k:while(1){Ca=c[q>>2]|0;if(Ca>>>0<(c[r>>2]|0)>>>0){c[q>>2]=Ca+1;Da=d[Ca>>0]|0}else Da=Yt(e)|0;if(!(a[l+(Da+1)>>0]|0))break j;a[n>>0]=Da;switch(Cu(m,n,1,k)|0){case -1:{Y=va;Z=0;_=143;break b;break}case -2:break;default:break k}}if(Aa)Ea=Ba;else{c[va+(Ba<<2)>>2]=c[m>>2];Ea=Ba+1|0}if(wa&(Ea|0)==(za|0))break;else Ba=Ea}za=za<<1|1;Aa=$s(va,za<<2)|0;if(!Aa){Y=va;Z=0;_=143;break b}else{va=Aa;ya=Ea}}if(!(Eu(k)|0)){Y=va;Z=0;_=143;break b}else{Fa=va;Ga=Ba;Ha=0;Ja=va}}else{if(wa){ya=Ys(qa)|0;if(!ya){Y=0;Z=0;_=143;break b}za=0;Aa=qa;ka=ya;while(1){ya=za;do{oa=c[q>>2]|0;if(oa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=oa+1;Ka=d[oa>>0]|0}else Ka=Yt(e)|0;if(!(a[l+(Ka+1)>>0]|0)){Fa=0;Ga=ya;Ha=ka;Ja=0;break i}oa=ya;ya=ya+1|0;a[ka+oa>>0]=Ka}while((ya|0)!=(Aa|0));Aa=Aa<<1|1;oa=$s(ka,Aa)|0;if(!oa){Y=0;Z=ka;_=143;break b}else{za=ya;ka=oa}}}if(!K)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;La=d[ka>>0]|0}else La=Yt(e)|0;if(!(a[l+(La+1)>>0]|0)){Fa=0;Ga=0;Ha=0;Ja=0;break i}}ka=0;while(1){za=c[q>>2]|0;if(za>>>0<(c[r>>2]|0)>>>0){c[q>>2]=za+1;Ma=d[za>>0]|0}else Ma=Yt(e)|0;if(!(a[l+(Ma+1)>>0]|0)){Fa=0;Ga=ka;Ha=K;Ja=0;break i}a[K+ka>>0]=Ma;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Na=c[q>>2]|0;else{qa=(c[q>>2]|0)+-1|0;c[q>>2]=qa;Na=qa}qa=s;ka=Na-(c[t>>2]|0)|0;za=Hv(c[qa>>2]|0,c[qa+4>>2]|0,ka|0,((ka|0)<0)<<31>>31|0)|0;ka=G()|0;if((za|0)==0&(ka|0)==0){Oa=Fa;Pa=S;Qa=D;Ra=Ha;break b}if(!((za|0)==(ba|0)&(ka|0)==(M|0)|la^1)){Oa=Fa;Pa=S;Qa=D;Ra=Ha;break b}do if(wa)if(pa){c[K>>2]=Ja;break}else{c[K>>2]=Ha;break}while(0);if(la){Sa=Fa;Ta=na;Ua=Ha}else{if(Ja|0)c[Ja+(Ga<<2)>>2]=0;if(!Ha){Sa=Fa;Ta=na;Ua=0;break f}a[Ha+Ga>>0]=0;Sa=Fa;Ta=na;Ua=Ha}break}case 120:case 88:case 112:{Va=16;_=131;break}case 111:{Va=8;_=131;break}case 117:case 100:{Va=10;_=131;break}case 105:{Va=0;_=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Wa=+wu(e,I,0);pa=s;wa=c[pa>>2]|0;ka=c[pa+4>>2]|0;pa=(c[q>>2]|0)-(c[t>>2]|0)|0;za=Iv(0,0,pa|0,((pa|0)<0)<<31>>31|0)|0;if((wa|0)==(za|0)&(ka|0)==(G()|0)){Oa=Q;Pa=S;Qa=D;Ra=V;break b}if(!K){Sa=Q;Ta=W;Ua=V}else switch(I|0){case 0:{f[K>>2]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}case 1:{g[K>>3]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}case 2:{g[K>>3]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}default:{Sa=Q;Ta=W;Ua=V;break f}}break}default:{Sa=Q;Ta=W;Ua=V}}while(0);do if((_|0)==131){_=0;M=Xt(e,Va,0,-1,-1)|0;J=G()|0;ka=s;za=c[ka>>2]|0;wa=c[ka+4>>2]|0;ka=(c[q>>2]|0)-(c[t>>2]|0)|0;pa=Iv(0,0,ka|0,((ka|0)<0)<<31>>31|0)|0;if((za|0)==(pa|0)&(wa|0)==(G()|0)){Oa=Q;Pa=S;Qa=D;Ra=V;break b}if((K|0)!=0&(N|0)==112){c[K>>2]=M;Sa=Q;Ta=W;Ua=V;break}else{Xu(K,I,M,J);Sa=Q;Ta=W;Ua=V;break}}while(0);I=s;N=(c[q>>2]|0)-(c[t>>2]|0)|0;J=Hv(c[I>>2]|0,c[I+4>>2]|0,$|0,aa|0)|0;I=Hv(J|0,G()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=Sa;da=I;ea=G()|0;fa=D+((K|0)!=0&1)|0;ga=Ta;ha=Ua;break c}while(0);I=E+(H&1)|0;Wt(e,0,0);N=c[q>>2]|0;if(N>>>0<(c[r>>2]|0)>>>0){c[q>>2]=N+1;Xa=d[N>>0]|0}else Xa=Yt(e)|0;if((Xa|0)!=(d[I>>0]|0)){_=23;break b}N=Hv(B|0,C|0,1,0)|0;ca=z;da=N;ea=G()|0;fa=D;ga=I;ha=F}else{I=E;while(1){N=I+1|0;if(!(Zt(d[N>>0]|0)|0))break;else I=N}Wt(e,0,0);do{H=c[q>>2]|0;if(H>>>0<(c[r>>2]|0)>>>0){c[q>>2]=H+1;Ya=d[H>>0]|0}else Ya=Yt(e)|0}while((Zt(Ya)|0)!=0);if(!(c[r>>2]|0))Za=c[q>>2]|0;else{H=(c[q>>2]|0)+-1|0;c[q>>2]=H;Za=H}H=s;N=Za-(c[t>>2]|0)|0;J=Hv(c[H>>2]|0,c[H+4>>2]|0,B|0,C|0)|0;H=Hv(J|0,G()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=z;da=H;ea=G()|0;fa=D;ga=I;ha=F}while(0);E=ga+1|0;A=a[E>>0]|0;if(!(A<<24>>24)){_a=fa;break a}else{z=ca;B=da;C=ea;D=fa;F=ha}}if((_|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((D|0)!=0|(Xa|0)>-1){_a=D;break}else{$a=z;ab=0;bb=F;_=144}}else if((_|0)==143)if(!D){$a=Y;ab=S;bb=Z;_=144}else{Oa=Y;Pa=S;Qa=D;Ra=Z}if((_|0)==144){Oa=$a;Pa=ab;Qa=-1;Ra=bb}if(!Pa)_a=Qa;else{Zs(Ra);Zs(Oa);_a=Qa}}else _a=0;while(0);if(o|0)Ft(e);Ia=j;return _a|0}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Ia=d;return f|0}function Xu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=Mt(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;Vv(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;return $u(a,b,((b|0)<0)<<31>>31,c)|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=zt(a,b,f)|0;Ia=e;return d|0}function $u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((c[a+76>>2]|0)>-1){f=(Et(a)|0)==0;g=av(a,b,d,e)|0;if(f)h=g;else{Ft(a);h=g}}else h=av(a,b,d,e)|0;return h|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)==1){f=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;g=Iv(b|0,d|0,f|0,((f|0)<0)<<31>>31|0)|0;h=g;i=G()|0}else{h=b;i=d}d=a+20|0;b=a+28|0;if((c[d>>2]|0)>>>0>(c[b>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[d>>2]|0)==0):0)j=-1;else{c[a+16>>2]=0;c[b>>2]=0;c[d>>2]=0;Pa[c[a+40>>2]&3](a,h,i,e)|0;if((G()|0)<0)j=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;j=0}}return j|0}function bv(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=nu(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=cv(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=dv(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=ev(e,c)|0;break}else{f=fv(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function cv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=c;i=(d[b>>0]|0)<<8|f&255;while(1){j=i&65535;if((j|0)==(e|0))break;k=h+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=k;i=j<<8|l&255}}g=h+-1|0}while(0);return g|0}function dv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function ev(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function fv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ia;Ia=Ia+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=i;k=0;do{if(!(a[b+k>>0]|0)){l=0;break a}m=j&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);k=k+1|0;c[h+(m<<2)>>2]=k;j=a[e+k>>0]|0}while(j<<24>>24!=0);j=k>>>0>1;if(j){m=1;n=-1;o=0;p=1;q=1;while(1){r=a[e+(p+n)>>0]|0;s=a[e+m>>0]|0;do if(r<<24>>24==s<<24>>24)if((p|0)==(q|0)){t=n;u=q+o|0;v=1;w=q;break}else{t=n;u=o;v=p+1|0;w=q;break}else if((r&255)>(s&255)){t=n;u=m;v=1;w=m-n|0;break}else{t=o;u=o+1|0;v=1;w=1;break}while(0);m=v+u|0;if(m>>>0>=k>>>0)break;else{n=t;o=u;p=v;q=w}}if(j){q=1;p=-1;o=0;n=1;m=1;while(1){s=a[e+(n+p)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((n|0)==(m|0)){x=p;y=m+o|0;z=1;A=m;break}else{x=p;y=o;z=n+1|0;A=m;break}else if((s&255)<(r&255)){x=p;y=q;z=1;A=q-p|0;break}else{x=o;y=o+1|0;z=1;A=1;break}while(0);q=z+y|0;if(q>>>0>=k>>>0){B=t;C=x;D=k;E=w;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=-1;D=k;E=w;F=1;G=25}}else{B=-1;C=-1;D=k;E=1;F=1;G=25}}else{B=-1;C=-1;D=0;E=1;F=1;G=25}while(0);b:do if((G|0)==25){w=(C+1|0)>>>0>(B+1|0)>>>0;t=w?F:E;A=w?C:B;w=A+1|0;if(!(tt(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0<D>>>0){m=Mt(u,0,t)|0;if(m)if((m-i|0)>>>0<D>>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=D;M=0}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=y&(v|0)!=0&m>>>0<I>>>0?J:m;M=0;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=o;q=n;while(1){if(p<<24>>24!=(a[x+q>>0]|0))break;j=q+1|0;p=a[e+j>>0]|0;if(!(p<<24>>24))break d;else q=j}L=q-A|0;M=0;break c}while(0);if(!m){l=x;break b}n=w;while(1){n=n+-1|0;if((a[e+n>>0]|0)!=(a[x+n>>0]|0)){L=I;M=H;break c}if(n>>>0<=v>>>0){l=x;break b}}}while(0);x=x+L|0;v=M;u=K}}while(0);Ia=f;return l|0}function gv(a,b){a=a|0;b=b|0;var c=0;c=bu(a)|0;return ((hv(a,1,c,b)|0)!=(c|0))<<31>>31|0}function hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(Et(e)|0)==0;h=St(a,f,e)|0;if(d)i=h;else{Ft(e);i=h}}else i=St(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function iv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Tt(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((Oa[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ia=f;return m|0}function jv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=b;i=e;j=d;while(1){k=a[j>>0]|0;a[h>>0]=k;if(!(k<<24>>24)){l=h;m=i;break a}k=i+-1|0;n=j+1|0;o=h+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=o;i=k;j=n}else{q=o;r=k;s=n;t=p;break}}}else{q=b;r=e;s=d;t=g}if(t)if(!(a[s>>0]|0)){l=q;m=r}else{b:do if(r>>>0>3){j=r;i=q;h=s;while(1){p=c[h>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=j;v=i;w=h;break b}c[i>>2]=p;p=j+-4|0;n=h+4|0;k=i+4|0;if(p>>>0>3){j=p;i=k;h=n}else{u=p;v=k;w=n;break}}}else{u=r;v=q;w=s}while(0);x=v;y=u;z=w;A=13}else{l=q;m=0}}else{x=b;y=e;z=d;A=13}while(0);c:do if((A|0)==13)if(!y){l=x;m=0}else{d=x;e=y;b=z;while(1){q=a[b>>0]|0;a[d>>0]=q;if(!(q<<24>>24)){l=d;m=e;break c}e=e+-1|0;q=d+1|0;if(!e){l=q;m=0;break}else{d=q;b=b+1|0}}}while(0);Wv(l|0,0,m|0)|0;return l|0}function kv(a,b,c){a=a|0;b=b|0;c=c|0;jv(a,b,c)|0;return a|0}function lv(b,c){b=b|0;c=c|0;var d=0;d=b+(Bu(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function mv(a){a=a|0;return nv(a,c[8745]|0)|0}function nv(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?(Et(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=iv(d,b)|0;Ft(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=iv(d,b)|0}while(0);return j|0}function ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;d=pv(a)|0;e=G()|0;if(b){f=e;g=d}else{Ft(a);f=e;g=d}}else{d=pv(a)|0;f=G()|0;g=d}F(f|0);return g|0}function pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=Pa[c[a+40>>2]&3](a,0,0,b)|0;b=G()|0;if((b|0)<0){e=b;f=d}else{g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;h=Iv(d|0,b|0,g|0,((g|0)<0)<<31>>31|0)|0;g=G()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;a=Hv(h|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;e=G()|0;f=a}F(e|0);return f|0}function qv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8745]|0;if((c[d+76>>2]|0)>-1)e=Et(d)|0;else e=0;do if((gv(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(iv(d,10)|0)>>31}while(0);if(e|0)Ft(d);return f|0}function rv(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Et(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=_t(a)|0;Ft(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=_t(a)|0;break}}while(0);return g|0}function sv(a){a=a|0;var b=0,d=0;b=ov(a)|0;a=G()|0;if((a|0)>0|(a|0)==0&b>>>0>2147483647){c[(gt()|0)>>2]=75;d=-1}else d=b;return d|0}function tv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=Et(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;Vv(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=b+l|0;n=g-l|0}else{m=b;n=g}a:do if(!n)o=13;else{b=f+32|0;l=m;j=n;while(1){if($t(f)|0)break;e=Oa[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)Ft(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Ft(f);p=h}return p|0}function uv(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;av(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Ft(a)}else{av(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;b=zt(c[8745]|0,a,e)|0;Ia=d;return b|0}function wv(a,b,c){a=a|0;b=b|0;c=c|0;return au(a,b)|0}function xv(a,b){a=a|0;b=b|0;yv()|0;return wv(a,b,0)|0}function yv(){return Rt()|0}function zv(a){a=a|0;var b=0;if(!(Av(a)|0))b=(vt(a)|0)!=0&1;else b=1;return b|0}function Av(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Bv(){return 35240}function Cv(){V(3196392);return}function Dv(){return 3196376}function Ev(){return 3196384}function Fv(){return 3196388}function Gv(){return 3196392}function Hv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function Iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function Jv(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function Kv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=Jv(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Jv(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=Hv(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Iv(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Iv(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function Lv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Iv(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return Iv((Kv(i,b,Iv(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function Mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Mv(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function Ov(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kv(a,b,c,d,0)|0}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(((b|0)<0?-1:0)|0);return b>>c-32|0}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(0);return b>>>c-32|0}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}F(a<<c-32|0);return 0}function Sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=$s(d|0,8*(e+1|0)|0)|0;d=Sv(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Uv(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Vv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ta(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Xv(a){a=a|0;var b=0,d=0,e=0;b=ra()|0;d=c[i>>2]|0;e=d+a|0;if((a|0)>0&(e|0)<(d|0)|(e|0)<0){Ha(e|0)|0;X(12);return -1}if((e|0)>(b|0))if(!(ua(e|0)|0)){X(12);return -1}c[i>>2]=e;return d|0}function Yv(a,b){a=a|0;b=b|0;return La[a&255](b|0)|0}function Zv(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 Ma[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function _v(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&3](b|0,c|0)|0}function $v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&7](b|0,c|0,d|0)|0}function aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pa[a&3](b|0,c|0,d|0,e|0)|0}function bw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0)|0}function cw(a){a=a|0;Ra[a&1]()}function dw(a,b){a=a|0;b=b|0;Sa[a&7](b|0)}function ew(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&15](b|0,c|0)}function fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&3](b|0,c|0,d|0)}function gw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&0](b|0,c|0,d|0,e|0,f|0)}function hw(a){a=a|0;E(0);return 0}function iw(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;E(1);return 0}function jw(a,b){a=a|0;b=b|0;E(2);return 0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;E(3);return 0}function lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(4);return 0}function mw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(5);return 0}function nw(){E(6)}function ow(a){a=a|0;E(7)}function pw(a,b){a=a|0;b=b|0;E(8)}function qw(a,b,c){a=a|0;b=b|0;c=c|0;E(9)}function rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(10)} 150 + 151 + // EMSCRIPTEN_END_FUNCS 152 + var La=[hw,ct,bb,cb,Xf,_f,di,Yf,$f,ei,$h,fi,gi,hi,ii,cg,Wf,bg,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,qg,pg,rg,sg,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,Rf,Qf,Sf,Tf,Uf,Vf,ag,kg,fk,mg,ug,tg,ng,gk,hk,ik,jk,kk,lk,mk,nk,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw];var Ma=[iw,At];var Na=[jw,Mf,Lm,Mm];var Oa=[kw,it,Vt,Hf,jt,dt,Uu,kw];var Pa=[lw,et,Yk,lw];var Qa=[mw,xk,Bk,mw];var Ra=[nw,Gn];var Sa=[ow,eb,Dm,Em,ls,ow,ow,ow];var Ta=[pw,nn,wc,ce,ge,Nf,gg,hg,Bt,pw,pw,pw,pw,pw,pw,pw];var Ua=[qw,db,ks,qw];var Va=[rw];return{___divdi3:Lv,___emscripten_environ_constructor:Cv,___errno_location:gt,___muldi3:Nv,___udivdi3:Ov,__get_daylight:Ev,__get_environ:Gv,__get_timezone:Fv,__get_tzname:Dv,_bitshift64Ashr:Pv,_bitshift64Lshr:Qv,_bitshift64Shl:Rv,_codo_mixer_callback:Iq,_free:Zs,_i64Add:Hv,_i64Subtract:Iv,_main:Jb,_malloc:Ys,_memcpy:Vv,_memset:Wv,_mix_0:Jr,_realloc:$s,_saveSetjmp:Sv,_sbrk:Xv,_setThrew:Uv,_testSetjmp:Tv,dynCall_ii:Yv,dynCall_iidiiii:Zv,dynCall_iii:_v,dynCall_iiii:$v,dynCall_iiiii:aw,dynCall_iiiiii:bw,dynCall_v:cw,dynCall_vi:dw,dynCall_vii:ew,dynCall_viii:fw,dynCall_viiiii:gw,establishStackSpace:Za,stackAlloc:Wa,stackRestore:Ya,stackSave:Xa}}) 153 + 154 + 155 + // EMSCRIPTEN_END_ASM 156 + (asmGlobalArg,asmLibraryArg,buffer);var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _codo_mixer_callback=Module["_codo_mixer_callback"]=asm["_codo_mixer_callback"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memset=Module["_memset"]=asm["_memset"];var _mix_0=Module["_mix_0"]=asm["_mix_0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_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_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["getValue"]=getValue;Module["getMemory"]=getMemory;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); 157 +
+207
picosky-firehose.js
··· 1 + // picosky-firehose.js 2 + // Bluesky Jetstream firehose client (JS side) for the demoscene. 3 + // 4 + // The firehose is firehose-fast (hundreds of events/sec), so we never forward 5 + // raw events. We bump per-type counters as events arrive, then the shim drains 6 + // them once per GPIO turn into a compact RESP_FIRE frame. See /tmp/picosky-plan.md 7 + // and spec.md. 8 + // 9 + // Browser: opens a real WebSocket to a public Jetstream instance. 10 + // Node/tests: inject a source via opts.connect (see MockFirehose) so no socket 11 + // is opened. 12 + 13 + (function (root, factory) { 14 + const api = factory(); 15 + if (typeof module !== "undefined" && module.exports) module.exports = api; 16 + if (typeof window !== "undefined") window.picoskyFirehose = api; 17 + })(this, function () { 18 + "use strict"; 19 + 20 + // Public Jetstream instances (tried in order on connect failure). 21 + const HOSTS = [ 22 + "wss://jetstream2.us-east.bsky.network", 23 + "wss://jetstream1.us-east.bsky.network", 24 + "wss://jetstream2.us-west.bsky.network", 25 + "wss://jetstream1.us-west.bsky.network", 26 + ]; 27 + 28 + const COLLECTIONS = [ 29 + "app.bsky.feed.post", 30 + "app.bsky.feed.like", 31 + "app.bsky.feed.repost", 32 + "app.bsky.graph.follow", 33 + ]; 34 + 35 + function subscribeUrl(host) { 36 + const q = COLLECTIONS.map( 37 + (c) => "wantedCollections=" + encodeURIComponent(c) 38 + ).join("&"); 39 + return host + "/subscribe?" + q; 40 + } 41 + 42 + // Map a Jetstream commit collection to our particle bucket. 43 + const BUCKET = { 44 + "app.bsky.feed.post": "posts", 45 + "app.bsky.feed.like": "likes", 46 + "app.bsky.feed.repost": "reposts", 47 + "app.bsky.graph.follow": "follows", 48 + }; 49 + 50 + function zeroCounts() { 51 + return { posts: 0, likes: 0, reposts: 0, follows: 0, deletes: 0 }; 52 + } 53 + 54 + // opts.connect(url, handlers) -> { close() } lets tests stub the transport. 55 + // handlers = { onEvent(obj), onOpen(), onError(e), onClose() } 56 + function createFirehose(opts) { 57 + opts = opts || {}; 58 + const acc = zeroCounts(); 59 + let active = false; 60 + let conn = null; 61 + let hostIdx = 0; 62 + let ema = 0; // smoothed total events/drain for the intensity byte 63 + const EMA_ALPHA = 0.15; 64 + 65 + function bump(evt) { 66 + // Jetstream commit: { kind:"commit", commit:{ operation, collection, ... } } 67 + if (!evt || evt.kind !== "commit" || !evt.commit) return; 68 + const op = evt.commit.operation; 69 + const col = evt.commit.collection; 70 + if (op === "delete") { 71 + // Only posts/likes deletions read as visible "decay". 72 + if (col === "app.bsky.feed.post" || col === "app.bsky.feed.like") { 73 + acc.deletes++; 74 + } 75 + return; 76 + } 77 + if (op !== "create") return; 78 + const bucket = BUCKET[col]; 79 + if (bucket) acc[bucket]++; 80 + } 81 + 82 + function openSocket() { 83 + const url = subscribeUrl(HOSTS[hostIdx]); 84 + const handlers = { 85 + onEvent: bump, 86 + onOpen: function () {}, 87 + onError: function () { 88 + // Rotate to the next host and retry while still active. 89 + if (!active) return; 90 + try { 91 + conn && conn.close(); 92 + } catch (e) { /* close() throws if socket already gone */ } 93 + hostIdx = (hostIdx + 1) % HOSTS.length; 94 + conn = null; 95 + setTimeout(function () { 96 + if (active && !conn) openSocket(); 97 + }, 1000); 98 + }, 99 + onClose: function () {}, 100 + }; 101 + conn = opts.connect 102 + ? opts.connect(url, handlers) 103 + : browserConnect(url, handlers); 104 + } 105 + 106 + return { 107 + get active() { 108 + return active; 109 + }, 110 + start: function () { 111 + if (active) return; 112 + active = true; 113 + hostIdx = 0; 114 + openSocket(); 115 + }, 116 + stop: function () { 117 + active = false; 118 + try { 119 + conn && conn.close(); 120 + } catch (e) { /* close() throws if socket already gone */ } 121 + conn = null; 122 + Object.assign(acc, zeroCounts()); 123 + ema = 0; 124 + }, 125 + // Push a parsed event directly (used by MockFirehose / tests). 126 + push: bump, 127 + // Drain accumulated counts as a raw byte tuple + intensity (0..255), 128 + // resetting the per-turn accumulators. 129 + drain: function () { 130 + const counts = [ 131 + acc.posts, 132 + acc.likes, 133 + acc.reposts, 134 + acc.follows, 135 + acc.deletes, 136 + ]; 137 + const total = 138 + acc.posts + acc.likes + acc.reposts + acc.follows + acc.deletes; 139 + ema = ema + EMA_ALPHA * (total - ema); 140 + // ~30 drains/sec; a busy network (~500 evt/s ≈ 16/drain) should read hot. 141 + const intensity = Math.max(0, Math.min(255, Math.round(ema * 14))); 142 + Object.assign(acc, zeroCounts()); 143 + return { counts, intensity }; 144 + }, 145 + }; 146 + } 147 + 148 + // Real browser transport. 149 + function browserConnect(url, handlers) { 150 + const ws = new WebSocket(url); 151 + ws.onopen = handlers.onOpen; 152 + ws.onerror = handlers.onError; 153 + ws.onclose = handlers.onClose; 154 + ws.onmessage = function (msg) { 155 + try { 156 + handlers.onEvent(JSON.parse(msg.data)); 157 + } catch (e) { 158 + /* ignore malformed frames */ 159 + } 160 + }; 161 + return { 162 + close: function () { 163 + try { 164 + ws.close(); 165 + } catch (e) { /* close() throws if socket already gone */ } 166 + }, 167 + }; 168 + } 169 + 170 + // --- deterministic mock for local dev / tests ---------------------------- 171 + // Distribution mirrors the real firehose (likes dominate). `seed` makes the 172 + // sequence reproducible. 173 + function MockFirehose(seed) { 174 + let s = (seed || 1) >>> 0; 175 + function rnd() { 176 + // xorshift32 177 + s ^= s << 13; 178 + s ^= s >>> 17; 179 + s ^= s << 5; 180 + s >>>= 0; 181 + return s / 4294967296; 182 + } 183 + function makeEvent() { 184 + const r = rnd(); 185 + let collection, operation; 186 + if (r < 0.58) collection = "app.bsky.feed.like"; 187 + else if (r < 0.78) collection = "app.bsky.graph.follow"; 188 + else if (r < 0.93) collection = "app.bsky.feed.post"; 189 + else collection = "app.bsky.feed.repost"; 190 + operation = rnd() < 0.05 ? "delete" : "create"; 191 + return { kind: "commit", commit: { operation, collection, rkey: "k" } }; 192 + } 193 + return { 194 + // connect() shim matching createFirehose's opts.connect signature: emit a 195 + // burst of `n` synthetic events immediately, then go quiet. 196 + connectFactory: function (n) { 197 + return function (url, handlers) { 198 + for (let i = 0; i < (n || 100); i++) handlers.onEvent(makeEvent()); 199 + return { close: function () {} }; 200 + }; 201 + }, 202 + makeEvent, 203 + }; 204 + } 205 + 206 + return { createFirehose, MockFirehose, HOSTS, COLLECTIONS, subscribeUrl }; 207 + });
picosky-online.p8.png

This is a binary file and will not be displayed.

+819
picosky-shim.js
··· 1 + // picosky-shim.js 2 + // Maps cart GPIO commands to AT Protocol calls and serializes responses. 3 + // See spec.md sec 2 (Layer B), sec 4, sec 6. 4 + // 5 + // Browser: wire up with createShim(window.picoskyComms, agent) after OAuth, or 6 + // createShim(comms, null) for the demo cart (it self-feeds its feed in lua). 7 + // Node/tests: pass a mock agent (see test/mock-agent.js). 8 + 9 + (function (root, factory) { 10 + // Guard on `=== "function"`, not `!== "undefined"`: a page may define a 11 + // non-function `require` (e.g. `var require = null` to steer bundlers), and 12 + // `typeof null === "object"` would otherwise send us down the Node path and 13 + // throw `null(...)`. In the browser we fall back to the window globals below. 14 + const api = factory( 15 + typeof require === "function" ? require("./picosky-comms.js") : null, 16 + typeof require === "function" ? require("./picosky-firehose.js") : null 17 + ); 18 + if (typeof module !== "undefined" && module.exports) module.exports = api; 19 + if (typeof window !== "undefined") window.picoskyShim = api; 20 + })(this, function (protocol, firehoseMod) { 21 + "use strict"; 22 + 23 + protocol = protocol || (typeof window !== "undefined" && window.picoskyProtocol); 24 + firehoseMod = 25 + firehoseMod || (typeof window !== "undefined" && window.picoskyFirehose); 26 + const { OP } = protocol; 27 + 28 + const TIMELINE_LIMIT = 20; 29 + const TEXT_MAX = 280; 30 + 31 + // PICO-8 standard 16-color palette (RGB). 32 + // Values from shrinko8/pico_defs.py (authoritative source in this repo). 33 + const PICO8_PAL = [ 34 + [0,0,0],[29,43,83],[126,37,83],[0,135,81], 35 + [171,82,54],[95,87,79],[194,195,199],[255,241,232], 36 + [255,0,77],[255,163,0],[255,236,39],[0,228,54], 37 + [41,173,255],[131,118,156],[255,119,168],[255,204,170], 38 + ]; 39 + 40 + // sRGB → CIELab. Used for perceptual nearest-color matching. 41 + function srgbToLab(r, g, b) { 42 + function lin(c) { 43 + c /= 255; 44 + return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); 45 + } 46 + const rl = lin(r), gl = lin(g), bl = lin(b); 47 + const x = rl*0.4124564 + gl*0.3575761 + bl*0.1804375; 48 + const y = rl*0.2126729 + gl*0.7151522 + bl*0.0721750; 49 + const z = rl*0.0193339 + gl*0.1191920 + bl*0.9503041; 50 + function f(t) { return t > 0.008856 ? Math.cbrt(t) : 7.787*t + 16/116; } 51 + const fx = f(x/0.95047), fy = f(y), fz = f(z/1.08883); 52 + return [116*fy - 16, 500*(fx - fy), 200*(fy - fz)]; 53 + } 54 + 55 + // Pre-computed Lab values for the 16 palette entries. 56 + const PALETTE_LAB = PICO8_PAL.map(([r, g, b]) => srgbToLab(r, g, b)); 57 + 58 + // Returns the index (0-15) of the nearest palette color using ΔE Lab distance. 59 + function nearestPaletteColor(r, g, b) { 60 + const [L, a, bb] = srgbToLab(r, g, b); 61 + let best = 0, bestD = Infinity; 62 + for (let c = 0; c < 16; c++) { 63 + const [pL, pa, pb] = PALETTE_LAB[c]; 64 + const d = (L-pL)**2 + (a-pa)**2 + (bb-pb)**2; 65 + if (d < bestD) { bestD = d; best = c; } 66 + } 67 + return best; 68 + } 69 + 70 + // Common typographic Unicode → ASCII. Bluesky text is full of smart quotes, 71 + // dashes, and ellipses; without this they'd all collapse to '?' below. The 72 + // cart's font has the ASCII forms (incl. a real apostrophe), so this is what 73 + // actually fixes "don't" rendering as "don?t". 74 + const TRANSLIT = { 75 + "‘": "'", "’": "'", "‛": "'", "′": "'", // ‘ ’ ‛ ′ 76 + "“": '"', "”": '"', "„": '"', "″": '"', // “ ” „ ″ 77 + "–": "-", "-": "-", "―": "-", "−": "-", // – - ― − 78 + "…": "...", // … 79 + "•": "*", // • 80 + " ": " ", " ": " ", " ": " ", // nbsp, narrow/thin space 81 + }; 82 + 83 + // PICO-8's font can't render most Unicode. Transliterate the common 84 + // typographic chars to ASCII, keep printable ASCII + newlines, and map 85 + // anything genuinely unrenderable to '?'. (spec.md sec 8) 86 + function normalizeText(s) { 87 + s = String(s || ""); 88 + let out = ""; 89 + for (const ch of s) { 90 + if (ch === "\n") { out += "\n"; continue; } 91 + const mapped = TRANSLIT[ch]; 92 + if (mapped !== undefined) { out += mapped; continue; } 93 + const code = ch.codePointAt(0); 94 + if (code >= 32 && code <= 126) { out += ch; } 95 + else if (code >= 0x2600) { out += "\x8f"; } // PICO-8 smiley placeholder for emoji 96 + // else: silently drop (variation selectors, ZWJ, control chars) 97 + } 98 + return out.slice(0, TEXT_MAX); 99 + } 100 + 101 + // Base feed name for the cart: font-safe (transliterated) + lowercased to 102 + // match the cart's all-lowercase aesthetic. Width-fitting happens in fitName. 103 + function normFeed(s) { 104 + return normalizeText(String(s || "")).toLowerCase(); 105 + } 106 + 107 + // The cart's pause-menu line is 16 chars and "feed: " eats 6, leaving 10 for 108 + // the name; the header has ~16. The cart can't afford string-munging code, so 109 + // we squeeze names here and ship both widths. Ordered + lossy: pass short 110 + // names through, else drop common stopwords, then drop interior vowels (keep 111 + // each word's first letter for readability), then hard-cut. 112 + const STOPW = new Set(["of", "the", "with", "and", "a", "to", "for", "my"]); 113 + function fitName(s, n) { 114 + if (s.length <= n) return s; 115 + s = s.split(" ").filter((w) => !STOPW.has(w)).join(" "); 116 + if (s.length <= n) return s; 117 + let o = "", atWordStart = true; 118 + for (const c of s) { 119 + if (c === " ") { o += " "; atWordStart = true; } 120 + else if (atWordStart || !"aeiou".includes(c)) { o += c; atWordStart = false; } 121 + } 122 + return o.slice(0, n); 123 + } 124 + 125 + function formatCount(n) { 126 + n = n || 0; 127 + if (n >= 1000000) return (n / 1000000).toFixed(1) + "m"; 128 + if (n >= 1000) return (n / 1000).toFixed(1) + "k"; 129 + return String(n); 130 + } 131 + 132 + function relTime(iso) { 133 + const t = Date.parse(iso); 134 + if (isNaN(t)) return ""; 135 + const s = Math.max(0, (Date.now() - t) / 1000); 136 + if (s < 60) return Math.floor(s) + "s"; 137 + if (s < 3600) return Math.floor(s / 60) + "m"; 138 + if (s < 86400) return Math.floor(s / 3600) + "h"; 139 + return Math.floor(s / 86400) + "d"; 140 + } 141 + 142 + function createShim(comms, agent, opts) { 143 + opts = opts || {}; 144 + const refs = new Map(); // id -> { uri, cid, like } 145 + const uriRefs = new Map(); // uri -> id (reverse lookup for stable ids across timeline + thread) 146 + let nextId = 1; 147 + let timelineCursor = null; 148 + // Feed switcher: index 0 is always the home/following timeline; the rest are 149 + // the user's pinned feed generators, discovered once via loadFeeds(). The 150 + // cart picks one by sending its index in REQ_TIMELINE's ARG byte. 151 + let activeFeed = 0; 152 + let feeds = [{ type: "timeline", value: "following", name: "following" }]; 153 + 154 + function registerRef(post) { 155 + // Reuse the same integer id if this URI was already registered (e.g. a 156 + // self-reply that appears in both the timeline feed and its own thread). 157 + // This lets the cart match a timeline refid to the corresponding thread 158 + // post for auto-focus. 159 + const existing = uriRefs.get(post.uri); 160 + if (existing !== undefined) { 161 + const ref = refs.get(existing); 162 + // Refresh like/repost status to the latest data. 163 + const newLike = (post.viewer && post.viewer.like) || null; 164 + const newRepost = (post.viewer && post.viewer.repost) || null; 165 + if (ref && newLike !== null) ref.like = newLike; 166 + if (ref && newRepost !== null) ref.repost = newRepost; 167 + return existing; 168 + } 169 + const id = nextId++; 170 + // `like`/`repost` hold the viewer's existing like/repost-record uris (if 171 + // any), needed to undo; updated when the cart (un)likes/(un)reposts. 172 + // `root` is the thread-root strongRef for replies - a top-level post is its 173 + // own root (null here → postReply falls back to the parent). Derived per 174 + // post so replying from the timeline doesn't depend on a viewed thread. 175 + refs.set(id, { 176 + uri: post.uri, 177 + cid: post.cid, 178 + post: post, 179 + like: (post.viewer && post.viewer.like) || null, 180 + repost: (post.viewer && post.viewer.repost) || null, 181 + root: (post.record && post.record.reply && post.record.reply.root) || null, 182 + }); 183 + uriRefs.set(post.uri, id); 184 + return id; 185 + } 186 + 187 + // Extract the first image thumbnail URL from a post's embed, if any. 188 + // Checks: images embed, recordWithMedia images, external link card thumb. 189 + function getThumbUrl(post) { 190 + const embed = post.embed; 191 + if (!embed) return null; 192 + // app.bsky.embed.images#view or app.bsky.embed.recordWithMedia#view 193 + const imgs = 194 + embed.images || 195 + (embed.media && embed.media.images); 196 + if (imgs && imgs.length > 0) return imgs[0].thumb || null; 197 + // app.bsky.embed.external#view - link card OG thumbnail 198 + if (embed.external && embed.external.thumb) return embed.external.thumb; 199 + return null; 200 + } 201 + 202 + // Extract link card title (or hostname fallback) from a post's embed. 203 + function getLinkText(post) { 204 + const embed = post.embed; 205 + if (!embed || !embed.external) return null; 206 + const ext = embed.external; 207 + if (ext.title && ext.title.trim()) return normalizeText(ext.title.trim()); 208 + try { return new URL(ext.uri).hostname; } catch (_) { return null; } 209 + } 210 + 211 + // Extract the first image's alt text from a post's embed, if any. (images 212 + // embed or recordWithMedia images - link cards carry a title, not alt.) 213 + function getImageAlt(post) { 214 + const embed = post.embed; 215 + if (!embed) return null; 216 + const imgs = embed.images || (embed.media && embed.media.images); 217 + if (imgs && imgs.length > 0 && imgs[0].alt && imgs[0].alt.trim()) { 218 + return normalizeText(imgs[0].alt.trim()); 219 + } 220 + return null; 221 + } 222 + 223 + function postToFields(post, depth, id) { 224 + const a = post.author || {}; 225 + const rec = post.record || {}; 226 + const thumbUrl = getThumbUrl(post); 227 + return [ 228 + normalizeText(a.displayName || a.handle || "?"), // names carry the same Unicode 229 + a.handle || "", 230 + relTime(rec.createdAt || post.indexedAt), 231 + normalizeText(rec.text), 232 + formatCount(post.likeCount), 233 + formatCount(post.repostCount), 234 + formatCount(post.replyCount), 235 + id, 236 + depth || 0, 237 + thumbUrl ? 1 : 0, // field 10: hasImage flag 238 + getLinkText(post) || "", // field 11: link card title or hostname 239 + post.viewer && post.viewer.like ? 1 : 0, // field 12: already liked? 240 + getImageAlt(post) || "", // field 13: image alt text (for the marquee) 241 + post.viewer && post.viewer.repost ? 1 : 0, // field 14: already reposted? 242 + ]; 243 + } 244 + 245 + // Returns { id, thumbUrl, avatarUrl, isLive } so callers can schedule media fetches. 246 + function emitPost(post, depth) { 247 + const id = registerRef(post); 248 + const thumbUrl = getThumbUrl(post); 249 + const avatarUrl = (post.author && post.author.avatar) || null; 250 + const status = post.author && post.author.status; 251 + const isLive = !!( 252 + status && 253 + status.status === 'app.bsky.actor.status#live' && 254 + status.isActive !== false 255 + ); 256 + comms.sendPost(postToFields(post, depth, id)); 257 + return { id, thumbUrl, avatarUrl, isLive }; 258 + } 259 + 260 + // Discover the user's pinned feeds once at boot and push their names to the 261 + // cart. Following (the home timeline) is always index 0; pinned feed 262 + // generators follow in their saved order. Lists and unpinned feeds are 263 + // intentionally skipped. On any failure we keep Following-only and surface a 264 + // warning rather than blocking the timeline - the core path still works. 265 + async function loadFeeds() { 266 + try { 267 + const prefs = await agent.app.bsky.actor.getPreferences(); 268 + const saved = (prefs.data.preferences || []).find( 269 + (p) => p.$type === "app.bsky.actor.defs#savedFeedsPrefV2" 270 + ); 271 + const items = (saved && saved.items) || []; 272 + const pinnedFeeds = items.filter( 273 + (it) => it.pinned && it.type === "feed" 274 + ); 275 + if (pinnedFeeds.length === 0) return; // nothing to switch between 276 + 277 + // Resolve display names in one call; fall back to the feed's rkey. 278 + const uris = pinnedFeeds.map((it) => it.value); 279 + const nameByUri = new Map(); 280 + try { 281 + const gens = await agent.app.bsky.feed.getFeedGenerators({ feeds: uris }); 282 + for (const v of gens.data.feeds) nameByUri.set(v.uri, v.displayName); 283 + } catch (e) { 284 + console.warn("picosky: getFeedGenerators failed, using rkeys", e); 285 + } 286 + 287 + const next = [feeds[0]]; 288 + for (const it of pinnedFeeds) { 289 + const raw = nameByUri.get(it.value) || it.value.split("/").pop(); 290 + next.push({ type: "feed", value: it.value, name: normFeed(raw) }); 291 + } 292 + feeds = next; 293 + // Ship two pre-fitted names per feed, interleaved [header, menu, ...]; 294 + // the cart just indexes them, no string work on the constrained side. 295 + const flat = []; 296 + for (const f of feeds) flat.push(fitName(f.name, 16), fitName(f.name, 10)); 297 + comms.sendFeeds(flat); 298 + } catch (e) { 299 + console.warn("picosky: feed discovery failed, staying on following", e); 300 + } 301 + } 302 + 303 + // --- command handlers --------------------------------------------------- 304 + async function reqTimeline(reset) { 305 + try { 306 + if (reset) timelineCursor = null; 307 + // Route to the selected feed. A pinned feed generator uses getFeed; the 308 + // home timeline (index 0) uses getTimeline. Both return the same 309 + // { feed: FeedViewPost[], cursor } shape, so the grouping below is shared. 310 + const f = feeds[activeFeed] || feeds[0]; 311 + const res = f.type === "feed" 312 + ? await agent.app.bsky.feed.getFeed({ 313 + feed: f.value, 314 + limit: TIMELINE_LIMIT, 315 + cursor: timelineCursor || undefined, 316 + }) 317 + : await agent.getTimeline({ 318 + limit: TIMELINE_LIMIT, 319 + cursor: timelineCursor || undefined, 320 + }); 321 + // The raw getTimeline response is a flat array - parent and reply items 322 + // can appear anywhere, in any order, with unrelated posts between them. 323 + // Two passes to match Bluesky's FeedTuner grouping: 324 + // 325 + // Pass 1: build parent→replies and reply→parent maps. 326 + // Pass 2: emit in feed order. Standalone posts that are parents of inline 327 + // replies are suppressed at their natural position; the whole group 328 + // (parent depth 0 + all descendants depth 1 BFS) is emitted when the 329 + // first reply is encountered. 330 + 331 + const feed = res.data.feed || []; 332 + 333 + // parentUri → { parentPost: PostView, replies: PostView[] } 334 + const parentToReplies = new Map(); 335 + // replyUri → parentPost (for walking up reply chains to the true root) 336 + const replyToParent = new Map(); 337 + 338 + for (const item of feed) { 339 + // item.reply.parent is a PostView directly (not { post: PostView }). 340 + // Guard with .author to exclude NotFoundPost / BlockedPost stubs. 341 + const parentPost = item.reply && item.reply.parent && item.reply.parent.author 342 + ? item.reply.parent : null; 343 + if (parentPost) { 344 + if (!parentToReplies.has(parentPost.uri)) { 345 + parentToReplies.set(parentPost.uri, { parentPost, replies: [] }); 346 + } 347 + parentToReplies.get(parentPost.uri).replies.push(item.post); 348 + replyToParent.set(item.post.uri, parentPost); 349 + } 350 + } 351 + 352 + // Media collected in post-emission order (avatar then image per post) 353 + // so the concurrency pool below prioritises earlier timeline entries. 354 + const mediaToFetch = []; 355 + const emittedUris = new Set(); 356 + 357 + const emitOne = (post, depth) => { 358 + if (emittedUris.has(post.uri)) return; 359 + const r = emitPost(post, depth); 360 + emittedUris.add(post.uri); 361 + // Avatar first so it arrives before the image for the same post. 362 + if (r.avatarUrl) mediaToFetch.push({ kind: 'av', id: r.id, url: r.avatarUrl, isLive: r.isLive }); 363 + if (r.thumbUrl) mediaToFetch.push({ kind: 'img', id: r.id, url: r.thumbUrl }); 364 + }; 365 + 366 + // Emit rootPost at depth 0, then all descendants breadth-first at depth 1. 367 + // Handles multi-reply groups and chains (A→B→C → [A(0),B(1),C(1)]). 368 + const emitGroup = (rootPost) => { 369 + emitOne(rootPost, 0); 370 + const queue = [rootPost.uri]; 371 + while (queue.length > 0) { 372 + const uri = queue.shift(); 373 + const group = parentToReplies.get(uri); 374 + if (!group) continue; 375 + for (const child of group.replies) { 376 + if (!emittedUris.has(child.uri)) { 377 + emitOne(child, 1); 378 + queue.push(child.uri); 379 + } 380 + } 381 + } 382 + }; 383 + 384 + for (const item of feed) { 385 + if (emittedUris.has(item.post.uri)) continue; 386 + if (!item.post.author) continue; // tombstoned/deleted post 387 + if (item.reply && item.reply.parent && !item.reply.parent.author) continue; // orphaned reply (deleted/blocked parent) 388 + 389 + const parentPost = item.reply && item.reply.parent && item.reply.parent.author 390 + ? item.reply.parent : null; 391 + 392 + if (!parentPost) { 393 + // Standalone post. Suppress if it's a parent of inline replies in 394 + // this page - it will be emitted at the first reply's feed position. 395 + if (parentToReplies.has(item.post.uri)) continue; 396 + emitOne(item.post, 0); 397 + } else { 398 + // Inline reply: walk up the reply chain to find the topmost unemitted 399 + // ancestor, then emit the whole group from that root. 400 + // visited guards against cycles in malformed data. 401 + let root = parentPost; 402 + const visited = new Set([root.uri]); 403 + while (replyToParent.has(root.uri)) { 404 + const grandparent = replyToParent.get(root.uri); 405 + if (emittedUris.has(grandparent.uri) || visited.has(grandparent.uri)) break; 406 + visited.add(grandparent.uri); 407 + root = grandparent; 408 + } 409 + emitGroup(root); 410 + } 411 + } 412 + 413 + timelineCursor = res.data.cursor || null; 414 + comms.sendEnd(!!timelineCursor); 415 + 416 + // Fire-and-forget media downloads in post-emission order with bounded 417 + // concurrency so earlier posts' avatars/images arrive first. 418 + const MEDIA_CONCURRENCY = 4; 419 + let mediaIdx = 0; 420 + const startNextMedia = () => { 421 + if (mediaIdx >= mediaToFetch.length) return; 422 + const m = mediaToFetch[mediaIdx++]; 423 + const p = m.kind === 'av' 424 + ? fetchAndDitherAvatar(m.id, m.url, m.isLive) 425 + : fetchAndDither(m.id, m.url); 426 + p.then(startNextMedia, startNextMedia); 427 + }; 428 + for (let i = 0; i < Math.min(MEDIA_CONCURRENCY, mediaToFetch.length); i++) startNextMedia(); 429 + } catch (e) { 430 + fail(e); 431 + } 432 + } 433 + 434 + function flattenThread(node, depth, acc) { 435 + if (!node || !node.post) return; 436 + acc.push({ post: node.post, depth }); 437 + const replies = node.replies || []; 438 + for (const r of replies) flattenThread(r, depth + 1, acc); 439 + } 440 + 441 + async function reqThread(refId) { 442 + try { 443 + const ref = refs.get(refId); 444 + if (!ref) return fail("post not found"); 445 + // Emit the root post immediately from cache so the wipe animation has 446 + // something to reveal while the network call is in flight. 447 + const rootMedia = ref.post ? emitPost(ref.post, 0) : null; 448 + const res = await agent.app.bsky.feed.getPostThread({ uri: ref.uri }); 449 + const acc = []; 450 + flattenThread(res.data.thread, 0, acc); 451 + // Skip acc[0] (the root) - already sent above from the cache. 452 + const toEmit = ref.post ? acc.slice(1) : acc; 453 + const imagesToFetch = []; 454 + const avatarsToFetch = []; 455 + if (rootMedia) { 456 + if (rootMedia.thumbUrl) imagesToFetch.push({ id: rootMedia.id, thumbUrl: rootMedia.thumbUrl }); 457 + if (rootMedia.avatarUrl) avatarsToFetch.push({ id: rootMedia.id, avatarUrl: rootMedia.avatarUrl, isLive: rootMedia.isLive }); 458 + } 459 + for (const n of toEmit) { 460 + const { id, thumbUrl, avatarUrl, isLive } = emitPost(n.post, n.depth); 461 + if (thumbUrl) imagesToFetch.push({ id, thumbUrl }); 462 + if (avatarUrl) avatarsToFetch.push({ id, avatarUrl, isLive }); 463 + } 464 + comms.sendEnd(false); 465 + for (const { id, thumbUrl } of imagesToFetch) fetchAndDither(id, thumbUrl); 466 + for (const { id, avatarUrl, isLive } of avatarsToFetch) fetchAndDitherAvatar(id, avatarUrl, isLive); 467 + } catch (e) { 468 + fail(e); 469 + } 470 + } 471 + 472 + // The OAuth agent's accountDid is empty, so agent.post/like/deleteLike throw 473 + // "Not logged in". When we have the session DID, write via the explicit repo 474 + // API (exactly what those convenience methods do internally). The test mock 475 + // agent has no DID and exercises the convenience-method branch. 476 + const accountDid = opts.did || null; 477 + const strong = (r) => ({ uri: r.uri, cid: r.cid }); 478 + function createPost(record) { 479 + record.createdAt = record.createdAt || new Date().toISOString(); 480 + return accountDid 481 + ? agent.app.bsky.feed.post.create({ repo: accountDid }, record) 482 + : agent.post(record); 483 + } 484 + function createLike(uri, cid) { 485 + return accountDid 486 + ? agent.app.bsky.feed.like.create( 487 + { repo: accountDid }, 488 + { subject: { uri, cid }, createdAt: new Date().toISOString() } 489 + ) 490 + : agent.like(uri, cid); 491 + } 492 + function removeLike(likeUri) { 493 + return accountDid 494 + ? agent.app.bsky.feed.like.delete({ repo: accountDid, rkey: likeUri.split("/").pop() }) 495 + : agent.deleteLike(likeUri); 496 + } 497 + function createRepost(uri, cid) { 498 + return accountDid 499 + ? agent.app.bsky.feed.repost.create( 500 + { repo: accountDid }, 501 + { subject: { uri, cid }, createdAt: new Date().toISOString() } 502 + ) 503 + : agent.repost(uri, cid); 504 + } 505 + function removeRepost(repostUri) { 506 + return accountDid 507 + ? agent.app.bsky.feed.repost.delete({ repo: accountDid, rkey: repostUri.split("/").pop() }) 508 + : agent.deleteRepost(repostUri); 509 + } 510 + 511 + async function postCreate(text) { 512 + try { 513 + await createPost({ text }); 514 + comms.sendOk(); 515 + } catch (e) { 516 + fail(e); 517 + } 518 + } 519 + 520 + async function postReply(refId, text) { 521 + try { 522 + const parent = refs.get(refId); 523 + if (!parent) return fail("reply target lost"); 524 + const root = parent.root || parent; // top-level posts are their own root 525 + await createPost({ text, reply: { root: strong(root), parent: strong(parent) } }); 526 + comms.sendOk(); 527 + } catch (e) { 528 + fail(e); 529 + } 530 + } 531 + 532 + // Quote-post: a normal post that embeds the quoted post via app.bsky.embed.record. 533 + async function postQuote(refId, text) { 534 + try { 535 + const subject = refs.get(refId); 536 + if (!subject) return fail("quote target lost"); 537 + await createPost({ text, embed: { $type: "app.bsky.embed.record", record: strong(subject) } }); 538 + comms.sendOk(); 539 + } catch (e) { 540 + fail(e); 541 + } 542 + } 543 + 544 + // Like / unlike a post or comment. The cart flips its heart optimistically 545 + // and sends op_like; we mirror it to the network. We track the like-record 546 + // uri on the ref so a later unlike can delete it. 547 + async function likeToggle(refId, on) { 548 + const ref = refs.get(refId); 549 + if (!ref) return; 550 + try { 551 + if (on) { 552 + const res = await createLike(ref.uri, ref.cid); 553 + ref.like = (res && res.uri) || ref.like; 554 + } else if (ref.like) { 555 + await removeLike(ref.like); 556 + ref.like = null; 557 + } 558 + } catch (e) { 559 + fail(e); 560 + } 561 + } 562 + 563 + // Repost / unrepost. Mirrors likeToggle against an app.bsky.feed.repost record. 564 + async function repostToggle(refId, on) { 565 + const ref = refs.get(refId); 566 + if (!ref) return; 567 + try { 568 + if (on) { 569 + const res = await createRepost(ref.uri, ref.cid); 570 + ref.repost = (res && res.uri) || ref.repost; 571 + } else if (ref.repost) { 572 + await removeRepost(ref.repost); 573 + ref.repost = null; 574 + } 575 + } catch (e) { 576 + fail(e); 577 + } 578 + } 579 + 580 + // Fetch a thumbnail, dither it to the PICO-8 palette, and send to cart. 581 + // Notifies the cart on failure so it can clear the "loading..." state. 582 + async function fetchAndDither(refId, thumbUrl) { 583 + try { 584 + const packed = await fetchAndPixelate(thumbUrl, 32); 585 + comms.sendImage(refId, packed); 586 + } catch (err) { 587 + console.warn("[picosky] image fetch failed for refId", refId, err); 588 + comms.sendImageFail(refId); 589 + } 590 + } 591 + 592 + // Fetch a user avatar, dither it to 16x16 PICO-8 palette, and send to cart. 593 + // If isLive, draws a 1-pixel inset red border on the packed pixel data. 594 + async function fetchAndDitherAvatar(refId, avatarUrl, isLive) { 595 + try { 596 + const packed = await fetchAndPixelate(avatarUrl, 16); 597 + if (isLive) applyLiveBorder(packed, 16); 598 + comms.sendAvatar(refId, packed); 599 + } catch (err) { 600 + console.warn("[picosky] avatar fetch failed for refId", refId, err); 601 + comms.sendAvatarFail(refId); 602 + } 603 + } 604 + 605 + function fail(e) { 606 + // surface the full error (name + stack) - it was being swallowed, hiding 607 + // the real origin of failures like the atproto "Not logged in" throw. 608 + console.error("[picosky] command failed:", e); 609 + const msg = (e && (e.message || e.error)) || String(e); 610 + if (/auth|token|session|expired/i.test(msg)) comms.sendAuthLost(); 611 + else comms.sendError(msg); 612 + } 613 + 614 + // --- demoscene (firehose) ----------------------------------------------- 615 + // The cart requests the demo (REQ_DEMO); we open the firehose and stream a 616 + // RESP_FIRE frame each idle GPIO turn. The page's Escape handler calls 617 + // stopDemo(), which tells the cart to leave and closes the socket. 618 + const firehose = 619 + opts.firehose || 620 + (firehoseMod && firehoseMod.createFirehose(opts.firehoseOpts || {})); 621 + let demoActive = false; 622 + 623 + function startDemo() { 624 + if (demoActive || !firehose) return; 625 + demoActive = true; 626 + firehose.start(); 627 + } 628 + 629 + // echo=true (page Escape): tell the cart to leave too. 630 + // echo=false (cart already left, via REQ_DEMO_STOP): just close the socket. 631 + function stopDemo(echo) { 632 + if (!demoActive) return; 633 + demoActive = false; 634 + if (firehose) firehose.stop(); 635 + if (echo !== false) comms.sendDemoStop(); 636 + } 637 + 638 + // Called by comms.step() when nothing is queued: stream live firehose state. 639 + comms.provideIdleFrame = function () { 640 + if (!demoActive || !firehose) return null; 641 + const { counts, intensity } = firehose.drain(); 642 + return comms.makeFireFrame(counts, intensity); 643 + }; 644 + 645 + comms.onCommand = function (op, arg, text) { 646 + switch (op) { 647 + case OP.REQ_TIMELINE: 648 + // ARG selects the feed (0 = following). REQ_MORE keeps this selection. 649 + activeFeed = Math.min(Math.max(0, arg | 0), feeds.length - 1); 650 + return reqTimeline(true); 651 + case OP.REQ_MORE: 652 + return reqTimeline(false); 653 + case OP.REQ_THREAD: 654 + return reqThread(arg); 655 + case OP.REQ_DEMO: 656 + return startDemo(); 657 + case OP.REQ_DEMO_STOP: 658 + return stopDemo(false); 659 + case OP.POST_CREATE: 660 + return postCreate(text); 661 + case OP.POST_REPLY: 662 + return postReply(arg, text); 663 + case OP.POST_QUOTE: 664 + return postQuote(arg, text); 665 + case OP.LIKE: 666 + return likeToggle(arg, text === "1"); 667 + case OP.REPOST: 668 + return repostToggle(arg, text === "1"); 669 + } 670 + }; 671 + 672 + // Discover pinned feeds once, fire-and-forget. The demo cart runs with a 673 + // null agent (its feed is mocked in lua), so there's nothing to discover. 674 + if (agent) loadFeeds(); 675 + 676 + return { 677 + refs, 678 + comms, 679 + reqTimeline, 680 + reqThread, 681 + postCreate, 682 + postReply, 683 + loadFeeds, 684 + startDemo, 685 + stopDemo, 686 + get demoActive() { return demoActive; }, 687 + }; 688 + } 689 + 690 + // --- image processing (browser only) ------------------------------------ 691 + 692 + // Cache of DID → PDS base URL, populated lazily on bsky.social misses. 693 + const pdsCache = new Map(); 694 + 695 + // Fetch a Bluesky CDN blob, routing through the correct PDS to get 696 + // Access-Control-Allow-Origin: * (the CDN has no CORS headers). 697 + // Tries bsky.social first (covers ~99% of accounts). On a non-OK response, 698 + // resolves the DID's real PDS - necessary for users on custom PDSes, which 699 + // live-streaming accounts frequently are. 700 + // URL format: https://cdn.bsky.app/img/{variant}/plain/{did}/{cid}[@format] 701 + async function fetchBlob(url) { 702 + const m = url && url.match( 703 + /^https:\/\/cdn\.bsky\.app\/img\/[^/]+\/plain\/(did:[^/]+)\/([^@?]+)/ 704 + ); 705 + if (!m) return fetch(url); 706 + const [, did, cid] = m; 707 + const blobPath = `/xrpc/com.atproto.sync.getBlob?did=${encodeURIComponent(did)}&cid=${encodeURIComponent(cid)}`; 708 + 709 + const r = await fetch("https://bsky.social" + blobPath); 710 + if (r.ok) return r; 711 + 712 + // Resolve the actual PDS for this DID and retry. 713 + let pds = pdsCache.get(did); 714 + if (!pds) { 715 + try { 716 + if (did.startsWith("did:web:")) { 717 + pds = "https://" + did.slice(8); 718 + } else { 719 + const doc = await fetch(`https://plc.directory/${encodeURIComponent(did)}`); 720 + if (doc.ok) { 721 + const data = await doc.json(); 722 + const svc = (data.service || []).find( 723 + (s) => s.type === "AtprotoPersonalDataServer" 724 + ); 725 + if (svc && svc.serviceEndpoint) pds = svc.serviceEndpoint; 726 + } 727 + } 728 + } catch (_) {} 729 + if (pds) pdsCache.set(did, pds); 730 + } 731 + 732 + return pds ? fetch(pds + blobPath) : r; 733 + } 734 + 735 + // Draw a 1-pixel inset circular border in PICO-8 red (color index 8) onto a 736 + // packed nibble array from fetchAndPixelate. Modifies in place. 737 + // 738 + // The cart circle-clips avatars at dx²+dy²≤r² where dx/dy are measured from 739 + // the pixel center (cx=cy=(size-1)/2). The border ring is the annulus between 740 + // the outer clip radius and one pixel inward: innerR² < d² ≤ outerR². 741 + function applyLiveBorder(packed, size) { 742 + const RED = 8; 743 + const cx = (size - 1) / 2; 744 + const cy = (size - 1) / 2; 745 + const outerR2 = (size / 2) * (size / 2); // clip radius² (64 for 16px) 746 + const innerR2 = (size / 2 - 1) * (size / 2 - 1); // one px inward (49 for 16px) 747 + for (let y = 0; y < size; y++) { 748 + for (let x = 0; x < size; x++) { 749 + const dx = x - cx, dy = y - cy; 750 + const d2 = dx * dx + dy * dy; 751 + if (d2 > innerR2 && d2 <= outerR2) { 752 + const i = y * size + x; 753 + const b = i >> 1; 754 + if (i % 2 === 0) packed[b] = (packed[b] & 0x0f) | (RED << 4); 755 + else packed[b] = (packed[b] & 0xf0) | RED; 756 + } 757 + } 758 + } 759 + } 760 + 761 + // Fetch a CDN thumbnail, scale to 32x32, and Bayer-dither to the PICO-8 762 + // 16-color palette. Returns a Uint8Array of 512 bytes (2px per byte, 763 + // high nibble = even pixel, low nibble = odd pixel, row-major). 764 + async function fetchAndPixelate(url, size) { 765 + size = size || 32; 766 + if (typeof document === "undefined" || typeof createImageBitmap === "undefined") { 767 + throw new Error("Canvas API unavailable"); 768 + } 769 + const res = await fetchBlob(url); 770 + if (!res.ok) throw new Error("HTTP " + res.status); 771 + const blob = await res.blob(); 772 + const bitmap = await createImageBitmap(blob, { 773 + resizeWidth: size, 774 + resizeHeight: size, 775 + resizeQuality: "medium", 776 + }); 777 + const canvas = document.createElement("canvas"); 778 + canvas.width = size; 779 + canvas.height = size; 780 + const ctx = canvas.getContext("2d"); 781 + ctx.drawImage(bitmap, 0, 0, size, size); 782 + bitmap.close(); 783 + const { data } = ctx.getImageData(0, 0, size, size); 784 + 785 + // Atkinson dithering with CIELab nearest-color matching. 786 + const n = size * size; 787 + const rf = new Float32Array(n); 788 + const gf = new Float32Array(n); 789 + const bf = new Float32Array(n); 790 + for (let i = 0; i < n; i++) { 791 + rf[i] = data[i*4]; gf[i] = data[i*4+1]; bf[i] = data[i*4+2]; 792 + } 793 + const packed = new Uint8Array(n / 2); 794 + for (let y = 0; y < size; y++) { 795 + for (let x = 0; x < size; x++) { 796 + const i = y * size + x; 797 + const rv = Math.max(0, Math.min(255, rf[i])); 798 + const gv = Math.max(0, Math.min(255, gf[i])); 799 + const bv = Math.max(0, Math.min(255, bf[i])); 800 + const ci = nearestPaletteColor(rv, gv, bv); 801 + if (i % 2 === 0) packed[i >> 1] = ci << 4; 802 + else packed[i >> 1] |= ci; 803 + const [pr, pg, pb] = PICO8_PAL[ci]; 804 + const er = (rv - pr) / 8; 805 + const eg = (gv - pg) / 8; 806 + const eb = (bv - pb) / 8; 807 + for (const [nx, ny] of [[x+1,y],[x+2,y],[x-1,y+1],[x,y+1],[x+1,y+1],[x,y+2]]) { 808 + if (nx >= 0 && nx < size && ny < size) { 809 + const ni = ny * size + nx; 810 + rf[ni] += er; gf[ni] += eg; bf[ni] += eb; 811 + } 812 + } 813 + } 814 + } 815 + return packed; 816 + } 817 + 818 + return { createShim, normalizeText, formatCount, relTime }; 819 + });
+1126
picosky.html
··· 1 + <html><head> 2 + <title>PICO-8 Cartridge</title> 3 + <meta name="viewport" content="width=device-width, user-scalable=no"> 4 + <script type="text/javascript"> 5 + 6 + // Default shell for PICO-8 0.2.6 (includes @weeble's gamepad mod 1.0) 7 + 8 + // options 9 + 10 + // fullscreen, sound, close button at top when playing on touchscreen 11 + var p8_allow_mobile_menu = true; 12 + 13 + // p8_autoplay true to boot the cartridge automatically after page load when possible 14 + // if the browser can not create an audio context outside of a user gesture (e.g. on iOS), p8_autoplay has no effect 15 + var p8_autoplay = false; 16 + 17 + // When pico8_state is defined, PICO-8 will set .is_paused, .sound_volume and .frame_number each frame 18 + // (used for determining button icons) 19 + var pico8_state = []; 20 + 21 + // When pico8_buttons is defined, PICO-8 reads each int as a bitfield holding that player's button states 22 + // 0x1 left, 0x2 right, 0x4 up, 0x8 right, 0x10 O, 0x20 X, 0x40 menu 23 + // (used by p8_update_gamepads) 24 + var pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; // max 8 players 25 + 26 + // When pico8_mouse is defined, PICO-8 reads the 3 integers as X, Y and a bitfield for buttons: 0x1 LMB, 0x2 RMB 27 + var pico8_mouse = []; 28 + 29 + // used to display number of detected joysticks 30 + var pico8_gamepads = {}; 31 + pico8_gamepads.count = 0; 32 + 33 + // When pico8_gpio is defined, reading and writing to gpio pins will read and write to these values 34 + var pico8_gpio = new Array(128); 35 + 36 + // When pico8_audio_context context is defined, the html shell (this file) is responsible for creating and managing it. 37 + // This makes satisfying browser requirements easier -- e.g. initialising audio from a short script in response to a user action. 38 + // Otherwise PICO-8 will try to create and use its own context. 39 + 40 + var pico8_audio_context; 41 + 42 + 43 + // menu button and controller graphics 44 + p8_gfx_dat={ 45 + "p8b_pause1": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAOUlEQVRIx2NgGPbg/8cX/0F46FtAM4vobgHVLRowC6hm0YBbQLFFoxaM4FQ0dHPy0C1Nh26NNugBAAnizNiMfvbGAAAAAElFTkSuQmCC", 46 + "p8b_controls":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAQ0lEQVRIx2NgGAXEgP8fX/ynBaap4XBLhqcF1IyfYWQBrZLz0LEAlzqqxQFVLcAmT3MLqJqTaW7B4CqLaF4fjIIBBwBL/B2vqtPVIwAAAABJRU5ErkJggg==", 47 + "p8b_full":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAN0lEQVRIx2NgGPLg/8cX/2mJ6WcBrUJm4CwgOSgGrQVEB8WoBaMWDGMLhm5OHnql6dCt0YY8AAA9oZm+9Z9xQAAAAABJRU5ErkJggg==", 48 + "p8b_pause0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAKUlEQVRIx2NgGHbg/8cX/7FhctWNWjBqwagFoxaMWjBqwagF5Fkw5AAAPaGZvsIUtXUAAAAASUVORK5CYII=", 49 + "p8b_sound0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAANklEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwavBcRG4qgFoxYMZwuGfk4efqXp8KnRBj0AAMz7cLDnG4FeAAAAAElFTkSuQmCC", 50 + "p8b_sound1":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAPUlEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwhZQLQDqG4BsZFIKMhGLRi1YChbMPRz8vArTYdPjTboAQCSVgpXUWQAMAAAAABJRU5ErkJggg==", 51 + "p8b_close":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAU0lEQVRIx2NkoDFgpJsF/z+++I8iwS9BkuW49A+cBcRaREgf/Swg1SJi1dHfAkIG4EyOOIJy4Cwg1iJCiWDUAvItGLqpaOjm5KFfmg79Gm3ItioAl+mAGVYIZUUAAAAASUVORK5CYII=", 52 + 53 + "controls_left_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAEI0lEQVR42u3dMU7DQBCG0Tjam9DTcP8jpEmfswS5iHBhAsLxev/hvQY6pGXyZRTQ+nQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHqbHEEtl+vt7hS+fLy/mXHBQqxEi/6aI/AiFW9SnB2BWDkDBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwONJ8tYvrXRAsImK19j0IFsPGSrQQLCJiNV+et7xAT7QQLIaN1dr3ooVgMWysRAvBIipWooVgERUr0UKwiIqVaCFYRMVKtBAsomIlWggWUbESLQSLqFiJFoJFVKxEC8EiKlaihWARFSvRQrDYJSSVfhaCBSBYAIIFCBbAHpoj4Bl/scOGBWDD4lX8iwE2LADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAECxAsAMECECxAsMh1ud7uTsHZVDcZyFo8Yt5sVJ6NyUAaSNEyIymaXwZepIKd4mwoQbAFC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQI4UHME2/10QZq7usyBObBhRQwpmBUb1nADuPbuaUD/p2ezMH+1admwhosVfBcxb2SCJVaIlmAhVoiWYIkVoiVagiVWiJZgiZVYIVqCJVaIlmgJllghWoIlViBagiVWiJZoCZZYIVqCJVYgWoIlViBaggUIlnc0sPELlmghVmIlWKKFWAmWaIFYCZZoIVYIlmghVoIlWiBWgiVaiJVgIVqIlWCJFoiVYIkWYiVYiBZiJViihViJ1XbNEWyL1mMQRYvfvIGJlQ1rmE0LzIoNyyBiDrBhAYIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgDc+Nn1D/tdH8YupwgZy5qG4ykKIlVmZDsDjshSlazqQqH7p793Q2CBaAYAGCBSBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWwENzBKxZPub9CJ7WjA0LsGFRV+9N5+jNDhsWgGABggUgWACCxW56fgjuA3cEiz9Z/nWwR0iWP8P/YCFYDBstsUKwiIiWWCFYRERLrBAsIqIlVggWEdESKwSLiGiJFYJFRLTECsEiIlpihWARES2xQrCIiJZYIVhEREusECwioiVWCBYx0RIrBIuoaIkVr+YhFHTZtMCGBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBbj2uOR8s6AEbhexgsWYri3SKhKczcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA2n+e0UMDzh3yTAAAAAElFTkSuQmCC", 54 + 55 + 56 + "controls_right_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAFeCAYAAAA/lyK/AAAKHklEQVR42u3dAZKaWBAGYE3tvfBmMCfDnGzWJLhLHHBGBt7rhu+rSiWbbAk8p3+7UeF0AgAAAAAAAAAAAOAQzpaAzN5vDlOsNwILhJXQSuIfP/YoZMGcxQ9LgLByfAILQGABAgtAYAEILEBgAQgsAIEFCCwAgQUgsACBBSCwAAQWILAABBYst/cL3LmA3/9ccRRFTRquZIigylKsrjwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZ0tAXz0/v7eLi6q8/nNCgos2CKYmttvl+E/uw02cX/M6y3IflpxgQVLu6fuScC8HDIP4ff08XVhwNMwuf3q3z9qvzP+fTUgh1+P+iHkAP4Li6mQairtTzO3T54tEFRhu5mZrk9wwYGDqo0+ds10XYILjhRUjgOI2J30ezqRvcdjAmH1dzeyu6KeCC7dFiQt5sMU8mMwe/YhV9cx1jhuQKehswRWCKvm4GvRCC3I0VUYhT6GlvNaIKyEFiCshBYIK6EltKBuAQorawYKz9oBaxWct+uXraGPf0ChYuudh7GOkKkzUGTrhpZOFTYcBY0x1hR0A7pWQFF5MYDDFJSxpdBoaDVgp93Vk3sJzmmjdjF76rLc+Zmq3dXvH8KbKCF1+nPn5svDP12HX1Om/v9fukh3d4621pC1u2oD7cv4+vDtwscJeZ/BSOsNKbur2udVtrqlVtT7DDqXBQlf7aduo1UoFPsjrzvorpaFVdGbOUwEZHPEtYeMYdXU6jZqXzcqQmiN9sHHSOCFsaQpvN0mSIdT9WoKo3UwFkLEkSTaZWtqh6exEIK+uke9xta40zpKlwvGwc+32Qf+NH2VfTMWQsBRJMMXq2t9bcZYCF8rkrZ0UUYefWp9Ofke5tl+hn4oI0oVSOnOZfjjr+/0/Yy6LsO+XWusUa1tQorAKjwOphp5KnVZzmNB7YLM+BWUGvvsPBY8L45eIc7uc/FvANxP+GdaJ+ewKOm602192+hc1sUaCSwqjzsVtnVNuFTX0utVY3sCiyxdxNset5V1nzOukcBibzrHsF8CC6EVcCxEYIHAElgAAgtAYAECC0BgAQgsiOdiCQQWx9IJLIEFwsoxCCxYW8YL07mYnsDiYAU5+kJvxtHq8nAMAhIqhVWxq2m6gN/XA8sF/OCTDqKALmEHcV+b6w6fD0jZYbkJRaD9zdiJ6rAopSu8vWuWLmt8S7IDPC+QooNo3Uh1ch+r3kjViXd4HiBthaJ0q/qZtfFTCZ90PJUCoQ+4HtX2zT0J4esdT1Nwm81oNGwDrsV7hW03xkEIWijRQuthf5oK22+jn9uDw46FEUJiqrOqtR/GQUjw6v4QWjXOG/UBwso4CAsKpq+8/WLBMWyzD9Lh9cZBSDSSTARIv+G22ppdnXEQ1iviNsh+rHpCfgjETR57D+sOuqx1g6tfUtTD4/TRgmpP3dVZ6VArJE5/vsfWlbr+0xf36XL6eBWD62n+KgpT//8p0nFFXW+BRbou6/cP4U3QQD2dvv7l4G44ljdrDTvtsqJ/128n69w7dwUrvfJ7m33T9W28Mwi6LN0VKCq8GECSscVoaE1BN6BrBTYqMqFlHSHVGKMz+F6nahSEwqGl4KwdKDxrBqxZgL0CXBRWzluB0BJWgNASViC0hBVQr0C9XT8dVj7+AQlCqz/oGvTCCnJ2F4fpto563KDT0FkCtQt5b13HxO3IjICws6JOH1x7PCZgvttK243s5TiAhQUfvTuJeuNVoF5whRurJkY/QQWC64NqXddMNyWogE+7mXt4tRtvu50JKSfTX+QusByy6xr+2E388/jvrufz+ecroXj6+7b1s4+f+XbxAmv/hfH6E+MHuljnNQqZboNNdEvCD4Hlhx4vNgLLWGGsAEJ2Uk7cAuG7KW+NA9mCyocPgfBB5esdQPygchxAxO7EJUqAVN2Ii8ABYYvZZXaBFF2HGxkYEUGnobME1g4rN+MUWpCiqzAKndzuHISV0AKEldACYYXQgmAFKKysGSg8awesVXDerl+2hj7+AYWKrXcexjpCps5Aka0bWjpV2HAUNMZYU9AN6FoBReXFAA5TUMaWQqOh1YBA3dWeinLNY9FlwYrdVdTH28u67GltyOtH9u5q+GO31mOeb7J3Wvd9vx/LirqHdQcivOJn7Sa23m9dFjqsIN1V9k5rw85KlwUZXumzdBQl91OXhQ7rtYK5f3zhuvW2MnRahTqrsevD8wAC64nLluNgptCqEFbjdb8oIQg6kkQbhWruj7EQHdZr42BXetuROq1KndWHLstYiMD62jh4rbHxCKEVIKzG628shOijiLHUWIgO66VxpKYanVaQzirU84DAitxdhfqwYsnQChhWYZ8XBFYot5p9O1JoRQ2rSM8DROywwp4z2Wrfop8nch4LHdZz16Bd3+qdVuQxMPrzgcBSIAVDK0lYCSwE1kwBpzixu0ZoJQqrdM8PAqt0ILwl2MfFoZUtrJx4R2DtwJLQythZgcA6YGgJKxBYKUJLWIHAShFawgoEVorQElYgsFKElrACgZUmtIQVCKzwpkZCQGCFDavzQGiBwAofVo8jodACgRU6rIQWCKxUYSW0YOeBlemqAK98dCFraLlKAwJruqDfkhXyy5+zytxpuWoDAmvaZY9hlTi0LsoIZoIgeiGvtY9ZrpXumu7osOZ1e+2skndanVJCYM0HQxtwn1b/bmD00HLCHYH1vIDfghbuZl9kztBpOeEOT8IhUvGW2p+I54qcv0KH9bluKJZmz51V9E5rtP6dMkJgzbsOv1+OElZBQ+vy8HwAEUeRo2/fOIgOK8lYGOFKobU7LeMgvFgwwwt8f+Suotb+/Fr3YdONn0YIWKxRR6Aa+2UcxEi4fCxsSxRo7TEwyng4Wm/jIER7pfedPt0VOqwUXVamW3GV6LR0VxD0FT9rJ7Hlfuuu0GGt12X1axZmls6qVKc1Wl/dFazxyr/G2+x76SLWPI7Rx0h0V7BCQbVrfS5rT0W5YmDdP3flcjKgqI7xYgBMjC0+gW1NQTegawU2KjKhZR0h1RijM/hep2oUhMKhpeCsHSg8awasWYC9AlwUVs5bgdASVoDQElYgtIQVUK9AvV0/HVY+/gEJQqs/6Br0wgpydheH6baOetyg09BZArULeW9dx9BVGQFhx0WdPrj2eEzAfLeVthvZy3EACws+encydFSCCgRX3LFqYvQTVCC4PqjWdc10U4IK+LSbuYdXu/G225mQcjKdwzhbguUBMvyxm/jn8d9dz+fzz1dC8fbbZeax/vq72+O+eSYQWLzceY1CpttgE92S8AOBxZIu7PUnRvcEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwwL/cvBIh09+hJAAAAABJRU5ErkJggg==", 57 + 58 + }; 59 + 60 + 61 + // added 0.2.1: work-around for iOS/Safari running from an iFrame (e.g. from itch.io page): 62 + // touch events only register after adding dummy listeners on document. 63 + 64 + document.addEventListener('touchstart', {}); 65 + document.addEventListener('touchmove', {}); 66 + document.addEventListener('touchend', {}); 67 + 68 + 69 + // -------------------------------------------------------------------------------------------------------------------------------- 70 + // pico-8 0.2.2: allow dropping files 71 + var p8_dropped_cart = null; 72 + var p8_dropped_cart_name = ""; 73 + function p8_drop_file(e) 74 + { 75 + // console.log("@@ dropping file..."); 76 + 77 + e.stopPropagation(); 78 + e.preventDefault(); 79 + 80 + if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files[0]) 81 + { 82 + // read from file 83 + reader = new FileReader(); 84 + reader.onload = function (event) 85 + { 86 + p8_dropped_cart_name = 'untitled.p8'; 87 + if (typeof e.dataTransfer.files[0].name !== 'undefined') p8_dropped_cart_name = e.dataTransfer.files[0].name; 88 + if (typeof e.dataTransfer.files[0].fileName !== 'undefined') p8_dropped_cart_name = e.dataTransfer.files[0].fileName; 89 + p8_dropped_cart = reader.result; 90 + // data:image/png;base64 91 + e.stopPropagation(); 92 + e.preventDefault(); 93 + codo_command = 9; // read directly from p8_dropped_cart with libb64 decoder 94 + }; 95 + reader.readAsDataURL(e.dataTransfer.files[0]); 96 + 97 + } 98 + else 99 + { 100 + // read from url (or data url) 101 + txt = e.dataTransfer.getData('Text'); 102 + if (txt){ 103 + p8_dropped_cart_name = "untitled.p8.png"; 104 + p8_dropped_cart = txt; 105 + codo_command = 9; 106 + } 107 + } 108 + } 109 + function nop(evt) { 110 + evt.stopPropagation(); 111 + evt.preventDefault(); 112 + } 113 + function dragover(evt) { 114 + evt.stopPropagation(); 115 + evt.preventDefault(); 116 + Module.pico8DragOver(); 117 + } 118 + function dragstop(evt) { 119 + evt.stopPropagation(); 120 + evt.preventDefault(); 121 + Module.pico8DragStop(); 122 + } 123 + 124 + // download (pico-8 0.2.4d web exports can save a .wav file) 125 + function download_browser_file(filename, contents) 126 + { 127 + var element = document.createElement('a'); 128 + if (filename.substr(filename.length - 7) == ".p8.png") 129 + element.setAttribute('href', 'data:image/png;base64,' + encodeURIComponent(contents)); 130 + else if (filename.substr(filename.length - 4) == ".wav") 131 + element.setAttribute('href', 'data:audio/x-wav;base64,' + encodeURIComponent(contents)); 132 + else 133 + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(contents)); 134 + element.setAttribute('download', filename); 135 + element.style.display = 'none'; 136 + document.body.appendChild(element); 137 + element.click(); 138 + document.body.removeChild(element); 139 + } 140 + // -------------------------------------------------------------------------------------------------------------------------------- 141 + 142 + 143 + var p8_buttons_hash = -1; 144 + function p8_update_button_icons() 145 + { 146 + // buttons only appear when running 147 + if (!p8_is_running) 148 + { 149 + requestAnimationFrame(p8_update_button_icons); 150 + return; 151 + } 152 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 153 + 154 + // hash based on: pico8_state.sound_volume pico8_state.is_paused bottom_margin left is_fullscreen p8_touch_detected 155 + var hash = 0; 156 + hash = pico8_state.sound_volume; 157 + if (pico8_state.is_paused) hash += 0x100; 158 + if (p8_touch_detected) hash += 0x200; 159 + if (is_fullscreen) hash += 0x400; 160 + 161 + if (p8_buttons_hash == hash) 162 + { 163 + requestAnimationFrame(p8_update_button_icons); 164 + return; 165 + } 166 + 167 + p8_buttons_hash = hash; 168 + // console.log("@@ updating button icons"); 169 + 170 + els = document.getElementsByClassName('p8_menu_button'); 171 + for (i = 0; i < els.length; i++) 172 + { 173 + el = els[i]; 174 + index = el.id; 175 + if (index == 'p8b_sound') index += (pico8_state.sound_volume == 0 ? "0" : "1"); // 1 if undefined 176 + if (index == 'p8b_pause') index += (pico8_state.is_paused > 0 ? "1" : "0"); // 0 if undefined 177 + 178 + new_str = '<img width=24 height=24 style="pointer-events:none" src="'+p8_gfx_dat[index]+'">'; 179 + if (el.innerHTML != new_str) 180 + el.innerHTML = new_str; 181 + 182 + 183 + 184 + 185 + // hide all buttons for touch mode (can pause with menu buttons) 186 + 187 + var is_visible = p8_is_running; 188 + 189 + if ((!p8_touch_detected || !p8_allow_mobile_menu) && el.parentElement.id == "p8_menu_buttons_touch") 190 + is_visible = false; 191 + 192 + if (p8_touch_detected && el.parentElement.id == "p8_menu_buttons") 193 + is_visible = false; 194 + 195 + if (is_fullscreen) 196 + is_visible = false; 197 + 198 + if (is_visible) 199 + el.style.display=""; 200 + else 201 + el.style.display="none"; 202 + } 203 + requestAnimationFrame(p8_update_button_icons); 204 + } 205 + 206 + 207 + 208 + function abs(x) 209 + { 210 + return x < 0 ? -x : x; 211 + } 212 + 213 + // step 0 down 1 drag 2 up (not used) 214 + function pico8_buttons_event(e, step) 215 + { 216 + if (!p8_is_running) return; 217 + 218 + pico8_buttons[0] = 0; 219 + 220 + if (step == 2 && typeof(pico8_mouse) !== 'undefined') 221 + { 222 + pico8_mouse[2] = 0; 223 + } 224 + 225 + var num = 0; 226 + if (e.touches) num = e.touches.length; 227 + 228 + if (num == 0 && typeof(pico8_mouse) !== 'undefined') 229 + { 230 + // no active touches: release mouse button from anywhere on page. (maybe redundant? but just in case) 231 + pico8_mouse[2] = 0; 232 + } 233 + 234 + 235 + for (var i = 0; i < num; i++) 236 + { 237 + var touch = e.touches[i]; 238 + var x = touch.clientX; 239 + var y = touch.clientY; 240 + var w = window.innerWidth; 241 + var h = window.innerHeight; 242 + 243 + var r = Math.min(w,h) / 12; 244 + if (r > 40) r = 40; 245 + 246 + // mouse (0.1.12d) 247 + 248 + let canvas = document.getElementById("canvas"); 249 + if (p8_touch_detected) 250 + if (typeof(pico8_mouse) !== 'undefined') 251 + if (canvas) 252 + { 253 + var rect = canvas.getBoundingClientRect(); 254 + //console.log(rect.top, rect.right, rect.bottom, rect.left, x, y); 255 + 256 + if (x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom) 257 + { 258 + pico8_mouse = [ 259 + Math.floor((x - rect.left) * 128 / (rect.right - rect.left)), 260 + Math.floor((y - rect.top) * 128 / (rect.bottom - rect.top)), 261 + step < 2 ? 1 : 0 262 + ]; 263 + // return; // commented -- blocks overlapping buttons 264 + }else 265 + { 266 + pico8_mouse[2] = 0; 267 + } 268 + } 269 + 270 + 271 + // buttons 272 + 273 + b = 0; 274 + 275 + if (y < h - r*8) 276 + { 277 + // no controller buttons up here; includes canvas and menu buttons at top in touch mode 278 + } 279 + else 280 + { 281 + e.preventDefault(); 282 + 283 + if ((y < h - r*6) && y > (h - r*8)) 284 + { 285 + // menu button: half as high as X O button 286 + // stretch across right-hand half above X O buttons 287 + if (x > w - r*3) 288 + b |= 0x40; 289 + } 290 + else if (x < w/2 && x < r*6) 291 + { 292 + // stick 293 + 294 + mask = 0xf; // dpad 295 + var cx = 0 + r*3; 296 + var cy = h - r*3; 297 + 298 + deadzone = r/3; 299 + var dx = x - cx; 300 + var dy = y - cy; 301 + 302 + if (abs(dx) > abs(dy) * 0.6) // horizontal 303 + { 304 + if (dx < -deadzone) b |= 0x1; 305 + if (dx > deadzone) b |= 0x2; 306 + } 307 + if (abs(dy) > abs(dx) * 0.6) // vertical 308 + { 309 + if (dy < -deadzone) b |= 0x4; 310 + if (dy > deadzone) b |= 0x8; 311 + } 312 + } 313 + else if (x > w - r*6) 314 + { 315 + // button; diagonal split from bottom right corner 316 + 317 + mask = 0x30; 318 + 319 + // one or both of [X], [O] 320 + if ( (h-y) > (w-x) * 0.8) b |= 0x10; 321 + if ( (w-x) > (h-y) * 0.8) b |= 0x20; 322 + } 323 + } 324 + 325 + pico8_buttons[0] |= b; 326 + 327 + } 328 + } 329 + 330 + // p8_update_layout_hash is used to decide when to update layout (expensive especially when part of a heavy page) 331 + var p8_update_layout_hash = -1; 332 + var last_windowed_container_height = 512; 333 + var p8_layout_frames = 0; 334 + 335 + function p8_update_layout() 336 + { 337 + var canvas = document.getElementById("canvas"); 338 + var p8_playarea = document.getElementById("p8_playarea"); 339 + var p8_container = document.getElementById("p8_container"); 340 + var p8_frame = document.getElementById("p8_frame"); 341 + var csize = 512; 342 + var margin_top = 0; 343 + var margin_left = 0; 344 + 345 + // page didn't load yet? first call should be after p8_frame is created so that layout doesn't jump around. 346 + if (!canvas || !p8_playarea || !p8_container || !p8_frame) 347 + { 348 + p8_update_layout_hash = -1; 349 + requestAnimationFrame(p8_update_layout); 350 + return; 351 + } 352 + 353 + p8_layout_frames ++; 354 + 355 + // assumes frame doesn't have padding 356 + 357 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 358 + var frame_width = p8_frame.offsetWidth; 359 + var frame_height = p8_frame.offsetHeight; 360 + 361 + if (is_fullscreen) 362 + { 363 + // same as window 364 + frame_width = window.innerWidth; 365 + frame_height = window.innerHeight; 366 + } 367 + else{ 368 + // never larger than window // (happens when address bar is down in portraight mode on phone) 369 + frame_width = Math.min(frame_width, window.innerWidth); 370 + frame_height = Math.min(frame_height, window.innerHeight); 371 + } 372 + 373 + // as big as will fit in a frame.. 374 + csize = Math.min(frame_width,frame_height); 375 + 376 + // .. but never more than 2/3 of longest side for touch (e.g. leave space for controls on iPad) 377 + if (p8_touch_detected && p8_is_running) 378 + { 379 + var longest_side = Math.max(window.innerWidth,window.innerHeight); 380 + csize = Math.min(csize, longest_side * 2/3); 381 + } 382 + 383 + // pixel perfect: quantize to closest multiple of 128 384 + // only when large display (desktop) 385 + if (frame_width >= 512 && frame_height >= 512) 386 + { 387 + csize = (csize+1) & ~0x7f; 388 + } 389 + 390 + // csize should never be higher than parent frame 391 + // (otherwise stretched large when fullscreen and then return) 392 + if (!is_fullscreen && p8_frame) 393 + csize = Math.min(csize, last_windowed_container_height); // p8_frame_0 parent 394 + 395 + 396 + if (is_fullscreen) 397 + { 398 + // always center horizontally 399 + margin_left = (frame_width - csize)/2; 400 + 401 + if (p8_touch_detected) 402 + { 403 + if (window.innerWidth < window.innerHeight) 404 + { 405 + // portrait: keep at y=40 (avoid rounded top corners / camera nub thing etc.) 406 + margin_top = Math.min(40, frame_height - csize); 407 + } 408 + else 409 + { 410 + // landscape: put a little above vertical center 411 + margin_top = (frame_height - csize)/4; 412 + } 413 + } 414 + else{ 415 + // non-touch: center vertically 416 + margin_top = (frame_height - csize)/2; 417 + } 418 + } 419 + 420 + // skip if relevant state has not changed 421 + 422 + var update_hash = csize + margin_top * 1000.3 + margin_left * 0.001 + frame_width * 333.33 + frame_height * 772.15134; 423 + if (is_fullscreen) update_hash += 0.1237; 424 + 425 + // unexpected things can happen in the first few seconds, so just keep re-calculating layout. wasm version breaks layout otherwise. 426 + // also: bonus refresh at 5, 8 seconds just in case ._. 427 + if (p8_layout_frames < 180 || p8_layout_frames == 60*5 || p8_layout_frames == 60*8 ) 428 + update_hash = p8_layout_frames; 429 + 430 + if (!is_fullscreen) // fullscreen: update every frame for safety. should be cheap! 431 + if (!p8_touch_detected) // mobile: update every frame because nothing can be trusted 432 + if (p8_update_layout_hash == update_hash) 433 + { 434 + //console.log("p8_update_layout(): skipping"); 435 + requestAnimationFrame(p8_update_layout); 436 + return; 437 + } 438 + p8_update_layout_hash = update_hash; 439 + 440 + // record this for returning to original size after fullscreen pushes out container height (argh) 441 + if (!is_fullscreen && p8_frame) 442 + last_windowed_container_height = p8_frame.parentNode.parentNode.offsetHeight; 443 + 444 + 445 + // mobile in portrait mode: put screen at top (w / a little extra space for fullscreen button if needed) 446 + // (don't cart too about buttons overlapping screen) 447 + if (p8_touch_detected && p8_is_running && document.body.clientWidth < document.body.clientHeight) 448 + p8_playarea.style.marginTop = p8_allow_mobile_menu ? 32 : 8; 449 + else if (p8_touch_detected && p8_is_running) // landscape: slightly above vertical center (only relevant for iPad / highres devices) 450 + p8_playarea.style.marginTop = (document.body.clientHeight - csize) / 4; 451 + else 452 + p8_playarea.style.marginTop = ""; 453 + 454 + canvas.style.width = csize; 455 + canvas.style.height = csize; 456 + 457 + // to do: this should just happen from css layout 458 + canvas.style.marginLeft = margin_left; 459 + canvas.style.marginTop = margin_top; 460 + 461 + p8_container.style.width = csize; 462 + p8_container.style.height = csize; 463 + 464 + // set menu buttons position to bottom right 465 + el = document.getElementById("p8_menu_buttons"); 466 + el.style.marginTop = csize - el.offsetHeight; 467 + 468 + if (p8_touch_detected && p8_is_running) 469 + { 470 + // turn off pointer events to prevent double-tap zoom etc (works on Android) 471 + // don't want this for desktop because breaks mouse input & click-to-focus when using codo_textarea 472 + canvas.style.pointerEvents = "none"; 473 + 474 + p8_container.style.marginTop = "0px"; 475 + 476 + // buttons 477 + 478 + // same as touch event handling 479 + var w = window.innerWidth; 480 + var h = window.innerHeight; 481 + var r = Math.min(w,h) / 12; 482 + 483 + if (r > 40) r = 40; 484 + 485 + el = document.getElementById("controls_right_panel"); 486 + el.style.left = w-r*6; 487 + el.style.top = h-r*7; 488 + el.style.width = r*6; 489 + el.style.height = r*7; 490 + if (el.getAttribute("src") != p8_gfx_dat["controls_right_panel"]) // optimisation: avoid reload? (browser should handle though) 491 + el.setAttribute("src", p8_gfx_dat["controls_right_panel"]); 492 + 493 + el = document.getElementById("controls_left_panel"); 494 + el.style.left = 0; 495 + el.style.top = h-r*6; 496 + el.style.width = r*6; 497 + el.style.height = r*6; 498 + if (el.getAttribute("src") != p8_gfx_dat["controls_left_panel"]) // optimisation: avoid reload? (browser should handle though) 499 + el.setAttribute("src", p8_gfx_dat["controls_left_panel"]); 500 + 501 + // scroll to cart (commented; was a failed attempt to prevent scroll-on-drag on some browsers) 502 + // p8_frame.scrollIntoView(true); 503 + 504 + document.getElementById("touch_controls_gfx").style.display="table"; 505 + document.getElementById("touch_controls_background").style.display="table"; 506 + 507 + } 508 + else{ 509 + document.getElementById("touch_controls_gfx").style.display="none"; 510 + document.getElementById("touch_controls_background").style.display="none"; 511 + } 512 + 513 + if (!p8_is_running) 514 + { 515 + p8_playarea.style.display="none"; 516 + p8_container.style.display="flex"; 517 + p8_container.style.marginTop="auto"; 518 + 519 + el = document.getElementById("p8_start_button"); 520 + if (el) el.style.display="flex"; 521 + } 522 + requestAnimationFrame(p8_update_layout); 523 + } 524 + 525 + 526 + var p8_touch_detected = false; 527 + addEventListener("touchstart", function(event) 528 + { 529 + p8_touch_detected = true; 530 + 531 + // hide codo_textarea -- clipboard support on mobile is not feasible 532 + el = document.getElementById("codo_textarea"); 533 + if (el && el.style.display != "none"){ 534 + el.style.display="none"; 535 + } 536 + 537 + }, {passive: true}); 538 + 539 + function p8_create_audio_context() 540 + { 541 + if (pico8_audio_context) 542 + { 543 + try { 544 + pico8_audio_context.resume(); 545 + } 546 + catch(err) { 547 + console.log("** pico8_audio_context.resume() failed"); 548 + } 549 + return; 550 + } 551 + 552 + var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext; 553 + if (webAudioAPI) 554 + { 555 + pico8_audio_context = new webAudioAPI; 556 + 557 + // wake up iOS 558 + if (pico8_audio_context) 559 + { 560 + try { 561 + var dummy_source_sfx = pico8_audio_context.createBufferSource(); 562 + dummy_source_sfx.buffer = pico8_audio_context.createBuffer(1, 1, 22050); // dummy 563 + dummy_source_sfx.connect(pico8_audio_context.destination); 564 + dummy_source_sfx.start(1, 0.25); // gives InvalidStateError -- why? hasn't been played before 565 + //dummy_source_sfx.noteOn(0); // deleteme 566 + } 567 + catch(err) { 568 + console.log("** dummy_source_sfx.start(1, 0.25) failed"); 569 + } 570 + } 571 + } 572 + } 573 + 574 + function p8_close_cart() 575 + { 576 + // just reload page! used for touch buttons -- hard to roll back state 577 + window.location.hash = ""; // triggers reload 578 + } 579 + 580 + var p8_is_running = false; 581 + var p8_script = null; 582 + var Module = null; 583 + function p8_run_cart() 584 + { 585 + if (p8_is_running) return; 586 + p8_is_running = true; 587 + 588 + // touch: hide everything except p8_frame_0 589 + if (p8_touch_detected) 590 + { 591 + el = document.getElementById("body_0"); 592 + el2 = document.getElementById("p8_frame_0"); 593 + if (el && el2) 594 + { 595 + el.style.display="none"; 596 + el.parentNode.appendChild(el2); 597 + } 598 + } 599 + 600 + // create audio context and wake it up (for iOS -- needs happen inside touch event) 601 + p8_create_audio_context(); 602 + 603 + // show touch elements 604 + els = document.getElementsByClassName('p8_controller_area'); 605 + for (i = 0; i < els.length; i++) 606 + els[i].style.display=""; 607 + 608 + 609 + // install touch events. These also serve to block scrolling / pinching / zooming on phones when p8_is_running 610 + // moved event.preventDefault(); calls into pico8_buttons_event() (want to let top buttons pass through) 611 + addEventListener("touchstart", function(event){ pico8_buttons_event(event, 0); }, {passive: false}); 612 + addEventListener("touchmove", function(event){ pico8_buttons_event(event, 1); }, {passive: false}); 613 + addEventListener("touchend", function(event){ pico8_buttons_event(event, 2); }, {passive: false}); 614 + 615 + 616 + // load and run script 617 + e = document.createElement("script"); 618 + p8_script = e; 619 + e.onload = function(){ 620 + 621 + // show canvas / menu buttons only after loading 622 + el = document.getElementById("p8_playarea"); 623 + if (el) el.style.display="table"; 624 + 625 + if (typeof(p8_update_layout_hash) !== 'undefined') 626 + p8_update_layout_hash = -77; 627 + if (typeof(p8_buttons_hash) !== 'undefined') 628 + p8_buttons_hash = -33; 629 + 630 + 631 + } 632 + e.type = "application/javascript"; 633 + e.src = "picosky.js"; 634 + e.id = "e_script"; 635 + 636 + document.body.appendChild(e); // load and run 637 + 638 + // hide start button and show canvas / menu buttons. hide start button 639 + el = document.getElementById("p8_start_button"); 640 + if (el) el.style.display="none"; 641 + 642 + // add #playing for touchscreen devices (allows back button to close) 643 + // X button can also be used to trigger this 644 + if (p8_touch_detected) 645 + { 646 + window.location.hash = "#playing"; 647 + window.onhashchange = function() 648 + { 649 + if (window.location.hash.search("playing") < 0) 650 + window.location.reload(); 651 + } 652 + } 653 + 654 + // install drag&drop listeners 655 + { 656 + let canvas = document.getElementById("canvas"); 657 + if (canvas) 658 + { 659 + canvas.addEventListener('dragenter', dragover, false); 660 + canvas.addEventListener('dragover', dragover, false); 661 + canvas.addEventListener('dragleave', dragstop, false); 662 + canvas.addEventListener('drop', nop, false); 663 + canvas.addEventListener('drop', p8_drop_file, false); 664 + } 665 + } 666 + } 667 + 668 + 669 + // Gamepad code 670 + 671 + var P8_BUTTON_O = {action:'button', code: 0x10}; 672 + var P8_BUTTON_X = {action:'button', code: 0x20}; 673 + var P8_DPAD_LEFT = {action:'button', code: 0x1}; 674 + var P8_DPAD_RIGHT = {action:'button', code: 0x2}; 675 + var P8_DPAD_UP = {action:'button', code: 0x4}; 676 + var P8_DPAD_DOWN = {action:'button', code: 0x8}; 677 + var P8_MENU = {action:'menu'}; 678 + var P8_NO_ACTION = {action:'none'}; 679 + 680 + var P8_BUTTON_MAPPING = [ 681 + // ref: https://w3c.github.io/gamepad/#remapping 682 + P8_BUTTON_O, // Bottom face button 683 + P8_BUTTON_X, // Right face button 684 + P8_BUTTON_X, // Left face button 685 + P8_BUTTON_O, // Top face button 686 + P8_NO_ACTION, // Near left shoulder button (L1) 687 + P8_NO_ACTION, // Near right shoulder button (R1) 688 + P8_NO_ACTION, // Far left shoulder button (L2) 689 + P8_NO_ACTION, // Far right shoulder button (R2) 690 + P8_MENU, // Left auxiliary button (select) 691 + P8_MENU, // Right auxiliary button (start) 692 + P8_NO_ACTION, // Left stick button 693 + P8_NO_ACTION, // Right stick button 694 + P8_DPAD_UP, // Dpad up 695 + P8_DPAD_DOWN, // Dpad down 696 + P8_DPAD_LEFT, // Dpad left 697 + P8_DPAD_RIGHT, // Dpad right 698 + ]; 699 + 700 + // Track which player is controller by each gamepad. Gamepad index i controls the 701 + // player with index pico8_gamepads_mapping[i]. Gamepads with null player are 702 + // currently unassigned - they get assigned to a player when a button is pressed. 703 + var pico8_gamepads_mapping = []; 704 + 705 + function p8_unassign_gamepad(gamepad_index) { 706 + if (pico8_gamepads_mapping[gamepad_index] == null) { 707 + return; 708 + } 709 + pico8_buttons[pico8_gamepads_mapping[gamepad_index]] = 0; 710 + pico8_gamepads_mapping[gamepad_index] = null; 711 + } 712 + 713 + 714 + function p8_first_player_without_gamepad(max_players) { 715 + var allocated_players = pico8_gamepads_mapping.filter(function(x) { return x != null; }); 716 + var sorted_players = Array.from(allocated_players).sort(); 717 + for (var desired = 0; desired < sorted_players.length && desired < max_players; ++desired) { 718 + if (desired != sorted_players[desired]) { 719 + return desired; 720 + } 721 + } 722 + if (sorted_players.length < max_players) { 723 + return sorted_players.length; 724 + } 725 + return null; 726 + } 727 + 728 + function p8_assign_gamepad_to_player(gamepad_index, player_index) { 729 + p8_unassign_gamepad(gamepad_index); 730 + pico8_gamepads_mapping[gamepad_index] = player_index; 731 + } 732 + 733 + 734 + 735 + function p8_convert_standard_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) { 736 + // Given a gamepad object, return: 737 + // { 738 + // button_state: the binary encoded Pico 8 button state 739 + // menu_button: true if any menu-mapped button was pressed 740 + // any_button: true if any button was pressed, including d-pad 741 + // buttons and unmapped buttons 742 + // } 743 + if (!gamepad || !gamepad.axes || !gamepad.buttons) { 744 + return { 745 + button_state: 0, 746 + menu_button: false, 747 + any_button: false 748 + }; 749 + } 750 + function button_state_from_axis(axis, low_state, high_state, default_state) { 751 + if (axis && axis < -axis_threshold) return low_state; 752 + if (axis && axis > axis_threshold) return high_state; 753 + return default_state; 754 + } 755 + var axes_actions = [ 756 + button_state_from_axis(gamepad.axes[0], P8_DPAD_LEFT, P8_DPAD_RIGHT, P8_NO_ACTION), 757 + button_state_from_axis(gamepad.axes[1], P8_DPAD_UP, P8_DPAD_DOWN, P8_NO_ACTION), 758 + ]; 759 + 760 + var button_actions = gamepad.buttons.map(function (button, index) { 761 + var pressed = button.value > button_threshold || button.pressed; 762 + if (!pressed) return P8_NO_ACTION; 763 + return P8_BUTTON_MAPPING[index] || P8_NO_ACTION; 764 + }); 765 + 766 + var all_actions = axes_actions.concat(button_actions); 767 + 768 + var menu_button = button_actions.some(function (action) { return action.action == 'menu'; }); 769 + var button_state = (all_actions 770 + .filter(function (a) { return a.action == 'button'; }) 771 + .map(function (a) { return a.code; }) 772 + .reduce(function (result, code) { return result | code; }, 0) 773 + ); 774 + var any_button = gamepad.buttons.some(function (button) { 775 + return button.value > button_threshold || button.pressed; 776 + }); 777 + 778 + any_button |= button_state; //jww: include axes 0,1 as might be first intended action 779 + 780 + return { 781 + button_state, 782 + menu_button, 783 + any_button 784 + }; 785 + } 786 + 787 + // jww: pico-8 0.2.1 version for unmapped gamepads, following p8_convert_standard_gamepad_to_button_state 788 + // axes 0,1 & buttons 0,1,2,3 are reasonably safe. don't try to read dpad. 789 + // menu buttons are unpredictable, but use 6..8 anyway (better to have a weird menu button than none) 790 + 791 + function p8_convert_unmapped_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) { 792 + 793 + if (!gamepad || !gamepad.axes || !gamepad.buttons) { 794 + return { 795 + button_state: 0, 796 + menu_button: false, 797 + any_button: false 798 + }; 799 + } 800 + 801 + var button_state = 0; 802 + 803 + if (gamepad.axes[0] && gamepad.axes[0] < -axis_threshold) button_state |= 0x1; 804 + if (gamepad.axes[0] && gamepad.axes[0] > axis_threshold) button_state |= 0x2; 805 + if (gamepad.axes[1] && gamepad.axes[1] < -axis_threshold) button_state |= 0x4; 806 + if (gamepad.axes[1] && gamepad.axes[1] > axis_threshold) button_state |= 0x8; 807 + 808 + // buttons: first 4 taken to be O/X, 6..8 taken to be menu button 809 + 810 + for (j = 0; j < gamepad.buttons.length; j++) 811 + if (gamepad.buttons[j].value > 0 || gamepad.buttons[j].pressed) 812 + { 813 + if (j < 4) 814 + button_state |= (0x10 << (((j+1)/2)&1)); // 0 1 1 0 -- A,X -> O,X on xbox360 815 + else if (j >= 6 && j <= 8) 816 + button_state |= 0x40; 817 + } 818 + 819 + var menu_button = button_state & 0x40; 820 + 821 + var any_button = gamepad.buttons.some(function (button) { 822 + return button.value > button_threshold || button.pressed; 823 + }); 824 + 825 + any_button |= button_state; //jww: include axes 0,1 as might be first intended action 826 + 827 + return { 828 + button_state, 829 + menu_button, 830 + any_button 831 + }; 832 + } 833 + 834 + 835 + // gamepad https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API 836 + // (sets bits in pico8_buttons[]) 837 + function p8_update_gamepads() { 838 + var axis_threshold = 0.3; 839 + var button_threshold = 0.5; // Should be unnecessary, we should be able to trust .pressed 840 + var max_players = 8; 841 + var gps = navigator.getGamepads() || navigator.webkitGetGamepads(); 842 + 843 + if (!gps) return; 844 + 845 + // In Chrome, gps is iterable but it's not an array. 846 + gps = Array.from(gps); 847 + 848 + pico8_gamepads.count = gps.length; 849 + while (gps.length > pico8_gamepads_mapping.length) { 850 + pico8_gamepads_mapping.push(null); 851 + } 852 + 853 + var menu_button = false; 854 + var gamepad_states = gps.map(function (gp) { 855 + return (gp && gp.mapping == "standard") ? 856 + p8_convert_standard_gamepad_to_button_state(gp, axis_threshold, button_threshold) : 857 + p8_convert_unmapped_gamepad_to_button_state(gp, axis_threshold, button_threshold); 858 + }); 859 + 860 + // Unassign disconnected gamepads. 861 + // gps.forEach(function (gp, i) { if (gp && !gp.connected) { p8_unassign_gamepad(i); }}); 862 + gps.forEach(function (gp, i) { if (!gp || !gp.connected) { p8_unassign_gamepad(i); }}); // https://www.lexaloffle.com/bbs/?pid=87132#p 863 + 864 + 865 + // Assign unassigned gamepads when any button is pressed. 866 + gamepad_states.forEach(function (state, i) { 867 + if (state.any_button && pico8_gamepads_mapping[i] == null) { 868 + var first_free_player = p8_first_player_without_gamepad(max_players); 869 + p8_assign_gamepad_to_player(i, first_free_player); 870 + } 871 + }); 872 + 873 + // Update pico8_buttons array. 874 + gamepad_states.forEach(function (gamepad_state, i) { 875 + if (pico8_gamepads_mapping[i] != null) { 876 + pico8_buttons[pico8_gamepads_mapping[i]] = gamepad_state.button_state; 877 + } 878 + }); 879 + 880 + // Update menu button. 881 + // Pico 8 only recognises the menu button on the first player, so we 882 + // press it when any gamepad has pressed a button mapped to menu. 883 + if (gamepad_states.some(function (state) { return state.menu_button; })) { 884 + pico8_buttons[0] |= 0x40; 885 + } 886 + 887 + requestAnimationFrame(p8_update_gamepads); 888 + } 889 + requestAnimationFrame(p8_update_gamepads); 890 + 891 + // End of gamepad code 892 + 893 + 894 + // key blocker. prevent browser operations while playing cart so that PICO-8 can use those keys e.g. cursors to scroll, ctrl-r to reload 895 + document.addEventListener('keydown', 896 + function (event) { 897 + event = event || window.event; 898 + if (!p8_is_running) return; 899 + 900 + if (pico8_state.has_focus == 1) 901 + if ([32, 37, 38, 39, 40, 77, 82, 80, 9].indexOf(event.keyCode) > -1) // block only cursors, M R P, tab 902 + if (event.preventDefault) event.preventDefault(); 903 + 904 + },{passive: false}); 905 + 906 + // when using codo_textarea to determine focus, need to explicitly hand focus back when clicking a p8_menu_button 907 + function p8_give_focus() 908 + { 909 + el = (typeof codo_textarea === 'undefined') ? document.getElementById("codo_textarea") : codo_textarea; 910 + if (el) 911 + { 912 + el.focus(); 913 + el.select(); 914 + } 915 + } 916 + 917 + function p8_request_fullscreen() { 918 + 919 + var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement); 920 + 921 + if (is_fullscreen) 922 + { 923 + if (document.exitFullscreen) { 924 + document.exitFullscreen(); 925 + } else if (document.webkitExitFullscreen) { 926 + document.webkitExitFullscreen(); 927 + } else if (document.mozCancelFullScreen) { 928 + document.mozCancelFullScreen(); 929 + } else if (document.msExitFullscreen) { 930 + document.msExitFullscreen(); 931 + } 932 + return; 933 + } 934 + 935 + var el = document.getElementById("p8_playarea"); 936 + 937 + if ( el.requestFullscreen ) { 938 + el.requestFullscreen(); 939 + } else if ( el.mozRequestFullScreen ) { 940 + el.mozRequestFullScreen(); 941 + } else if ( el.webkitRequestFullScreen ) { 942 + el.webkitRequestFullScreen( Element.ALLOW_KEYBOARD_INPUT ); 943 + } 944 + } 945 + 946 + </script> 947 + 948 + <STYLE TYPE="text/css"> 949 + <!-- 950 + .p8_menu_button{ 951 + opacity:0.3; 952 + padding:4px; 953 + display:table; 954 + width:24px; 955 + height:24px; 956 + float:right; 957 + } 958 + 959 + @media screen and (min-width:512px) { 960 + .p8_menu_button{ 961 + width:24px; margin-left:12px; margin-bottom:8px; 962 + } 963 + } 964 + .p8_menu_button:hover{ 965 + opacity:1.0; 966 + cursor:pointer; 967 + } 968 + 969 + canvas{ 970 + image-rendering: optimizeSpeed; 971 + image-rendering: -moz-crisp-edges; 972 + image-rendering: -webkit-optimize-contrast; 973 + image-rendering: optimize-contrast; 974 + image-rendering: pixelated; 975 + -ms-interpolation-mode: nearest-neighbor; 976 + border: 0px; 977 + cursor: none; 978 + } 979 + 980 + 981 + .p8_start_button{ 982 + cursor:pointer; 983 + background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABx0lEQVR4Ae3dv22DQBhAcYiQG1omYBPX7lkgJVUmYIpbwkt4k9uCxlUUKYXjAsV/jjub3+tQAj54+r7X1t0wVchHU1XV2M8+RBZCbD98hbwQQAABIIAAEEAACCAABBAAAggAAQSAAAJAAAEggAAkolnnZ0JsF/469nOWly/hVCbACiIABGyXuhumFLVZ7tsy6epX2qlCbE2AFUQACBDhrH1LV78yTyXCVhAIIAA/FW7KP+JVSJfrl666JsAKAgEEYHsRPp+Of677w///ebcfTAAIIAAEiPDd1X3eowpssgkggAAQIMIPM/bz5WWIbaITp3vyTS9oAqwgEEAAiolwria/XHVNgBUEAghA4gi/YpPXqa4JsIJAAAH4pe6GaYX4PFLd8+l49727/VByk0NsTYAVRAAI2C5NgdUthKtXSNRkE2AFEQACRFh1MzXZBFhBBIAAAkAAASCAAKxM86wHjf18eRli+2Zf6uoFTYAVBAIIQDERTtfkr8/D3feGWFx1TYAVBAIIQOII3xS0RxKd7lQmwAoCAQTgLSKcK4YlZNYEEAACCAABBIAAAkAAASCAABBAAAgggAAQQAAIIAAEbJG6GyZfISPffORkckIApesAAAAQdEVYdExvZGVQTkcAMjAxMTAyMjHjWbbBAAAAAElFTkSuQmCC"); 984 + -repeat center; 985 + -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; 986 + } 987 + 988 + .button_gfx{ 989 + stroke-width:2; 990 + stroke: #ffffff; 991 + stroke-opacity:0.4; 992 + fill-opacity:0.2; 993 + fill:black; 994 + } 995 + 996 + .button_gfx_icon{ 997 + stroke-width:3; 998 + stroke: #909090; 999 + stroke-opacity:0.7; 1000 + fill:none; 1001 + } 1002 + 1003 + --> 1004 + </STYLE> 1005 + 1006 + </head> 1007 + 1008 + <body style="padding:0px; margin:0px; background-color:#222; color:#ccc"> 1009 + <div id="body_0"> <!-- hide this when playing in mobile (p8_touch_detected) so that elements don't affect layout --> 1010 + 1011 + 1012 + <!-- Add any content above the cart here --> 1013 + 1014 + 1015 + <div id="p8_frame_0" style="max-width:800px; max-height:800px; margin:auto;"> <!-- double function: limit size, and display only this div for touch devices --> 1016 + <div id="p8_frame" style="display:flex; width:100%; max-width:95vw; height:100vw; max-height:95vh; margin:auto;"> 1017 + 1018 + <div id="p8_menu_buttons_touch" style="position:absolute; width:100%; z-index:10; left:0px;"> 1019 + <div class="p8_menu_button" id="p8b_full" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_request_fullscreen();"></div> 1020 + <div class="p8_menu_button" id="p8b_sound" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div> 1021 + <div class="p8_menu_button" id="p8b_close" style="float:right; margin-right:10px" onClick="p8_close_cart();"></div> 1022 + </div> 1023 + 1024 + <div id="p8_container" 1025 + style="margin:auto; display:table;" 1026 + onclick="p8_create_audio_context(); p8_run_cart();"> 1027 + 1028 + <div id="p8_start_button" class="p8_start_button" style="width:100%; height:100%; display:flex;"> 1029 + <img width=80 height=80 style="margin:auto;" 1030 + src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAABpklEQVR42u3au23DQBCEYUXOXIGKcujQXUgFuA0XIKgW90Q9oEAg+Ljd27vd2RsCf058gEDqhofPj+OB6SMCAQlIQAIyAhKQgARkBAQDnM6XSRsB7/2e/tSA0//12fCAKsQX3ntDA4oRFwBRIc0AixE38BAhTQGLEAsBUSDNAXcRhYDRIZsAPlp99VECRoXsDpgN0g0wC6Q7IDpkGEBUyG6A0+vKBtkdMBukG2AWSHdAdMgwgKiQ4QDRIMMCokCGB4wOCQPYFVKw2cABNocUjl6wgE0gFashPKAZpHJ2TQNYBVmxW6cDFENWDv9pAUshCVgJScBKSAISkD9hPkT4GkNAMdzepyj8Kye852EBLe51CZHHWQK4JcThD1SlcHPEYY/0a+A0n6SkGZV6w6WZNb3g4Id1b7hwgGhwYQBR4dwB0eHcALPAdQfMBhcOEA0uDCAqnDsgOpwbYBa4poA/31+rZYFrBriFpwGMCtcEcA9PAhgdzhywBK8EEQXOFFCCtwaIBmcGKMWbI6LCmQBq8R6hw5kAMgISkIAEJCAjIAEJSEBGQI9ukV7lRn9nD+gAAAAASUVORK5CYII="/> 1031 + </div> 1032 + 1033 + <div id="p8_playarea" style="display:none; margin:auto; 1034 + -webkit-user-select:none; -moz-user-select: none; user-select: none; -webkit-touch-callout:none; 1035 + "> 1036 + 1037 + <div id="touch_controls_background" 1038 + style=" pointer-events:none; display:none; background-color:#000; 1039 + position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh"> 1040 + &nbsp 1041 + </div> 1042 + 1043 + <div style="display:flex; position:relative"> 1044 + <!-- pointer-events turned off for mobile in p8_update_layout because need for desktop mouse --> 1045 + <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault();" > 1046 + </canvas> 1047 + <div class=p8_menu_buttons id="p8_menu_buttons" style="margin-left:10px;"> 1048 + <div class="p8_menu_button" style="position:absolute; bottom:125px" id="p8b_controls" onClick="p8_give_focus(); Module.pico8ToggleControlMenu();"></div> 1049 + <div class="p8_menu_button" style="position:absolute; bottom:90px" id="p8b_pause" onClick="p8_give_focus(); Module.pico8TogglePaused(); p8_update_layout_hash = -22;"></div> 1050 + <div class="p8_menu_button" style="position:absolute; bottom:55px" id="p8b_sound" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div> 1051 + <div class="p8_menu_button" style="position:absolute; bottom:20px" id="p8b_full" onClick="p8_give_focus(); p8_request_fullscreen();"></div> 1052 + </div> 1053 + </div> 1054 + 1055 + 1056 + <!-- display after first layout update --> 1057 + <div id="touch_controls_gfx" 1058 + style=" pointer-events:none; display:table; 1059 + position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh"> 1060 + 1061 + <img src="" id="controls_right_panel" style="position:absolute; opacity:0.5;"> 1062 + <img src="" id="controls_left_panel" style="position:absolute; opacity:0.5;"> 1063 + 1064 + 1065 + </div> <!-- touch_controls_gfx --> 1066 + 1067 + <!-- used for clipboard access & keyboard input; displayed and used by PICO-8 only once needed. can be safely removed if clipboard / key presses not needed. --> 1068 + <!-- (needs to be inside p8_playarea so that it still works under Chrome when fullscreened) --> 1069 + <!-- 0.2.5: added "display:none"; pico8.js shows on demand to avoid mac osx accent character selector // https://www.lexaloffle.com/bbs/?tid=47743 --> 1070 + 1071 + <textarea id="codo_textarea" class="emscripten" style="display:none; position:absolute; left:-9999px; height:0px; overflow:hidden"></textarea> 1072 + 1073 + </div> <!--p8_playarea --> 1074 + 1075 + </div> <!-- p8_container --> 1076 + 1077 + </div> <!-- p8_frame --> 1078 + </div> <!-- p8_frame_0 size limit --> 1079 + 1080 + <script type="text/javascript"> 1081 + 1082 + p8_update_layout(); 1083 + p8_update_button_icons(); 1084 + 1085 + var canvas = document.getElementById("canvas"); 1086 + Module = {}; 1087 + Module.canvas = canvas; 1088 + 1089 + // from @ultrabrite's shell: test if an AudioContext can be created outside of an event callback. 1090 + // If it can't be created, then require pressing the start button to run the cartridge 1091 + 1092 + if (p8_autoplay) 1093 + { 1094 + var temp_context = new AudioContext(); 1095 + temp_context.onstatechange = function () 1096 + { 1097 + if (temp_context.state=='running') 1098 + { 1099 + p8_run_cart(); 1100 + temp_context.close(); 1101 + } 1102 + }; 1103 + } 1104 + 1105 + // pointer lock request needs to be inside a canvas interaction event 1106 + // pico8_state.request_pointer_lock is true when 0x5f2d bit 0 and bit 2 are set -- poke(0x5f2d,0x5) 1107 + // note on mouse acceleration for future: // https://github.com/w3c/pointerlock/pull/49 1108 + canvas.addEventListener("click", function() 1109 + { 1110 + if (!p8_touch_detected) 1111 + if (pico8_state.request_pointer_lock) 1112 + canvas.requestPointerLock(); 1113 + }); 1114 + 1115 + </script> 1116 + 1117 + 1118 + 1119 + <!-- Add content below the cart here --> 1120 + 1121 + 1122 + 1123 + 1124 + </div> <!-- body_0 --> 1125 + </body></html> 1126 +
+157
picosky.js
··· 1 + var _cartname=[`online.p8`]; 2 + var _cdpos=0; var iii=0; var ciii=0; 3 + var _cartdat=[ 4 + 0,204,0,0,0,0,204,0,192,0,0,12,0,0,0,0,0,192,0,0,0,0,12,0,0,0,0,0,0,0,0,0,112,119,119,7,0,0,0,7,112,7,112,7,112,7,112,7,0,0,112,7,0,119,7,0,0,0,0,0,119,0,0,119,192,204,12,0,0,192,204,12,204,12,192,204,0,0,0,0,0,204,12,0,0,192,204,0,0,192,12,0,0,192,12,0,7,0,0,112,119,119,119,119,119,119,119,119,7,112,7,112,0,0,119,7,112,0,112,7,112,7,112,7,7,112,119,112,204,204,204,0,0,204,204,204,204,220,205,204,0,0,0,0,192,204,204,0,0,204,204,12,0,204,204,0,0,204,204,0,7,0,0,112,0,0,0,7,119,119,119,119,7,0,0,112,0,112,119,0,7,0,112,119,112,7,112,7,119,0,0,119,204,204,204,12,192,204,204,204,192,205,220,12,0,0,0,0,192,204,204,12,192,204,204,12,0,204,204,12,192,204,204,0,7,0,0,112,112,0,0,0,112,119,119,7,112,0,0,7,0,119,7,0,7,0,0,119,112,7,112,7,7,112,7,112, 5 + 204,204,204,13,208,204,204,204,192,205,220,12,0,0,0,0,192,204,204,13,208,204,204,12,0,204,204,13,208,204,204,0,112,119,119,7,119,119,119,119,0,119,119,0,0,7,112,0,112,119,0,0,7,0,0,112,0,7,0,7,119,0,0,119,204,204,220,13,208,205,204,204,204,220,205,204,0,0,0,0,192,204,220,13,208,205,204,12,0,204,220,13,208,205,204,0,0,119,0,0,112,0,0,0,0,112,7,0,0,112,7,0,119,7,0,0,112,0,0,7,112,0,112,0,7,119,7,112,192,204,220,205,220,205,204,12,204,12,192,204,0,0,0,0,0,204,220,205,220,205,204,0,0,192,220,205,220,205,12,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,119,119,0,0,0,0,0,119,0,0,119,0,204,220,205,220,205,204,0,192,0,0,12,0,0,0,0,0,192,220,205,220,205,12,0,0,0,220,205,220,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 6 + 0,192,220,205,220,205,12,0,0,0,0,0,0,0,0,0,0,0,220,205,220,205,0,0,0,0,208,205,220,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,192,204,221,221,204,12,0,0,0,204,221,221,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,192,204,221,221,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,221,221,204,204,204,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 7 + 204,204,204,221,221,204,204,204,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,204,204,221,221,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,221,221,204,204,12,0,0,0,0,0,0,0,0,0,204,204,221,221,204,204,0,0,192,204,221,221,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,0,0,204,204,0,0,0,0,0,0,0,0,0,0,192,204,0,0,204,12,0,0,0,204,0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 8 + 136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 9 + 136,136,200,204,204,136,143,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,204,204,242,143,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,241,31,130,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,200,102,111,130,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 10 + 136,136,207,204,204,246,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,248,200,204,204,142,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,232,136,140,142,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,72,47,47,34,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 11 + 136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 12 + 102,102,101,86,101,101,86,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,245,86,69,84,84,85,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,85,86,84,69,84,95,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,86,85,244,79,245,85,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 13 + 246,95,69,255,255,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,86,69,111,255,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,95,244,86,246,255,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,63,255,85,101,85,95,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 14 + 246,95,244,86,245,85,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,86,244,255,244,244,85,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,102,85,79,255,95,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,95,79,255,255,84,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 15 + 102,86,95,69,79,85,85,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,86,255,79,69,85,85,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,85,112,255,95,5,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,21,118,95,85,101,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 16 + 214,102,109,221,102,109,214,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,108,22,29,93,205,102,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,220,213,93,85,93,198,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,21,5,0,0,0,101,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 17 + 108,93,80,86,102,6,85,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,13,80,111,102,86,0,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,13,85,109,111,6,208,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,86,85,64,4,85,101,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 18 + 102,221,85,85,93,86,214,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,85,84,246,214,214,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,109,85,84,69,223,221,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,109,93,69,82,213,198,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 19 + 215,119,86,85,101,213,214,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,86,80,85,213,109,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,118,68,5,85,86,210,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,69,82,84,85,86,34,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 20 + 79,84,85,85,85,246,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,85,84,245,84,95,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,63,84,85,85,85,51,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,84,5,5,85,69,69,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 21 + 85,95,80,255,15,53,255,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,85,80,255,255,80,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,85,69,84,85,245,51,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,5,244,246,79,85,244,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 22 + 85,5,69,255,79,85,85,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,64,84,15,85,54,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,64,80,255,15,85,255,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,4,80,69,0,245,255,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 23 + 69,5,80,85,0,85,246,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,80,5,80,80,85,111,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,85,85,85,5,84,111,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,85,0,80,85,245,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 24 + 204,204,204,108,102,102,198,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,108,102,103,102,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,205,204,204,204,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,204,127,255,247,111,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 25 + 204,204,205,255,102,245,247,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,204,255,86,118,86,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,103,102,102,255,246,85,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,103,102,247,111,5,85,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 26 + 85,99,54,83,87,85,85,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,245,86,53,83,85,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,243,118,247,69,84,80,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,101,118,87,85,15,48,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 27 + 53,101,102,103,5,5,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,90,101,102,86,5,245,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,53,102,127,87,5,245,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,163,99,127,87,85,244,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 28 + 17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,17,68,4,17,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,85,68,21,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,5,244,255,21,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 29 + 17,1,64,244,127,15,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,64,244,69,20,16,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,64,4,68,31,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,33,64,244,79,95,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 30 + 1,65,84,68,68,84,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,4,69,68,20,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,64,64,244,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,65,5,80,5,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 31 + 1,17,69,4,80,1,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,255,68,69,17,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,36,64,0,85,17,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,241,68,17,16,84,45,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 32 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 33 + 0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 34 + 0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,5,0,96,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,5,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 35 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 37 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 38 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 39 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 40 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 41 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 42 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 43 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 44 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 45 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 46 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 47 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 48 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 49 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 50 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 51 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 52 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 53 + 138,11,12,13,14,15,16,17,18,19,20,21,22,151,24,25,154,27,28,29,30,31,28,29,32,33,28,29,34,158,35,36,165,38,39,40,41,42,43,44,45,46,47,39,48,177,50,51,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68, 54 + 40,11,45,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,36,11,31,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,235,12,242,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,40,11,45,11,52,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 55 + 0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,48,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,38,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,36,13,40,13,43,15,48,15,48,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,226,12,222,12,218,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 56 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,112,107,119,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,43,13,48,13,52,15,55,15,52,11,55,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,7,4,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,2,4,21,4,21,84,7,4,42,6,45,6,43,4,42,4,37,4,35,4,37,6,38,6,2,4,21,6,21,86,7,4,23,4,23,84,2,4,21,4,21,84,7,4,23,4,1,90,0,0,0,0,26,4,26,84,0,0,25,4,25,84,0,0,26,4,26,84,0,0, 57 + 25,4,25,84,0,0,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,33,4,25,6,25,86,30,4,26,4,26,84,0,0,25,4,25,84,0,0,26,4,1,90,0,0,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,26,4,26,84,45,86,25,4,25,84,37,84,26,4,26,84,38,86,30,6,30,86,0,0,30,4,30,4,30,84,30,4,30,4,30,84,30,4,1,90,0,0,0,0,7,4,7,84,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,2,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,2,84,0,0,7,4,1,90,0,0,23,84,2,4,21,4,21,84,7,4,42,4,45,6,43,6,42,4,37,4,35,4,37,6,38,4,2,4,21,4,21,84,6,4,21,6,21,86,0,4,23,4,23,84,4,4,19,4,19,84,4,4,23,4,23,84,2,4,17,4,17,84,33,6,1,90,0,0,26,84,0,0, 58 + 25,4,25,84,0,0,23,4,23,84,2,4,21,4,21,84,7,4,23,6,23,86,33,4,25,4,25,84,37,6,25,6,25,86,42,6,26,4,26,84,28,4,23,4,23,84,0,0,26,4,26,84,0,0,21,4,21,84,0,4,1,90,0,0,30,4,30,84,30,4,30,84,0,0,26,4,26,84,45,86,25,4,25,84,37,84,26,6,26,86,38,84,30,4,30,84,0,0,30,6,30,86,0,0,30,4,30,84,0,0,4,4,4,84,0,0,31,4,31,84,0,0,26,4,26,84,0,0,1,90,0,0,7,84,0,0,2,4,2,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,6,30,86,0,0,2,4,2,84,0,0,6,4,6,84,0,0,0,4,0,84,0,0,28,4,28,4,28,4,28,4,28,4,28,4,28,4,28,84,0,0,1,90,0,0,35,6,36,6,40,6,38,6,35,4,38,4,36,6,35,6,2,4,26,4,26,84,2,4,26,4,38,6,40,6,41,6,43,6,45,6,36,4,38,6,40,6,38,4,35,4,2,4,26,4,26,84,2,4,26,4, 59 + 38,6,4,4,23,4,23,84,1,90,0,0,21,4,21,84,2,4,19,4,19,84,2,4,14,4,14,84,38,6,12,6,12,86,0,0,12,4,12,84,2,4,21,4,21,84,2,4,21,4,21,84,2,4,14,4,14,84,38,6,12,4,12,84,0,0,12,4,12,84,43,6,28,4,28,84,1,90,0,0,24,4,24,84,36,86,23,4,23,84,35,84,19,4,19,84,35,86,16,6,16,86,0,0,18,4,18,84,38,86,24,4,24,84,43,86,24,4,24,84,38,86,19,4,19,84,35,84,16,4,16,84,0,0,18,4,18,84,38,86,31,4,31,84,1,90,0,0,28,4,28,84,0,0,28,4,28,84,0,0,28,4,28,4,28,84,21,6,21,86,0,0,21,4,21,84,0,0,29,4,29,84,0,0,28,4,28,84,0,0,28,4,28,4,28,84,21,4,21,84,0,0,21,4,21,84,0,0,4,4,4,84,1,90,0,0,6,4,21,4,21,84,35,4,33,4,35,4,37,6,38,6,40,6,37,6,38,6,40,6,4,4,11,4,16,6,33,6,33,6,33,86,26,6,26,6, 60 + 26,86,7,2,23,4,23,84,2,4,21,4,21,84,7,4,23,4,23,84,2,4,21,4,1,90,0,0,42,6,25,4,25,84,0,4,23,6,23,86,4,4,25,6,25,86,4,4,21,4,21,84,30,4,21,4,23,6,9,4,9,4,9,84,30,6,30,6,30,86,0,0,26,4,26,84,0,0,25,4,25,84,0,0,26,4,26,84,0,0,25,4,1,90,0,0,0,0,30,4,30,84,0,0,26,6,26,86,35,84,28,6,28,86,40,86,25,4,25,84,40,86,26,4,26,6,19,4,19,4,19,84,33,6,33,6,33,86,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,30,84,0,0,30,4,1,90,0,0,0,0,6,4,6,84,0,0,30,6,30,86,0,0,33,6,33,86,0,0,33,4,33,84,0,0,4,84,31,4,36,6,36,6,36,86,38,6,38,6,38,86,0,0,7,2,7,82,0,0,2,4,2,84,0,0,7,4,7,84,0,0,2,4,1,90,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4, 61 + 29,4,29,4,29,4,29,84,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,84,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,1,5,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,1,5,0,0,41,4,41,4,41,4,41,4, 62 + 41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,1,5,0,0,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,1,5,0,0,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,84,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,1,5,0,0,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,44,84,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4,41,4, 63 + 41,4,41,4,1,5,0,0,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,37,4,1,5,0,0,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,4,29,84,1,5,0,0,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,4,32,84,1,5,0,0,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,90,5,90,5,90,5,90,5,90,5,90,5, 64 + 90,5,90,85,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,1,22,0,0,78,71,78,7,78,7,78,7,78,7,78,7,78,7,78,87,73,71,73,7,73,7,73,7,73,7,73,7,73,7,73,87,75,71,75,7,75,7,75,7,75,7,75,7,75,7,75,87,70,71,70,7,70,7,70,7,70,7,70,7,70,7,70,87,1,22,0,0,102,5,102,5,102,5,102,5,102,5,102,5,102,5,102,85,101,5,101,5,101,5,101,5,101,5,101,5,101,5,101,85,99,5,99,5,99,5,99,5,99,5,99,5,99,5,99,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,1,22,0,0,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,80,5,80,5,80,5,80,5,80,5,80,5,80,5,80,85,82,5,82,5,82,5,82,5,82,5,82,5,82,5,82,85,77,5,77,5,77,5,77,5,77,5,77,5,77,5,77,85,1,22,0,0,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,94,5,94,5,94,5,94,5,94,5,94,5, 65 + 94,5,94,85,90,5,90,5,90,5,90,5,90,5,90,5,90,5,90,85,92,5,92,5,92,5,92,5,92,5,92,5,92,5,92,85,1,22,0,0,71,71,71,7,71,7,71,7,71,7,71,7,71,7,71,87,66,71,66,7,66,7,66,7,66,7,66,7,66,7,66,87,71,71,71,7,71,7,71,7,71,7,71,7,71,7,71,87,73,69,73,5,73,5,73,5,73,5,73,5,73,5,73,85,1,22,0,0,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,99,5,99,5,99,5,99,5,99,5,99,5,99,5,99,85,101,5,101,5,101,5,101,5,101,5,101,5,101,5,101,85,1,22,0,0,78,5,78,5,78,5,78,5,78,5,78,5,78,5,78,85,78,5,78,5,78,5,78,5,78,5,78,5,78,5,78,85,83,5,83,5,83,5,83,5,83,5,83,5,83,5,83,85,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,1,22,0,0,94,5,94,5,94,5,94,5,94,5,94,5, 66 + 94,5,94,85,92,5,92,5,92,5,92,5,92,5,92,5,92,5,92,85,90,5,90,5,90,5,90,5,90,5,90,5,90,5,90,85,89,5,89,5,89,5,89,5,89,5,89,5,89,5,89,85,1,22,0,0,78,69,78,5,78,5,78,5,78,5,78,5,78,5,78,85,73,69,73,5,73,5,73,5,73,5,73,5,73,5,73,85,75,69,75,5,75,5,75,5,75,5,75,5,75,5,75,85,70,69,70,5,70,5,70,5,70,5,70,5,70,5,70,85,1,22,0,0,106,7,106,7,106,7,106,7,106,7,106,7,106,7,106,87,104,5,104,5,104,5,104,5,104,5,104,5,104,5,104,85,102,7,102,7,102,7,102,7,102,7,102,7,102,7,102,87,101,7,101,7,101,7,101,7,101,7,101,7,101,7,101,87,1,22,0,0,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,85,5,85,5,85,5,85,5,85,5,85,5,85,5,85,85,87,5,87,5,87,5,87,5,87,5,87,5,87,5,87,85,89,5,89,5,89,5,89,5,89,5,89,5,89,5,89,85, 67 + 1,22,0,0,71,69,71,5,71,5,71,5,71,5,71,5,71,5,71,85,66,69,66,5,66,5,66,5,66,5,66,5,66,5,66,85,71,69,71,5,71,5,71,5,71,5,71,5,71,5,71,85,73,71,73,7,73,7,73,7,73,7,73,7,73,7,73,87,1,22,0,0,99,7,99,7,99,7,99,7,99,7,99,7,99,7,99,87,97,7,97,7,97,7,97,7,97,7,97,7,97,7,97,87,99,7,99,7,99,7,99,7,99,7,99,7,99,7,99,87,101,7,101,7,101,7,101,7,101,7,101,7,101,7,101,87,1,22,0,0,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,94,5,94,5,94,5,94,5,94,5,94,5,94,5,94,85,95,5,95,5,95,5,95,5,95,5,95,5,95,5,95,85,97,5,97,5,97,5,97,5,97,5,97,5,97,5,97,85,1,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 68 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 69 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 70 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0, 71 + 0,112,120,97,83,178,35,82,235,193,226,3,156,126,245,3,188,193,249,47,177,97,133,23,184,252,246,227,227,227,187,228,29,234,55,8,162,178,204,187,119,137,31,224,33,202,236,33,218,137,168,172,110,105,142,121,136,137,50,109,170,112,38,11,86,202,171,238,10,130,219,78,42,235,48,89,106,69,130,159,34,141,142,202,186,122,34,143,252,107,7,133,144,108,161,107,158,33,137,30,34,73,102,146,100,34,73,102,146,135,40,158,162,136,142,77,210,161,36,58,59,137,134,146,228,196,36,217,76,146,19,147,100,43,73,110,76,146,153,36,89,73,146,201,36,217,76,146,213,36,121,137,36,153,72,146,217,36,121,138,36,121,139,36,57,60,73,206,79,146,235,147,228,254,36,185,63,73,116,4,68,4,182,146,165,229,228,250,162,153,79,146,241,131,79,141,110,45,70,139,99,139,197,226,218,98,176,152,44,186,96,48,241,76,18,37,137,27,22,19,63,148,105,146,106,4,4,69,145,38,73,154,36,97,18,117,73,82,38,89,151,36,101,146,148,73,168,29,16,20,77,153,36,50,2,65, 72 + 81,120,33,77,42,39,4,134,120,140,231,104,238,12,92,210,52,42,201,163,7,236,103,251,197,200,1,197,72,113,66,182,20,7,7,52,67,75,77,54,86,46,87,39,244,67,125,26,30,208,102,135,14,220,91,156,176,17,220,48,49,178,145,110,12,12,244,213,21,97,34,19,150,100,39,28,113,129,130,66,41,140,80,247,102,92,8,207,168,170,157,40,24,209,54,88,91,175,251,133,245,102,77,90,96,98,181,90,175,102,154,245,102,167,57,162,233,55,101,152,164,216,87,157,45,216,160,199,176,215,13,29,60,97,132,125,31,76,24,38,55,68,239,156,61,103,12,56,102,55,29,107,219,9,69,162,126,98,203,76,162,228,208,33,140,196,24,164,29,60,183,209,236,12,10,18,140,73,24,76,215,43,3,99,121,25,236,190,68,147,148,113,181,117,202,112,121,198,230,200,49,43,67,173,36,249,117,120,168,72,214,234,17,185,164,31,179,217,132,219,70,194,74,80,158,237,229,161,230,96,178,160,64,177,178,161,54,208,52,65,38,69,185,97,183,102,176,74,78,15,215,139,149,42,54,193, 73 + 202,136,205,122,183,45,153,238,8,239,108,118,194,161,138,139,157,92,131,176,200,136,123,86,86,92,20,138,12,204,170,138,140,74,179,232,180,68,58,13,187,102,209,97,90,22,25,74,198,242,86,252,74,255,96,236,240,169,201,104,232,246,29,129,17,249,137,38,109,187,237,237,53,181,76,141,64,153,146,233,46,61,62,85,33,151,208,224,182,208,248,59,39,52,126,95,47,52,88,100,117,34,52,254,222,34,115,206,164,30,14,212,93,103,244,230,33,169,34,214,36,120,56,234,12,225,138,237,64,204,165,94,187,32,177,93,112,209,154,177,175,242,189,38,125,143,179,124,101,182,254,168,3,86,74,65,234,123,22,138,60,152,80,73,22,149,77,140,49,17,84,231,119,137,44,147,100,198,148,124,61,239,111,180,94,52,31,86,118,222,35,238,46,17,124,45,78,240,213,29,249,192,170,84,196,33,241,110,56,118,132,52,142,24,139,2,137,198,140,6,69,50,51,223,168,223,104,113,172,105,99,181,247,68,171,197,85,197,116,241,4,197,27,20,29,29,132,83,34,227,20,117,139,226,138,38, 74 + 81,201,88,72,238,42,102,134,170,230,132,19,44,18,36,87,156,160,132,224,66,177,191,100,166,160,150,128,91,138,174,76,146,153,228,17,138,87,40,238,41,42,71,156,146,36,215,36,201,140,166,196,25,205,21,69,212,36,201,85,201,96,209,88,97,59,73,166,147,163,138,230,138,4,130,2,206,42,154,195,146,228,21,146,228,132,177,181,104,172,184,196,67,42,227,10,138,11,214,247,205,122,195,21,231,196,193,190,166,71,113,219,45,101,149,156,181,154,134,180,22,112,137,72,67,157,59,160,182,241,118,226,151,233,5,11,30,164,248,144,6,245,81,186,1,225,69,110,111,230,128,78,121,36,212,230,158,56,77,207,67,193,72,250,96,226,142,185,133,67,132,248,59,86,116,226,205,123,167,45,132,101,150,141,200,65,200,163,201,113,110,180,107,209,83,44,188,5,248,4,60,195,74,121,149,23,14,243,74,211,28,103,139,45,171,77,185,98,223,117,247,184,226,30,215,108,133,225,89,182,152,246,226,146,47,230,125,185,184,178,148,204,108,14,77,53,75,219,75,71,81,79,208,41,142,222, 75 + 116,228,33,117,105,217,185,21,207,117,81,208,116,218,28,133,89,70,114,85,18,89,162,149,100,81,44,60,107,98,225,72,14,82,46,209,40,28,23,20,207,152,70,120,238,107,71,70,203,101,153,250,53,91,2,22,55,44,104,119,173,119,85,50,17,6,187,242,17,165,158,175,39,181,21,28,65,74,33,227,107,122,31,101,186,163,119,137,109,225,71,122,81,50,46,146,93,150,170,93,34,162,73,135,32,161,35,201,77,193,198,11,76,205,118,110,180,138,252,143,234,223,68,173,41,206,240,18,145,34,233,77,205,50,243,214,9,171,6,42,143,244,89,178,192,218,1,193,156,252,197,86,19,102,18,240,61,68,34,102,168,140,196,195,225,7,177,128,61,169,240,231,18,197,241,255,239,152,27,196,198,159,75,244,37,194,149,84,236,167,147,76,56,176,79,142,106,177,41,60,158,57,99,67,84,113,108,58,185,71,10,233,164,88,167,34,110,131,123,70,85,187,14,131,152,64,1,145,91,196,194,202,210,39,129,255,138,206,36,226,61,126,11,23,14,11,103,232,34,36,134,139,128,83,138,179, 76 + 38,14,24,208,26,153,14,131,241,92,78,230,166,221,152,8,195,115,216,85,250,131,193,17,99,71,232,186,116,241,190,214,204,10,236,135,148,69,118,208,108,182,119,209,212,9,123,66,79,241,72,172,247,44,74,142,17,5,147,248,140,43,150,71,231,70,235,197,251,187,114,115,80,119,232,148,149,225,134,1,66,18,1,243,92,163,118,34,108,40,215,195,10,34,169,148,199,17,19,145,86,209,45,82,41,139,11,202,5,163,51,39,172,50,152,224,57,253,17,147,87,196,58,232,186,7,237,195,39,228,53,32,228,31,72,9,73,153,70,12,7,132,171,77,221,73,115,236,70,187,162,115,107,94,57,47,109,116,167,206,40,207,153,216,3,28,129,40,94,169,122,192,9,234,170,106,57,149,95,207,81,90,77,213,53,138,247,207,156,56,70,220,93,80,157,214,116,10,89,109,17,49,86,232,52,32,5,74,161,76,41,109,236,101,121,158,107,34,85,246,217,140,66,10,11,147,74,193,199,112,38,161,72,78,106,175,70,149,65,123,39,73,54,27,165,160,233,180,47,246,163,37,138,18,219,142, 77 + 212,198,17,169,141,111,51,161,91,241,74,210,168,253,100,124,23,186,217,109,70,218,89,163,69,105,179,45,55,64,161,192,110,160,191,62,133,127,106,60,16,98,80,198,110,97,230,95,115,214,176,140,27,227,136,111,228,20,225,41,221,142,83,132,7,98,85,216,91,92,59,31,39,174,116,11,231,138,184,97,167,86,150,69,199,0,94,12,17,89,21,245,231,160,224,80,114,145,192,149,146,206,210,82,49,32,184,58,75,229,225,190,101,128,238,5,151,87,64,90,96,208,1,75,84,24,222,157,230,144,194,0,215,152,100,194,235,237,154,162,49,137,175,11,141,240,172,55,133,94,184,45,209,36,157,239,211,36,137,111,194,36,137,146,201,98,222,215,93,178,239,155,36,233,124,163,59,142,160,168,124,19,232,142,132,186,227,169,180,198,147,248,62,154,133,65,83,248,158,85,146,232,151,199,75,218,225,74,146,72,239,220,129,111,194,164,241,189,181,198,15,13,114,37,190,183,215,127,20,122,234,201,154,194,215,85,82,232,38,87,250,232,209,59,212,95,202,244,215,147,121,77,55,169,170,26, 78 + 223,167,242,141,37,124,207,34,105,124,215,233,181,179,240,109,163,203,82,233,133,59,243,157,94,59,34,61,82,221,33,189,112,104,67,22,85,167,95,126,54,186,102,122,228,71,162,179,254,199,247,237,124,23,248,166,243,125,2,223,37,65,166,91,111,189,201,74,87,158,186,207,186,233,13,116,235,163,191,174,74,135,46,208,167,233,116,241,163,109,169,115,21,232,202,199,151,58,84,133,94,248,244,221,17,232,190,71,35,179,241,157,238,62,116,7,117,168,26,157,248,104,112,234,133,31,122,205,122,228,237,244,227,163,97,175,194,107,190,63,58,223,85,89,164,73,173,35,126,112,64,184,58,175,101,77,161,143,78,189,79,125,68,223,75,55,29,250,229,244,85,228,155,194,247,209,197,212,71,63,180,51,117,214,15,189,96,223,87,255,50,107,18,253,114,122,81,119,83,223,253,245,189,18,189,246,248,94,122,135,129,239,31,253,123,233,145,95,145,222,57,245,59,57,38,80,191,95,190,210,113,210,101,151,126,167,175,10,189,255,105,189,131,159,194,197,40,225,63,180,240,169,103,15,109,206, 79 + 42,138,116,253,169,227,236,43,93,127,232,223,139,243,194,165,127,47,189,112,233,62,102,252,17,110,189,204,76,71,220,133,239,34,223,91,143,187,225,209,112,234,214,83,95,92,149,111,50,142,9,55,247,132,75,71,252,210,101,212,251,151,151,244,145,120,55,156,250,241,210,113,135,239,201,121,225,135,14,82,163,131,30,46,12,255,161,215,24,232,133,91,239,147,179,195,15,253,107,29,244,234,223,83,55,29,250,247,244,61,244,239,233,123,232,95,39,190,183,151,2,29,241,39,240,93,160,191,78,221,103,238,9,111,162,23,30,253,254,171,227,251,240,59,234,26,205,123,103,58,221,12,35,46,119,180,169,67,168,120,140,168,201,162,98,27,22,9,102,150,152,92,168,235,219,32,72,139,245,189,55,200,82,180,29,197,104,33,144,42,131,77,162,62,139,155,176,41,16,156,60,184,37,20,46,249,177,156,33,176,162,4,180,202,130,204,109,81,22,46,12,89,210,43,85,8,5,229,207,97,16,63,92,32,33,225,0,240,19,49,72,57,6,208,158,12,223,73,218,102,37,88,136,78,169,206, 80 + 24,64,233,145,232,25,162,157,129,192,41,124,71,18,141,47,53,248,79,2,44,101,117,95,12,240,231,184,122,213,113,190,198,240,76,113,200,68,6,143,226,192,146,193,46,191,42,234,227,153,110,36,136,110,42,102,111,57,167,140,54,54,146,185,57,103,220,49,179,178,59,51,19,85,109,152,110,94,147,221,145,36,195,87,236,87,81,48,214,113,235,56,8,105,184,79,228,194,177,154,70,99,109,151,13,12,212,74,225,74,7,6,100,130,120,144,84,57,176,90,227,228,113,95,161,21,112,194,112,179,131,52,37,205,90,178,52,168,223,112,78,94,207,213,83,131,78,29,42,116,67,10,88,37,231,228,90,182,50,152,34,19,9,181,18,1,227,136,164,146,160,8,71,19,90,98,192,82,103,88,94,243,150,122,9,203,13,110,61,197,0,81,148,122,99,161,103,206,145,253,75,128,110,232,148,16,71,71,230,71,128,158,88,57,61,106,37,39,141,149,135,68,172,73,210,52,179,197,81,142,24,117,196,85,89,148,100,81,42,166,204,149,5,234,3,221,194,91,132,10,33,75,154,1,87,36, 81 + 105,82,70,10,225,32,243,130,21,133,144,199,80,8,218,24,94,165,40,162,117,117,129,179,90,166,27,209,18,7,43,19,76,105,137,76,106,9,41,132,156,32,87,34,125,178,20,245,141,84,128,62,163,125,182,9,158,160,105,46,33,108,114,108,44,32,38,217,72,86,71,178,65,160,70,112,196,182,45,178,131,76,50,26,134,99,169,52,4,62,19,220,176,153,191,199,212,33,1,67,141,221,147,222,89,172,21,35,123,180,62,56,209,128,40,145,66,196,248,33,97,227,2,138,30,8,134,231,79,153,159,170,186,153,115,162,200,79,122,208,183,77,38,235,242,18,69,30,20,197,17,73,178,15,237,229,88,5,11,210,109,61,186,99,162,81,42,27,231,204,182,66,176,68,131,26,198,45,207,83,208,125,193,85,133,184,254,230,102,213,245,81,119,187,115,84,64,208,156,115,215,210,93,200,90,150,74,146,4,66,163,161,88,82,112,82,228,147,102,46,50,215,220,65,145,143,182,21,3,21,205,52,195,143,139,52,3,237,25,69,66,161,141,252,254,91,93,192,168,36,53,123,149,3,169,201, 82 + 246,234,137,156,174,136,164,200,22,130,129,190,21,48,152,246,141,68,192,25,163,205,184,163,14,90,200,216,172,220,243,209,130,114,80,212,237,65,161,233,134,150,65,109,168,157,90,113,164,219,16,60,210,225,16,57,148,120,107,121,153,96,214,18,169,109,119,246,148,84,242,4,183,136,60,25,31,164,187,65,205,227,221,73,53,199,207,37,205,193,64,115,80,4,78,117,40,80,29,231,25,170,131,182,82,29,175,167,84,199,191,100,123,163,78,100,141,2,85,158,160,152,159,168,55,148,120,48,197,220,105,167,252,190,74,249,173,19,170,139,121,194,76,167,174,6,129,194,242,18,24,40,145,61,202,1,141,88,39,122,107,65,101,205,247,81,131,116,78,238,124,74,94,233,138,103,65,96,113,64,93,252,210,16,205,226,198,157,230,143,86,46,7,152,52,9,83,154,63,89,131,55,161,103,32,168,137,15,22,17,156,176,22,151,22,63,81,211,171,66,189,209,114,42,111,116,138,205,40,134,86,139,127,38,165,120,109,192,49,229,81,225,231,192,174,200,242,136,4,249,46,59,100,127,43,11, 83 + 247,230,238,41,6,118,234,156,92,205,101,41,188,49,19,220,154,144,43,83,35,186,116,66,101,169,21,255,134,133,114,44,61,130,117,70,50,235,163,24,178,111,37,151,43,18,224,20,17,212,229,88,235,73,199,106,78,82,188,226,67,114,72,19,90,168,107,105,173,241,166,19,35,243,172,19,60,161,153,122,170,78,88,171,19,126,31,161,173,186,150,9,159,11,59,2,197,224,127,138,179,40,51,159,170,74,147,111,197,199,52,75,234,150,90,232,24,145,111,189,49,140,246,42,46,41,63,154,70,222,245,60,221,104,243,163,54,239,141,162,243,149,150,84,102,210,100,219,241,217,10,112,7,77,141,4,43,208,116,24,228,189,76,87,20,173,186,183,113,215,94,26,94,116,193,116,59,110,255,227,174,54,16,228,241,243,29,69,160,196,171,206,134,230,230,146,76,151,215,6,151,232,44,116,95,159,60,186,100,135,68,129,21,148,59,14,18,192,153,72,32,212,192,11,27,217,132,108,58,150,38,133,11,3,225,242,103,54,83,176,29,152,234,86,46,216,17,165,153,241,137,2,142,106,199,161, 84 + 70,41,21,198,119,16,77,150,109,244,105,44,53,50,35,53,110,21,4,157,180,144,94,14,114,49,116,72,17,201,150,71,149,252,63,132,196,255,201,180,9,47,234,103,146,119,121,100,12,26,15,212,53,37,158,172,247,20,25,50,53,17,92,19,103,19,235,199,109,197,183,38,73,176,167,218,43,117,114,141,188,137,136,166,122,208,90,227,1,145,138,177,254,22,60,43,42,214,148,83,196,199,227,17,93,248,32,107,56,164,195,161,238,86,20,58,209,140,18,38,40,31,77,136,122,114,194,90,126,26,36,143,32,241,29,217,252,67,248,161,111,51,91,203,65,204,237,236,177,178,88,49,130,206,102,74,117,61,65,7,140,132,107,66,7,11,107,83,102,193,253,114,232,218,114,104,65,33,191,69,122,97,131,194,218,217,69,135,85,187,189,98,214,41,27,246,15,31,152,71,34,252,167,76,56,32,44,60,66,231,245,155,248,5,154,132,83,208,49,80,72,210,185,233,39,148,54,7,7,22,244,45,136,176,100,74,92,28,231,201,243,72,117,14,157,97,150,162,160,39,115,105,167,91,58,91, 85 + 239,99,43,79,33,192,28,140,49,158,45,249,171,27,107,13,166,201,128,210,77,20,35,176,76,36,202,59,226,62,12,70,21,180,212,217,151,94,35,218,86,20,51,39,200,79,79,237,106,123,170,47,102,185,176,63,59,173,112,52,162,61,233,88,148,250,100,172,17,30,242,77,230,167,174,24,25,203,231,99,209,34,56,55,127,195,129,133,6,209,76,19,89,101,137,112,30,7,57,227,145,52,72,4,232,33,121,99,133,102,18,38,6,45,15,149,38,98,51,39,211,134,255,47,197,134,231,66,138,13,255,147,101,214,255,110,182,14,47,154,134,220,137,20,40,91,140,21,176,21,152,209,244,161,120,176,34,108,221,46,236,109,130,111,72,215,77,116,23,42,236,52,93,1,248,39,130,61,195,226,244,144,77,215,77,67,87,236,206,143,172,104,206,221,87,100,177,168,176,229,36,28,86,44,175,36,14,86,42,30,28,217,149,132,56,76,13,229,168,189,99,226,211,138,142,173,70,167,232,67,80,155,170,77,33,107,252,208,243,133,82,147,116,54,195,217,179,193,254,128,242,132,35,186,50,114, 86 + 111,209,117,89,81,132,93,180,25,85,93,177,162,54,208,54,11,51,71,205,12,53,86,104,105,88,40,189,78,78,35,170,186,155,14,56,98,73,142,68,144,100,208,67,106,36,80,142,32,24,90,107,225,79,119,252,255,171,98,115,136,250,248,59,34,80,144,196,43,35,135,72,144,255,11,203,149,220,20,107,166,10,134,226,56,86,36,103,182,211,8,153,201,136,212,205,80,39,44,142,24,235,5,167,38,186,82,116,157,75,217,2,141,161,247,84,174,75,82,152,148,103,104,68,190,84,180,20,242,9,74,227,40,170,38,218,208,198,103,110,126,181,205,142,251,185,230,254,84,28,144,238,120,132,179,207,177,167,194,196,195,38,123,43,3,194,36,227,13,10,8,108,92,178,52,90,41,189,53,253,10,126,164,159,177,72,246,37,208,57,182,49,163,39,194,33,225,150,254,154,237,143,107,216,49,129,8,19,206,20,33,199,158,202,62,170,211,4,98,148,229,214,134,226,167,88,64,161,3,209,251,109,156,70,11,103,91,165,186,82,54,115,14,53,17,200,14,201,136,240,126,152,63,118,170,66, 87 + 106,207,63,129,101,164,215,219,221,184,55,166,124,176,131,144,137,24,127,154,170,135,172,32,104,218,5,129,231,4,183,21,221,14,0,165,244,6,225,88,50,119,66,200,28,98,197,18,84,38,149,172,154,20,6,188,17,102,47,204,73,44,114,192,60,101,59,146,212,108,89,9,51,103,218,35,233,33,65,154,133,129,93,100,89,150,200,49,165,86,223,71,32,25,20,52,73,81,200,246,36,136,152,102,143,193,94,121,124,210,157,254,185,193,158,90,69,55,196,246,96,145,148,36,100,25,49,30,37,202,136,9,89,70,60,186,148,185,220,123,59,236,29,43,99,89,43,230,31,49,154,22,207,138,28,75,172,231,51,101,17,93,131,40,243,64,37,22,158,21,181,240,95,77,163,20,14,101,143,69,173,250,138,126,0,75,200,134,226,183,62,141,52,101,52,52,150,216,118,43,160,200,148,66,168,164,70,254,131,240,2,253,151,38,202,246,71,22,110,94,195,50,197,164,156,205,25,235,60,205,115,176,153,234,212,208,202,96,117,235,140,240,207,9,241,9,23,68,74,56,67,61,80,29,108,88, 88 + 34,73,166,4,252,89,47,143,168,145,255,16,170,24,146,185,200,22,75,236,72,51,137,114,49,0,8,1,15,201,218,68,17,8,252,108,145,10,194,222,66,209,244,215,240,46,146,35,6,207,9,179,145,181,12,236,198,230,162,70,145,227,130,126,229,194,141,29,241,127,78,164,234,223,60,22,122,237,234,160,200,63,117,235,176,130,168,201,80,61,153,191,194,51,36,222,178,9,115,106,2,13,107,18,53,225,128,70,69,87,165,113,103,143,42,153,148,207,231,198,172,22,222,29,249,48,149,141,78,74,171,158,228,119,202,26,20,171,65,53,191,37,228,223,51,70,56,20,197,3,225,40,235,159,75,220,245,10,181,151,193,61,58,12,132,76,130,145,161,161,99,53,147,22,99,252,67,192,163,33,21,18,125,146,77,61,141,165,141,14,40,81,21,194,159,67,20,194,4,133,74,101,6,44,18,129,195,196,160,94,29,136,166,14,105,4,43,40,98,120,98,170,83,31,94,11,228,135,146,58,225,249,164,230,170,138,97,197,113,64,177,86,4,39,41,255,12,223,170,97,146,36,160,27,40,88, 89 + 64,133,1,101,88,139,213,35,221,144,243,105,200,37,53,37,151,212,27,234,241,105,160,69,156,202,163,80,20,161,17,38,148,228,209,19,244,146,126,143,222,192,244,140,41,229,133,100,38,231,69,230,51,190,114,150,182,212,82,30,245,140,130,152,28,176,43,255,48,231,134,153,162,143,138,230,148,100,80,1,163,223,89,208,18,213,90,147,134,21,24,23,67,171,238,108,0,164,56,206,24,67,132,196,126,41,197,113,228,68,189,4,38,69,224,60,101,39,216,208,44,77,166,155,104,107,72,59,69,150,168,44,105,31,105,102,72,159,92,164,16,132,101,196,249,81,35,10,97,175,82,108,79,13,213,238,167,126,56,234,0,205,149,130,64,62,56,28,144,46,213,51,228,248,192,70,221,42,80,121,118,229,220,138,239,124,176,163,144,179,180,150,13,105,32,75,193,2,236,56,10,202,77,192,170,178,110,124,99,202,73,27,17,112,12,138,209,224,205,136,194,39,138,139,52,205,150,92,240,178,79,118,124,48,182,111,24,41,30,157,7,49,143,106,239,113,138,164,120,161,130,77,203,238,80,152, 90 + 18,63,75,101,27,158,225,36,214,80,216,227,241,128,181,224,157,162,115,162,106,55,147,210,153,112,14,202,151,164,162,29,178,233,217,83,77,219,176,79,115,212,9,170,52,178,225,255,165,195,34,45,254,23,172,18,51,97,242,63,130,228,127,149,113,134,101,201,79,17,63,61,243,255,63,229,207,255,233,12,118,218,226,255,39,62,225,251,103,112,10,237,194,187,53,53,166,1,47,92,10,95,66,139,226,148,248,106,103,42,104,9,41,166,186,163,90,199,37,195,195,229,104,121,80,4,132,166,137,106,110,21,156,131,191,226,232,100,104,240,121,33,152,13,125,112,73,157,247,89,22,206,235,79,238,36,209,192,37,245,105,234,46,85,48,29,136,79,73,80,234,42,117,73,50,141,120,38,121,222,202,64,87,193,21,58,225,154,211,234,209,8,235,40,47,209,109,50,4,199,201,89,117,194,30,11,114,221,174,16,39,207,204,134,220,209,194,68,41,54,21,70,27,135,32,151,80,222,249,98,89,170,36,203,132,126,68,200,218,110,114,76,214,70,187,230,160,201,193,185,96,82,182,74,168,166, 91 + 173,39,24,116,189,227,36,39,56,220,76,121,67,127,35,194,45,131,147,115,132,87,75,104,89,81,135,51,128,28,130,201,115,118,54,18,187,229,91,19,246,91,218,185,173,189,170,42,211,248,176,169,58,244,110,125,8,80,27,81,168,8,54,17,21,117,25,245,93,199,147,97,138,99,91,209,57,226,3,93,104,134,141,53,171,229,185,153,176,47,188,163,26,3,45,52,151,187,86,46,200,102,230,196,62,43,161,143,168,227,50,162,232,32,209,248,72,143,116,209,104,220,209,26,9,202,17,17,41,25,209,17,82,255,234,84,71,112,100,65,196,72,68,183,76,5,234,69,83,103,112,152,210,98,179,55,173,239,233,173,218,83,65,192,216,228,160,32,86,169,163,237,225,188,27,90,155,210,164,197,73,145,1,189,56,229,145,180,174,55,242,114,212,123,83,222,197,110,114,152,36,192,187,193,128,183,20,195,56,130,67,50,162,36,26,205,42,101,202,97,82,40,138,252,145,216,67,184,224,14,172,95,133,29,22,104,58,224,47,230,49,58,88,193,225,149,77,149,11,35,221,185,178,98,189,120, 92 + 105,55,14,243,145,137,161,46,119,9,252,145,108,166,115,109,83,140,198,245,232,22,136,12,237,233,50,76,150,116,197,178,2,73,42,155,68,18,204,154,66,139,172,41,126,144,163,56,212,251,46,145,24,56,87,112,225,196,82,132,38,31,184,32,163,77,165,166,119,195,78,20,77,12,12,43,4,40,208,212,114,67,97,183,41,55,176,187,179,37,33,174,88,92,96,22,191,89,39,136,138,100,29,146,4,199,142,233,148,23,219,118,160,104,149,94,54,170,72,208,66,4,35,239,111,56,172,104,131,157,117,165,176,27,149,66,117,52,226,82,41,72,42,104,107,82,123,68,92,28,19,185,217,163,52,162,128,55,48,162,110,16,233,171,238,162,229,185,38,59,77,215,237,138,89,197,4,79,178,35,22,143,72,229,53,34,45,18,192,99,132,55,179,48,44,87,23,179,153,21,218,93,170,213,15,214,134,218,180,31,144,241,210,33,151,234,155,124,84,122,142,92,109,56,181,170,68,84,108,111,118,142,27,17,160,154,171,178,42,155,78,133,231,17,143,101,91,233,72,185,83,118,18,50,180,63, 93 + 76,166,7,236,16,226,146,48,12,167,227,17,235,179,182,86,144,197,214,168,114,249,223,118,98,35,27,229,156,176,82,96,59,134,187,33,141,142,182,27,136,133,15,1,160,64,60,96,147,216,74,52,62,194,85,141,152,68,33,188,87,41,132,79,218,42,203,32,42,148,110,130,216,218,120,15,161,137,20,134,116,194,151,138,59,236,108,222,40,53,142,45,223,77,169,127,135,113,43,217,159,53,216,17,167,190,193,130,224,68,31,109,172,4,226,254,18,254,151,184,171,84,128,168,110,144,175,76,240,249,232,72,38,169,23,70,35,51,86,91,178,130,118,128,72,142,70,150,94,4,69,180,48,72,195,57,138,87,170,242,103,162,243,49,166,143,49,119,196,196,208,139,112,186,136,90,128,80,78,191,38,82,2,33,45,149,100,204,118,57,56,177,168,178,48,184,88,1,91,80,188,80,195,87,145,16,207,18,229,146,202,224,52,2,88,18,33,154,246,37,185,130,149,45,60,49,207,222,222,77,148,94,24,64,97,121,202,49,233,161,27,116,135,237,161,60,144,108,12,8,200,67,152,72,238,35, 94 + 17,122,90,19,37,17,19,48,196,150,172,146,86,64,127,128,56,177,70,54,214,24,233,132,136,117,9,138,92,193,160,228,18,21,134,204,128,76,88,80,225,51,85,248,232,70,245,133,43,217,70,25,163,141,33,84,36,141,66,152,48,41,53,171,116,179,96,80,200,59,129,55,2,111,169,70,0,169,248,219,247,71,233,60,52,121,70,122,200,19,13,3,159,19,137,9,70,14,30,218,82,239,145,91,97,147,51,193,182,147,57,109,76,169,34,16,8,226,161,67,228,23,25,61,109,7,117,143,24,110,132,144,70,176,150,252,18,245,37,39,35,29,151,81,210,29,153,89,104,229,226,171,65,83,67,45,106,12,188,8,116,17,36,185,208,92,135,132,102,205,84,48,8,141,37,217,64,226,157,193,114,56,103,138,240,27,219,199,209,100,164,103,162,236,174,141,57,33,183,34,81,255,207,78,90,182,114,27,59,155,115,2,53,165,154,9,104,56,116,219,97,210,200,116,157,2,126,68,87,168,5,195,4,234,81,247,8,225,144,179,224,185,35,103,69,87,157,117,128,46,202,76,188,157,220,97, 95 + 190,189,36,190,194,95,204,63,54,198,252,227,199,248,128,76,10,68,181,115,24,88,23,37,3,166,21,195,125,194,154,117,244,130,174,219,196,150,134,237,226,168,162,47,110,44,14,45,142,41,70,232,133,33,40,10,36,106,184,53,73,250,4,245,23,14,43,118,206,72,102,90,50,96,179,224,1,14,207,200,162,157,74,83,112,51,81,146,45,55,55,226,25,226,198,81,55,245,219,183,229,3,3,73,188,118,202,90,197,28,9,106,23,167,164,110,104,138,148,154,153,202,176,205,6,195,116,49,60,38,152,151,146,94,21,47,84,154,140,57,34,36,184,229,4,204,113,239,85,88,234,14,154,43,143,38,253,154,91,53,194,65,132,101,5,147,175,187,32,64,100,61,129,224,154,0,70,17,134,179,27,46,217,102,24,242,14,237,232,4,199,97,181,54,45,165,209,114,14,249,129,231,76,242,49,241,49,155,226,197,154,16,14,56,163,93,15,163,96,198,12,251,43,135,88,175,112,141,164,57,187,37,244,109,26,111,207,16,11,40,103,242,228,136,40,203,173,82,28,230,40,217,158,125,243,118, 96 + 89,214,152,43,48,167,244,57,111,197,62,114,172,46,158,181,121,150,44,81,87,231,122,75,124,129,184,98,54,158,113,24,169,47,0,115,68,89,255,22,151,10,36,211,125,203,208,96,209,145,57,145,162,193,9,117,13,62,229,189,85,76,21,128,8,150,166,197,255,174,156,92,91,25,133,89,130,164,159,57,224,188,83,42,89,245,30,200,147,136,224,141,178,208,47,197,201,218,44,81,21,169,19,37,81,225,21,86,48,188,52,211,52,153,2,196,228,60,63,129,106,146,100,98,81,145,73,180,157,186,31,104,123,46,233,112,174,72,135,255,108,174,149,50,166,207,20,37,163,34,4,68,114,207,220,34,95,198,152,4,177,12,185,74,73,99,66,109,152,56,164,233,217,152,97,244,166,41,89,195,108,162,48,83,168,74,254,213,170,228,127,35,125,8,173,46,225,30,189,254,156,83,109,136,114,201,243,243,212,91,16,214,117,113,21,97,93,179,75,170,189,112,82,170,130,46,76,162,17,43,118,83,205,162,235,18,160,120,235,50,233,4,205,11,200,109,56,162,97,129,160,176,131,3,71,101, 97 + 25,181,120,92,40,184,207,124,174,154,204,234,1,164,79,137,196,165,1,9,157,186,250,236,52,134,174,97,188,38,231,196,92,235,80,241,113,192,9,22,136,250,74,207,0,198,19,138,45,47,4,81,222,236,142,25,122,197,84,73,16,35,216,59,206,67,74,7,57,169,141,11,6,238,17,100,229,125,215,66,233,35,105,107,54,112,42,101,17,130,88,28,21,39,80,38,235,134,211,27,231,70,194,114,67,59,156,93,178,81,37,75,229,65,10,137,133,128,58,22,120,225,229,172,152,227,222,147,94,193,73,13,237,64,153,86,235,43,62,24,247,193,206,5,179,89,118,72,116,140,190,90,28,79,123,163,103,195,68,86,113,50,222,64,51,103,174,60,34,248,51,17,129,13,1,129,192,51,249,100,175,217,114,158,78,195,96,89,37,94,73,122,220,43,32,203,38,93,151,161,48,7,193,247,235,82,16,49,133,215,177,162,156,41,70,10,78,108,105,114,181,207,229,67,34,28,106,56,164,88,130,143,176,81,84,125,40,93,48,16,167,94,200,147,216,17,27,201,65,179,82,233,26,147,74,215, 98 + 76,130,225,78,27,213,68,51,161,63,126,148,59,232,89,92,193,230,152,240,76,139,31,35,138,135,65,194,106,206,27,26,36,27,106,36,66,164,185,16,209,128,16,145,68,106,58,32,24,44,77,228,219,64,72,28,2,243,61,64,131,60,101,10,6,137,77,220,24,173,53,234,66,115,111,168,246,218,233,50,166,139,188,107,10,100,1,205,170,165,88,88,101,215,60,245,234,80,229,35,199,40,5,132,48,146,254,223,188,252,178,126,69,178,196,54,161,237,41,208,140,190,35,129,41,245,66,141,144,118,8,67,210,233,1,21,23,6,128,57,97,159,32,207,167,20,142,173,253,197,1,202,105,48,192,21,69,149,52,68,59,176,37,136,87,167,67,225,170,11,210,133,190,213,200,65,163,211,145,149,66,120,66,170,165,114,133,72,222,128,42,189,22,133,79,246,137,189,128,69,160,86,249,33,184,106,248,33,52,114,66,59,49,48,27,77,24,71,91,97,181,10,173,164,44,50,63,81,243,176,251,98,157,157,145,116,66,114,162,176,69,48,98,148,84,216,40,105,200,91,97,112,202,85,27,7, 99 + 72,75,173,164,124,248,44,34,174,93,17,177,69,173,83,25,97,97,33,40,56,42,139,241,164,236,155,102,68,117,165,200,176,132,76,101,40,87,25,17,23,42,86,7,8,201,29,81,180,61,70,4,36,198,133,116,247,115,97,22,247,211,133,137,226,169,6,16,243,228,30,105,149,107,198,194,217,188,4,101,225,131,86,98,42,51,217,24,0,12,161,242,162,61,170,30,234,186,53,74,31,88,224,219,146,189,13,55,108,108,180,120,89,158,118,161,225,31,116,149,77,190,176,176,51,176,44,6,169,37,48,32,49,1,165,48,16,36,34,38,212,86,94,35,51,244,233,6,164,3,186,225,136,90,21,2,49,18,213,80,1,1,21,18,59,87,181,25,165,252,143,252,148,104,135,128,206,223,128,128,206,150,74,233,127,94,162,147,14,214,46,209,77,71,51,217,214,89,180,100,238,42,157,136,6,200,124,192,37,60,108,182,49,55,162,230,37,40,161,243,145,142,76,72,8,201,250,115,234,40,222,136,226,216,181,209,134,152,215,177,168,241,17,165,27,83,178,172,27,89,211,200,180,103,171,200, 100 + 210,17,193,11,128,60,107,248,39,2,115,12,138,134,36,15,173,116,130,242,211,25,199,76,36,236,83,38,63,176,96,10,195,111,77,55,193,241,76,145,247,176,27,196,199,163,60,24,116,65,144,144,141,195,72,210,38,29,20,139,136,72,207,108,168,10,5,160,64,28,46,17,174,208,72,5,226,176,242,49,234,35,87,173,85,45,119,187,128,8,122,66,170,30,155,104,128,4,41,217,216,114,66,155,204,102,3,80,125,168,26,36,150,222,137,20,101,208,175,216,9,51,82,4,70,153,224,162,21,187,89,37,136,106,72,37,242,147,23,54,18,123,88,160,48,140,89,146,64,115,193,18,162,236,172,143,16,101,146,78,223,198,82,102,248,228,40,99,86,152,158,113,39,169,148,200,156,67,116,197,119,77,203,18,232,94,56,67,74,30,67,3,225,150,234,72,50,25,95,83,77,101,131,122,26,136,197,48,98,137,149,196,20,3,43,3,108,35,98,221,149,46,176,150,51,138,100,193,247,73,132,204,187,80,171,124,75,140,116,240,129,78,149,242,4,89,167,46,85,234,176,228,93,59,213,117, 101 + 205,192,198,136,49,4,18,58,61,115,101,11,157,82,120,170,46,204,148,2,230,148,2,179,64,8,90,51,66,81,88,78,160,174,210,82,21,61,121,235,1,73,132,172,18,176,51,132,88,56,186,98,176,30,80,206,170,6,48,106,29,210,165,5,54,161,130,23,195,2,21,162,76,108,9,35,84,19,77,218,214,3,154,99,75,148,140,18,149,201,76,188,48,129,0,235,87,182,50,65,136,97,171,19,45,133,197,162,14,60,175,97,29,72,193,253,36,93,28,55,215,132,43,216,34,160,89,216,136,121,4,35,8,32,14,169,159,78,232,99,168,26,167,50,117,237,244,45,77,191,109,205,244,28,23,178,162,200,159,17,204,28,209,149,95,50,147,4,50,29,59,60,6,63,214,12,3,101,36,213,81,31,84,220,25,48,83,185,197,9,115,78,200,133,201,25,103,218,231,215,152,230,60,40,113,108,170,133,77,20,207,14,79,81,170,72,19,243,88,216,61,13,104,30,115,68,145,97,216,74,62,166,24,232,56,196,140,237,35,194,126,144,168,134,152,121,9,158,141,92,51,149,92,226,42,166, 102 + 93,205,202,64,72,112,122,247,8,226,89,27,157,222,93,218,173,178,217,193,162,91,17,26,137,167,134,6,6,165,134,64,33,46,187,42,173,219,241,124,160,241,214,160,247,230,170,173,157,163,58,156,136,79,94,31,144,206,68,146,36,115,99,242,97,2,50,59,109,187,16,46,73,167,196,65,18,137,72,93,178,115,197,142,76,208,8,190,163,187,237,7,25,23,105,9,155,81,58,43,105,74,172,89,225,58,129,83,228,45,1,244,19,67,105,155,80,150,140,97,64,68,252,8,78,201,7,234,134,35,74,196,4,38,81,6,189,67,169,230,59,82,193,135,124,134,37,82,4,158,48,227,100,134,225,140,70,147,196,242,72,44,85,88,34,46,71,234,11,132,69,208,245,133,145,208,93,243,253,163,198,60,118,91,67,4,150,223,162,101,21,229,146,133,56,180,196,78,229,51,91,103,182,168,108,225,179,21,165,94,158,42,193,106,248,6,119,45,232,213,243,10,200,86,229,21,209,166,85,174,79,141,144,234,176,7,102,21,11,132,203,240,138,67,41,43,56,143,145,206,177,109,92,42,133,175, 103 + 105,180,2,23,128,71,252,6,193,129,195,142,32,201,113,140,176,144,100,194,145,227,224,64,161,161,233,1,183,148,9,10,138,204,71,102,66,148,145,209,208,73,209,124,156,117,172,42,127,193,168,32,155,13,165,80,17,126,166,88,191,14,164,72,193,223,145,129,112,178,119,32,37,197,79,42,60,112,39,51,163,245,21,37,137,210,87,224,204,201,106,118,157,151,67,144,83,40,58,149,248,22,171,27,160,240,161,159,29,17,13,25,222,182,137,170,128,91,182,147,194,52,12,40,65,135,109,93,183,52,131,202,38,209,140,142,0,210,64,108,50,222,64,49,48,100,37,190,86,221,96,195,37,221,0,214,44,144,32,202,237,65,138,1,115,179,118,10,237,50,164,27,32,16,208,59,106,67,32,180,177,83,104,151,232,0,145,129,29,51,0,54,212,214,86,98,23,190,149,112,11,14,143,56,35,32,198,33,146,22,183,17,36,131,138,64,55,106,109,161,102,107,113,4,106,146,253,64,89,136,55,21,77,167,220,14,130,27,191,214,229,217,49,17,232,179,255,79,14,196,226,10,119,132,79,46, 104 + 88,131,241,104,14,11,77,117,137,130,42,84,182,237,74,235,218,201,22,157,68,104,34,74,61,122,0,123,200,237,194,70,217,82,183,224,2,190,155,225,132,160,98,178,104,18,83,117,24,81,142,116,125,106,11,196,156,179,74,70,186,29,233,230,108,199,187,135,77,83,212,39,37,24,159,72,35,46,21,39,20,235,245,115,79,175,111,51,27,233,135,0,97,58,193,194,25,13,116,224,253,10,69,156,116,135,213,132,65,140,61,72,206,106,201,41,42,243,65,174,55,138,204,51,205,84,209,111,144,125,65,80,164,224,60,179,146,141,102,145,30,255,61,60,50,65,182,73,224,56,27,212,169,198,49,57,186,135,202,12,150,188,186,151,87,162,55,69,52,150,247,109,223,229,13,81,154,148,144,81,80,76,192,51,122,36,136,38,36,72,180,254,42,29,130,102,137,202,76,89,211,113,34,180,81,181,21,112,23,58,4,71,143,90,42,143,82,230,80,82,98,163,3,140,140,102,76,247,84,67,3,81,94,95,146,53,51,62,107,87,136,118,162,237,218,54,20,138,155,62,100,117,68,92,96,105, 105 + 104,45,218,155,192,23,113,105,136,39,19,103,136,228,202,181,85,240,118,139,9,20,28,164,11,103,248,95,109,71,76,97,105,105,36,243,59,152,221,196,17,170,230,237,84,205,41,34,222,145,48,92,147,17,103,3,245,51,18,49,90,226,255,7,109,168,178,250,27,9,103,48,149,112,163,137,88,74,20,4,208,250,162,105,186,172,29,74,134,242,106,116,13,215,156,218,97,137,112,230,117,147,166,173,63,121,169,253,156,184,15,145,197,3,159,82,225,12,145,22,175,236,26,238,8,221,241,109,196,10,1,109,51,209,169,142,114,158,144,230,247,80,161,52,170,82,130,57,114,43,19,35,65,72,193,37,97,3,158,9,202,97,122,249,44,217,139,156,178,36,67,218,39,193,194,94,222,237,140,186,87,171,2,180,136,109,180,49,49,19,106,212,44,45,152,230,160,117,234,159,7,93,169,177,218,178,134,200,16,222,140,132,51,30,56,102,229,10,172,9,192,254,1,125,145,170,90,180,197,14,167,173,35,25,247,195,9,158,56,68,124,113,112,71,114,6,214,71,194,172,76,165,22,43,113,136, 106 + 59,204,6,246,19,184,223,18,109,203,10,23,72,146,106,12,9,184,157,46,96,24,113,204,108,193,42,154,188,11,169,208,12,149,140,92,180,197,165,49,219,110,32,72,199,52,218,80,205,32,186,137,43,96,76,32,118,194,40,127,162,48,35,197,21,39,90,22,138,140,46,128,243,161,157,126,118,226,16,36,155,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 107 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 108 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 109 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 110 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 111 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 112 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 113 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 114 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 115 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 116 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 117 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 118 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 119 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 120 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 121 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 122 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 123 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 124 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 125 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 126 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 127 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 128 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 129 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 130 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 131 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; 132 + 133 + var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){function runWithFS(){var fileData0=[];fileData0.push.apply(fileData0,[67,80,79,68,68,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,70,73,76,0,0,0,0,123,144,0,0,112,111,100,47,112,105,99,111,56,95,98,111,111,116,46,112,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,1,0,0,242,16,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,32,47,47,32,104,116,116,112,58,47,47,119,119,119,46,31,0,255,13,46,99,111,109,10,118,101,114,115,105,111,110,32,56,10,95,95,108,117,97,95,95,10,10,45,45,62,56,6,0,25,159,95,95,103,102,120,95,95,10,48,1,0,108,15,129,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,45,1,137,64,31,102,137,64,112,15,139,1,109,15,1,1,239,95,95,95,109,97,112,10,2,240,15,1,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,50,95,95,115,187,98,48,49,48,99,17,0,161,51,48,53,53,53,50,98,53,54,53,10,0,64,51,53,53,52,5,0,128,49,53,51,53,55,48,53,48,3,0,15,5,0,106,0,169,0,16,56,12,0,115,50,52,48,51,53,50,52,26,0,15,91,2,130,30,49,154,0,15,169,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,238,113,95,95,109,117,115,105,99,114,74,50,32,52,49,2,0,15,12,0,255,255,224,80,49,52,49,10,10,99,70,73,76,0,0,0,0,182,197,12,0,112,111,100,47,103,102,120,49,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,75,0,0,243,22,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,25,0,63,21,1,0,1,0,10,177,67,66,77,80,20,0,1,0,128,0,0,4,0,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,73,47,232,241,4,0,75,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,97,67,80,65,76,0,3,11,0,255,39,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,0,0,0,2,4,6,2,4,8,3,0,101,111,3,5,10,3,5,10,126,0,100,31,9,54,0,37,27,9,192,0,5,3,0,254,33,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,122,1,15,3,0,255,44,255,2,67,66,77,80,164,1,0,0,40,0,0,0,10,0,0,0,8,68,3,24,15,44,0,20,63,9,7,15,39,0,17,95,10,7,7,7,14,41,0,17,51,11,7,13,10,0,66,7,7,7,7,5,0,20,0,5,0,22,7,25,0,37,0,12,39,0,0,3,0,5,4,0,4,16,0,0,10,0,1,3,0,23,0,79,0,14,40,0,3,99,0,9,40,0,5,7,0,10,80,0,1,18,0,12,40,0,6,165,0,9,159,0,31,7,180,4,54,57,79,72,67,180,4,91,231,39,0,231,86,180,4,15,1,0,29,240,3,28,0,73,109,24,69,0,122,44,160,72,50,52,54,53,173,177,183,100,14,240,8,0,77,255,132,0,255,255,39,0,226,50,41,173,255,174,75,176,255,136,188,255,214,197,48,0,32,48,102,144,0,177,131,72,171,82,54,63,65,65,180,182,188,48,0,49,42,255,163,79,0,96,231,86,41,162,255,132,48,0,245,7,175,255,217,177,0,0,0,32,51,123,140,28,60,0,131,49,171,100,54,80,80,80,120,0,35,255,155,9,0,97,63,155,255,132,112,169,192,0,0,75,0,255,0,28,24,87,135,37,77,0,147,60,0,0,0,69,69,69,180,0,2,98,146,133,174,255,105,154,48,0,48,55,67,91,19,0,143,135,81,0,0,0,86,70,59,48,0,2,53,131,118,156,12,0,53,37,55,77,12,0,63,101,91,82,32,1,14,53,43,55,66,12,0,63,79,72,67,48,0,15,37,62,83,12,0,63,95,87,79,48,0,14,79,29,43,83,0,1,0,255,4,48,255,0,255,180,4,158,20,48,0,0,128,0,0,0,96,180,4,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,26,0,28,48,83,36,0,0,0,4,4,0,9,28,48,241,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,72,48,33,0,1,72,48,0,76,48,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,72,15,32,170,78,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,151,67,66,77,80,84,0,0,0,8,4,0,4,1,0,20,8,1,0,36,2,2,8,0,36,2,2,8,0,42,2,2,8,0,8,40,0,3,1,0,15,92,0,18,36,15,15,8,0,36,15,15,8,0,42,15,15,8,0,8,40,0,15,92,0,25,6,147,0,3,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,33,40,15,15,186,0,4,176,0,19,8,15,0,36,8,8,208,0,12,92,0,95,100,0,0,0,10,92,0,12,6,193,0,3,4,0,4,10,0,4,6,0,2,10,0,8,233,0,3,221,0,15,108,0,40,3,184,0,5,10,0,4,6,0,2,10,0,8,249,0,47,15,15,216,0,47,4,196,0,15,10,0,17,15,216,0,45,4,196,0,15,10,0,17,15,216,0,53,15,20,0,8,15,216,0,62,15,20,0,30,0,108,0,95,68,1,0,0,38,108,0,1,15,1,0,33,31,2,129,2,0,3,44,2,5,4,0,85,8,2,2,15,15,39,0,18,2,135,3,1,5,1,5,162,0,0,165,0,16,2,93,2,5,171,3,7,249,2,5,72,0,13,38,0,1,76,0,3,43,0,5,188,2,43,15,8,114,0,7,83,2,10,38,0,8,190,0,6,118,0,31,2,251,0,8,15,76,1,98,2,231,0,39,2,8,125,5,0,222,0,2,139,4,35,15,15,67,1,5,90,2,5,242,4,1,42,1,6,223,3,2,38,0,5,72,0,12,38,0,1,76,0,3,43,0,5,123,1,43,2,8,114,0,7,51,3,10,38,0,8,190,0,40,15,15,75,4,15,76,1,21,95,36,0,0,0,2,76,1,0,244,1,0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15,44,0,23,8,48,0,5,44,0,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,0,6,9,34,6,7,1,0,33,13,6,1,0,0,8,0,33,5,5,8,0,129,5,5,5,5,6,7,13,5,1,0,8,32,0,2,8,0,2,1,0,31,6,92,0,10,3,37,0,18,7,52,0,8,8,0,33,5,5,8,0,1,100,0,34,13,7,100,0,6,32,0,2,1,0,31,6,184,0,26,5,168,0,3,184,0,5,200,0,15,184,0,56,5,168,0,3,184,0,5,200,0,15,184,0,23,31,5,1,0,44,0,92,0,19,44,84,0,31,3,20,1,4,19,1,236,0,18,1,1,0,1,144,0,32,20,32,68,2,60,0,0,32,44,2,255,1,0,5,1,2,1,13,6,2,4,9,3,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,242,4,72,34,19,4,4,0,9,28,32,255,0,5,6,7,2,4,9,10,1,13,14,15,3,11,12,8,44,0,18,67,3,11,8,2,160,34,19,35,164,32,28,5,168,32,81,0,0,6,6,0,164,32,34,0,6,131,0,19,45,39,0,12,43,0,11,174,0,17,2,2,0,31,0,232,41,12,7,106,0,0,99,0,1,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,83,164,0,0,0,12,4,0,8,92,0,31,11,1,0,124,0,172,0,19,76,164,0,27,7,172,0,3,35,35,31,5,8,0,29,15,84,0,9,2,183,34,47,6,5,8,0,29,15,168,0,12,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,16,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,14,18,5,2,0,5,152,0,15,16,0,20,15,168,0,10,18,5,2,0,5,152,0,15,16,0,20,15,80,1,11,1,53,1,3,138,0,31,13,168,36,6,4,32,0,4,48,0,15,80,1,11,1,53,1,3,138,0,31,6,84,0,6,4,32,0,4,48,0,15,144,4,10,65,13,13,0,13,6,0,32,0,13,6,0,15,44,0,10,0,136,4,96,11,7,6,6,11,11,151,4,30,0,172,0,15,74,5,17,95,10,10,10,10,0,104,5,5,15,84,0,70,98,20,64,0,0,128,0,4,0,8,84,0,79,1,0,0,1,4,0,102,15,127,0,111,31,1,127,0,236,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,196,68,19,51,0,0,14,7,0,19,14,7,0,10,16,0,5,32,0,15,32,69,32,5,24,0,36,8,8,58,106,9,16,0,5,32,0,15,92,0,33,42,14,0,168,0,4,185,0,5,16,0,31,0,92,0,39,42,8,0,168,0,4,185,0,5,16,0,15,92,0,40,4,1,0,34,7,7,7,0,2,13,66,18,7,12,0,2,20,0,47,0,7,92,0,44,4,66,0,17,7,82,0,47,7,7,92,0,59,3,187,0,8,93,0,47,7,7,92,0,49,1,187,104,1,172,0,8,4,0,3,20,0,15,184,0,46,6,165,0,6,8,0,2,114,0,15,92,0,45,40,7,0,89,0,4,110,1,3,182,0,15,92,0,48,22,7,2,0,3,1,0,7,19,0,9,120,1,15,132,2,36,6,99,1,5,14,1,14,112,1,15,232,113,34,30,8,242,113,15,16,113,68,31,8,242,113,1,15,16,113,67,36,2,8,157,111,15,20,0,18,15,216,0,42,36,15,8,189,110,15,20,0,18,15,80,116,34,25,2,175,1,5,95,116,11,32,117,15,80,116,35,25,15,159,1,5,95,116,11,32,117,15,92,0,29,4,144,111,7,2,0,22,2,69,2,7,16,0,11,117,112,15,92,0,17,4,11,116,7,2,0,22,15,53,2,7,16,0,11,50,116,15,120,118,21,2,234,112,4,46,114,15,8,0,3,12,57,2,15,120,118,21,2,95,118,6,12,0,15,8,0,1,12,41,2,15,48,119,22,9,32,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,32,25,8,32,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,31,4,113,1,6,8,0,8,248,2,42,2,2,8,0,15,184,0,27,4,113,1,6,8,0,8,248,2,42,15,15,8,0,15,60,3,28,21,8,130,120,5,49,2,6,8,0,4,24,0,11,164,120,15,92,0,22,5,130,120,5,49,2,6,8,0,4,24,0,11,164,120,15,160,120,28,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,112,79,15,14,7,2,19,6,68,113,7,82,7,19,7,208,79,4,212,79,15,1,0,28,8,60,0,8,84,0,8,108,0,12,28,80,82,1,0,0,20,0,4,0,15,232,9,15,41,7,6,111,0,9,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,56,83,7,48,5,0,0,84,78,31,36,208,77,1,15,188,1,17,23,6,4,0,41,7,7,15,0,15,204,1,3,15,220,1,1,15,249,0,20,15,39,0,46,31,6,144,0,255,255,255,154,15,108,0,53,15,164,4,15,15,100,88,22,98,56,19,0,0,70,0,4,0,47,8,0,1,0,62,1,120,121,1,88,88,15,8,0,3,2,229,14,47,6,6,38,0,7,14,112,5,15,137,0,35,15,70,0,123,31,6,57,7,48,15,70,0,34,15,114,8,140,15,24,1,119,15,48,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,53,15,164,1,255,6,15,70,0,49,15,82,18,53,31,0,212,148,88,6,97,144,9,156,29,9,160,145,8,9,0,15,236,28,26,5,167,144,9,156,29,9,144,145,8,9,0,14,164,29,15,184,0,22,14,8,0,14,208,0,15,184,0,37,14,8,0,14,208,0,15,184,0,31,10,8,0,14,76,150,15,184,0,41,10,8,0,14,76,150,12,184,0,16,141,72,108,3,4,0,15,104,21,42,22,1,10,0,38,7,1,11,0,38,7,1,11,0,38,7,1,11,0,37,7,1,33,0,5,34,0,35,1,7,137,40,23,69,211,37,31,8,103,0,1,2,99,0,2,4,0,17,1,42,0,19,1,14,0,6,127,0,0,6,0,15,226,0,24,38,1,0,170,0,20,1,149,0,1,11,0,42,7,1,11,0,51,1,1,7,193,0,37,1,7,11,0,2,213,0,2,11,0,2,34,0,29,1,248,0,63,0,1,1,149,0,13,15,160,0,41,14,138,0,15,149,0,28,83,245,0,0,0,15,4,0,15,116,23,60,6,30,2,11,34,2,3,15,0,6,222,0,9,213,0,9,110,1,42,0,0,114,1,27,0,225,0,12,229,0,12,233,0,6,237,0,12,158,0,14,253,0,15,81,144,89,31,0,253,0,111,14,106,108,12,126,146,1,141,111,3,167,109,30,13,8,0,4,32,0,7,118,146,15,84,0,15,34,6,6,154,109,82,8,8,8,7,6,8,0,23,8,8,0,4,32,0,15,84,0,34,82,9,9,9,7,6,8,0,23,9,8,0,15,84,0,42,82,10,10,10,7,6,8,0,23,10,8,0,15,84,0,42,82,11,11,11,7,6,8,0,23,11,8,0,15,84,0,42,82,12,12,12,7,6,8,0,23,12,8,0,15,84,0,42,82,14,14,14,7,6,8,0,23,14,8,0,14,84,0,15,248,1,66,19,55,235,115,15,84,0,3,1,29,0,51,1,1,13,226,2,0,5,0,1,20,0,15,63,0,25,10,7,10,10,63,0,15,210,0,5,23,0,217,4,34,1,1,97,3,23,1,206,48,1,8,0,15,114,3,0,15,84,0,97,6,91,0,39,1,0,115,49,2,92,0,1,16,0,14,168,5,15,84,0,103,3,67,0,15,8,0,6,47,0,0,84,0,81,15,232,46,27,9,1,0,14,17,45,15,92,0,37,42,7,7,145,46,8,11,0,14,102,0,15,48,46,31,42,7,0,200,45,4,84,47,31,7,180,48,53,5,107,0,3,3,48,3,8,0,31,0,180,48,50,7,149,46,7,156,46,15,160,47,49,13,121,1,15,92,0,49,5,11,1,9,2,0,14,127,14,15,132,2,40,42,7,7,4,0,14,92,0,15,128,50,47,6,32,2,14,232,2,15,40,2,40,11,8,0,15,112,1,48,27,7,43,3,7,212,1,15,92,0,56,31,0,132,2,64,11,126,50,6,200,0,31,0,184,0,53,8,80,4,15,60,3,63,25,7,40,2,15,112,1,66,14,8,0,11,92,0,83,101,0,0,0,9,4,0,15,60,3,13,20,6,159,123,0,205,157,2,146,17,45,13,6,9,0,4,27,0,3,46,0,3,213,122,15,109,0,21,5,178,52,0,86,158,2,160,3,45,13,7,9,0,4,27,0,3,46,0,5,9,0,4,118,0,15,218,0,41,19,6,191,0,13,9,0,15,218,0,56,4,182,0,13,9,0,15,218,0,74,5,191,0,5,180,1,15,218,0,61,0,2,11,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,18,14,1,0,15,218,0,50,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,59,15,15,44,129,235,15,28,1,5,28,7,1,0,11,31,5,15,16,0,205,15,56,2,13,15,43,1,233,15,46,4,29,21,1,203,12,53,13,7,13,13,20,11,18,0,15,231,12,3,15,41,7,1,15,18,3,76,15,109,0,19,46,7,0,126,11,25,7,246,59,11,99,8,14,47,10,15,109,0,21,7,36,10,15,9,0,4,6,255,4,8,238,25,9,138,2,15,109,0,19,14,242,11,14,11,61,14,18,0,13,54,0,15,218,0,22,8,109,60,26,7,9,0,4,209,0,9,89,1,14,74,1,15,180,1,96,162,148,0,2,0,160,0,0,0,205,0,127,166,4,28,0,53,105,102,102,4,0,79,8,4,2,255,4,0,255,255,83,8,116,2,8,124,2,63,103,102,102,4,0,255,255,84,12,132,2,14,124,2,15,132,2,255,255,85,15,124,2,255,255,103,8,132,2,15,128,2,255,255,255,255,255,174,63,77,0,255,128,2,255,255,104,34,0,155,187,250,63,188,204,255,128,2,255,255,96,42,39,231,63,253,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,0,59,210,15,124,1,165,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,80,57,255,246,15,128,2,105,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,51,31,103,124,82,255,255,46,78,105,102,102,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,3,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,0,1,0,3,14,156,2,15,4,0,255,255,69,15,124,2,0,15,36,20,255,255,96,15,124,2,255,255,103,12,132,2,14,124,2,15,156,122,255,255,255,255,255,255,255,255,31,63,77,0,255,128,2,255,255,104,191,0,155,255,255,232,241,255,255,188,204,255,128,2,255,255,96,34,39,231,124,2,4,4,0,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,172,1,214,53,167,171,178,4,0,15,16,0,1,8,20,0,14,16,0,15,80,0,15,14,36,0,15,80,0,6,14,64,0,15,128,2,100,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,15,44,4,225,8,248,1,8,16,2,14,12,0,15,48,0,6,15,32,0,34,14,48,0,15,128,2,127,14,216,4,15,128,2,43,15,76,5,8,15,128,2,234,15,144,4,0,15,48,2,38,14,64,2,15,128,2,31,14,192,2,15,0,5,103,14,28,0,15,0,5,51,14,72,0,15,0,5,235,14,20,0,15,0,5,42,15,128,2,194,15,20,10,16,15,252,9,17,15,0,5,254,12,16,0,15,160,9,16,15,80,5,38,15,80,0,8,15,128,2,65,15,156,162,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,54,31,8,28,190,255,255,110,0,60,0,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,248,8,68,58,15,16,0,17,8,20,0,8,32,0,15,228,0,0,15,80,0,34,15,84,0,25,4,12,0,15,8,0,9,14,60,0,14,32,0,15,80,0,4,15,156,0,9,15,128,2,255,59,15,8,0,57,15,240,1,0,15,20,0,10,12,32,0,14,48,0,15,80,0,6,15,128,2,21,15,240,0,69,15,0,5,255,59,15,176,4,13,15,240,1,41,14,100,2,15,128,2,11,15,100,4,0,15,160,0,13,15,64,0,29,15,128,2,49,15,0,5,255,187,15,8,5,37,15,64,0,0,15,0,5,255,163,14,120,1,15,16,9,14,15,128,2,34,15,112,10,0,15,80,10,34,15,80,2,0,14,0,5,15,128,2,20,14,164,0,15,16,10,10,14,4,10,15,0,20,255,255,255,255,255,255,255,255,196,8,8,0,12,180,0,15,48,20,24,15,128,2,255,255,24,15,8,0,0,15,128,14,30,15,24,0,0,15,0,5,255,255,28,15,224,4,0,15,4,22,9,15,64,0,1,15,0,5,255,255,52,14,100,2,14,124,2,15,16,0,20,15,0,30,255,255,52,31,54,0,10,23,15,128,2,255,255,36,15,4,0,64,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,43,53,143,147,154,4,0,15,16,0,1,8,20,0,15,16,0,5,15,80,0,8,15,36,0,10,14,128,0,15,16,0,55,15,112,0,21,15,156,0,1,12,8,0,15,48,0,4,15,32,0,29,15,128,2,255,7,8,8,0,15,12,0,0,15,48,0,13,15,32,0,34,15,240,1,0,15,144,0,13,15,32,0,34,14,112,0,14,8,2,15,144,0,4,15,240,0,50,14,120,0,15,0,5,255,12,15,128,2,29,15,64,5,4,15,128,2,26,15,192,4,17,15,124,5,0,15,128,2,38,14,156,5,15,128,2,46,15,0,5,255,47,14,208,1,15,0,5,187,15,168,4,25,12,16,3,15,240,0,52,15,128,2,255,19,15,0,10,8,14,64,4,15,0,10,52,15,128,2,32,15,48,10,54,15,52,2,4,15,32,6,1,15,32,0,25,15,0,5,255,14,15,0,20,255,255,255,255,255,255,255,113,31,103,124,82,255,255,46,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,2,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,156,2,8,15,4,0,255,255,83,15,124,2,5,63,207,195,197,4,0,255,255,76,143,224,210,212,255,242,227,229,255,160,22,1,127,140,134,135,255,173,164,166,128,2,255,255,76,0,124,2,4,4,0,8,28,30,113,75,75,74,255,107,104,104,132,2,14,160,12,15,4,0,255,255,61,49,196,184,186,128,2,53,189,177,181,144,7,0,128,2,0,4,0,14,124,2,15,4,0,255,255,69,127,174,156,166,255,138,129,134,128,2,255,255,255,49,63,77,0,255,128,2,255,255,104,34,0,155,200,82,63,188,204,255,128,2,255,255,96,42,39,231,208,173,63,168,119,255,0,5,255,255,96,68,50,226,0,255,140,251,14,124,2,15,128,2,255,216,12,92,178,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,132,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,73,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,31,8,28,190,255,255,38,15,128,2,57,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0]);fileData0.push.apply(fileData0,[48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,56,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,49,93,85,88,4,0,0,132,2,15,128,82,255,255,95,4,124,2,0,4,0,0,120,2,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,12,128,2,63,75,65,68,124,2,255,255,92,9,132,2,111,65,68,255,75,56,63,4,0,255,255,52,15,124,2,25,9,132,2,47,56,63,4,0,255,255,56,14,124,2,15,132,2,19,15,4,0,255,255,55,15,116,2,21,208,67,66,77,80,244,0,0,0,32,0,0,0,7,132,2,7,28,0,31,5,1,0,49,31,13,1,0,4,3,31,0,31,6,55,0,5,3,8,0,34,7,6,1,0,27,13,8,0,15,155,0,49,0,252,0,19,84,244,0,27,8,252,0,115,0,0,6,6,6,7,6,9,0,3,18,0,4,26,0,15,88,1,113,15,1,0,44,4,88,1,13,8,0,15,183,1,12,31,13,88,1,46,15,96,1,1,15,88,1,27,19,69,84,1,12,88,1,0,73,0,0,196,0,15,173,1,0,1,23,0,5,105,0,15,77,0,17,9,88,0,4,75,0,0,2,0,3,3,0,3,14,0,6,84,0,15,77,0,22,21,6,86,0,2,63,0,4,83,0,15,77,0,33,2,223,0,25,6,77,0,3,91,0,47,0,0,154,0,35,27,6,154,0,31,6,154,0,32,4,74,0,1,34,0,36,6,0,150,0,28,13,65,3,14,129,1,15,1,0,40,0,77,0,83,101,0,0,0,9,4,0,15,77,0,7,20,7,8,0,36,7,7,8,0,40,7,7,8,0,4,26,0,20,7,44,0,4,42,0,15,109,0,30,5,57,0,15,9,0,6,1,117,0,22,7,106,0,7,18,0,15,109,0,27,19,7,2,0,12,232,0,15,18,0,13,11,54,0,15,218,0,22,40,0,7,66,0,9,9,0,4,209,0,9,89,1,14,74,1,15,180,1,33,12,10,0,4,45,1,22,7,118,0,3,100,0,4,85,2,15,180,1,38,10,69,0,9,162,1,15,32,0,1,31,7,109,0,32,14,253,1,15,9,0,5,15,33,2,48,14,77,1,15,10,0,23,11,218,0,147,148,0,2,0,160,0,0,0,205,227,6,7,31,0,31,255,4,0,255,255,119,14,203,20,15,4,0,255,255,69,15,124,2,255,255,107,14,132,2,14,124,2,15,132,2,255,255,86,15,128,2,255,255,255,255,255,179,63,77,0,255,128,2,255,255,104,34,0,155,127,179,63,188,204,255,128,2,255,255,96,42,39,231,3,182,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,12,143,186,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,124,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,56,57,255,255,47,15,64,0,49,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,157,14,60,2,15,128,2,255,255,89,15,124,2,44,15,128,2,45,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,47,15,128,82,255,255,68,15,192,107,32,15,124,2,255,255,108,14,128,2,15,124,2,255,255,40,15,128,2,37,15,124,2,255,255,108,14,128,2,15,124,2,255,255,32,15,128,2,45,15,124,2,255,255,108,14,128,2,15,124,2,255,255,28,15,132,2,53,15,124,2,255,255,108,14,132,2,15,124,2,255,255,12,15,4,0,255,255,188,255,3,67,66,77,80,20,6,0,0,48,0,0,0,32,0,0,0,8,0,1,0,89,31,6,1,0,24,15,47,0,28,47,6,6,47,0,17,79,7,7,7,7,24,0,5,31,7,48,0,23,46,7,7,49,0,15,119,0,12,31,5,48,0,27,63,5,5,5,48,0,25,16,5,1,0,15,144,0,4,15,192,0,48,17,13,47,0,63,13,6,6,60,1,14,2,13,0,18,13,1,0,14,87,1,12,124,0,18,7,26,1,20,6,47,0,30,5,49,0,9,12,1,0,47,0,6,25,1,2,13,0,14,48,0,1,83,0,14,73,1,13,75,0,47,7,7,96,0,23,5,183,0,15,192,0,2,6,123,0,4,192,0,5,135,0,9,60,1,10,73,1,8,87,1,5,35,2,4,60,1,2,34,0,9,73,1,8,27,0,6,231,0,7,47,0,39,6,6,47,0,5,87,1,14,243,1,15,64,2,4,15,243,1,24,13,160,2,9,183,0,15,0,3,17,14,47,0,15,160,2,68,14,48,0,14,173,0,15,49,0,0,15,173,0,22,30,6,129,4,15,225,4,65,15,158,5,79,15,28,6,255,255,79,16,14,1,0,15,28,6,23,0,46,0,63,5,14,14,28,6,22,0,47,0,0,48,0,31,6,28,6,20,0,47,0,10,48,0,14,28,6,15,96,0,0,15,28,6,22,4,192,0,15,28,6,22,1,32,1,15,28,6,255,255,255,255,232,10,197,4,2,42,6,31,6,56,12,21,1,104,5,47,14,14,56,12,22,2,201,5,31,14,56,12,22,9,42,6,14,56,12,15,96,0,5,15,56,12,22,8,192,0,15,56,12,18,7,42,6,15,28,6,255,255,255,138,14,197,4,15,48,0,10,46,14,14,49,0,15,155,0,9,2,94,10,15,48,0,25,8,239,10,15,48,0,16,1,220,3,15,144,0,4,15,192,0,48,10,239,10,15,84,18,255,255,255,255,255,255,43,15,28,6,255,69,10,171,19,15,28,6,14,4,252,7,14,28,6,15,92,8,22,14,243,1,14,188,8,15,111,5,0,15,28,9,23,14,111,5,15,188,8,68,31,6,28,6,255,255,255,107,9,199,3,15,28,6,15,9,248,3,15,28,6,16,12,9,18,15,28,6,13,0,135,4,7,48,0,15,28,6,11,15,96,0,23,5,51,1,14,192,0,15,28,6,12,8,184,4,15,56,12,255,255,255,255,255,153,4,226,5,15,96,0,20,5,19,6,15,56,12,20,5,163,6,15,56,12,20,5,91,11,15,28,6,20,6,3,7,15,28,6,19,14,139,11,14,28,6,14,71,20,15,28,6,255,255,219,14,31,3,14,28,6,14,48,0,15,196,42,255,255,255,255,220,83,69,0,0,0,7,4,0,15,28,6,1,86,6,9,9,9,6,7,0,2,153,0,0,176,1,3,14,0,15,77,0,27,3,63,0,72,5,5,5,6,14,0,31,6,77,0,33,4,22,0,241,2,9,7,15,0,0,0,10,7,7,7,14,0,0,0,11,7,13,22,0,31,12,231,0,28,0,239,1,6,7,0,15,231,0,44,70,12,12,12,6,7,0,15,77,0,43,35,13,13,7,0,63,13,13,13,7,0,2,15,52,1,27,18,7,6,0,18,7,6,0,8,14,0,4,28,0,15,77,0,30,4,64,0,3,79,0,47,7,7,77,0,33,1,145,4,15,7,0,8,31,0,231,0,35,18,7,6,0,46,7,7,175,0,15,206,1,22,70,10,10,10,6,7,0,15,2,3,46,3,7,0,6,64,4,11,7,0,15,77,0,16,34,8,8,3,0,83,8,8,8,7,8,1,0,2,15,0,1,29,0,23,8,30,3,15,129,1,21,33,11,11,5,0,66,11,11,11,0,4,0,2,18,0,17,0,5,0,5,7,0,15,77,0,16,18,10,6,0,33,10,10,5,0,65,10,7,10,10,8,0,37,10,0,7,0,5,37,0,15,77,0,14,49,9,9,9,7,0,33,1,9,13,0,49,1,9,9,20,0,65,9,9,0,9,14,0,4,1,0,15,77,0,18,32,4,4,40,0,85,2,2,2,7,2,7,0,85,8,8,8,15,8,7,0,16,2,1,0,15,154,0,19,17,8,16,0,85,12,12,8,12,12,7,0,3,129,1,10,21,0,15,52,1,18,5,159,2,22,7,7,0,17,6,21,0,2,15,2,2,6,0,15,29,5,29,1,140,0,40,12,8,154,0,1,14,0,3,7,0,15,52,1,23,0,252,7,0,135,3,50,8,8,14,7,0,22,8,7,0,30,0,156,3,15,129,1,25,85,14,14,14,15,14,7,0,15,129,1,24,98,15,15,15,0,0,15,7,0,3,7,15,1,9,0,32,0,15,252,5,1,223,0,3,7,0,15,52,1,24,7,93,3,15,79,3,44,102,0,6,8,8,8,6,7,0,15,54,4,43,33,1,1,3,0,32,8,8,3,0,17,1,154,0,1,15,0,32,8,1,29,0,34,8,1,37,0,4,238,13,82,1,0,0,16,0,4,0,9,77,0,25,32,1,0,71,0,32,32,7,1,0,72,32,32,32,7,31,0,31,7,16,0,159,11,208,0,12,240,0,0,28,1,38,120,0,128,4,8,28,1,10,9,1,2,81,0,15,10,0,52,5,1,0,0,128,0,19,84,120,0,27,8,128,0,1,161,0,0,8,0,38,7,7,8,0,5,169,1,1,236,0,7,15,0,26,7,44,0,63,32,32,32,92,0,9,12,93,0,20,32,8,0,11,64,1,3,34,0,27,32,91,0,31,0,92,0,10,3,93,0,19,32,85,0,35,32,7,8,0,21,32,117,0,3,10,0,0,24,0,19,7,8,0,36,32,32,56,0,15,184,0,14,26,32,85,0,8,152,0,9,216,0,9,99,0,31,32,184,0,4,15,93,0,23,15,91,0,5,47,0,32,184,0,16,35,0,0,62,0,2,99,1,4,115,1,5,26,2,8,12,0,2,45,0,39,7,32,55,0,15,92,0,12,8,93,0,6,227,2,42,7,7,4,0,7,60,2,8,53,0,15,92,0,13,5,93,1,3,84,0,42,0,32,80,0,35,32,7,140,2,37,7,7,39,0,8,201,4,15,96,3,5,49,0,0,16,1,0,0,9,0,2,231,8,16,16,10,0,1,110,17,15,10,0,16,6,50,0,1,38,14,5,20,0,21,16,90,0,15,128,0,14,19,0,38,0,69,0,0,16,7,58,0,63,6,15,15,10,0,19,6,50,0,38,7,7,20,0,21,16,90,0,15,0,1,15,0,39,0,4,9,0,6,58,0,15,10,0,50,3,90,0,15,0,1,22,7,206,0,15,10,0,13,20,7,10,0,5,246,0,20,7,119,0,13,1,1,15,0,2,32,10,10,0,20,7,10,0,20,7,10,0,20,7,10,0,5,246,1,35,7,7,129,0,17,16,155,17,8,1,2,15,128,0,139,10,128,1,6,88,1,21,7,88,2,3,10,0,24,7,10,0,20,6,10,0,4,148,1,5,117,0,1,51,0,14,128,1,15,128,2,19,5,57,0,31,7,10,0,1,15,108,2,1,14,30,0,15,128,2,39,7,206,0,36,14,14,88,2,15,10,0,3,15,128,3,21,15,128,4,110,15,128,0,244,16,36,231,11,3,4,0,15,106,24,6,15,44,0,32,16,245,242,11,3,4,0,15,194,24,14,5,190,7,2,14,0,1,170,0,5,53,7,17,6,30,0,0,18,0,1,42,0,53,6,32,32,30,7,67,32,7,7,13,4,8,2,14,0,0,15,0,47,7,32,15,0,3,3,82,20,7,30,0,1,61,10,15,15,0,32,3,16,0,31,32,192,0,2,0,253,0,94,19,1,0,0,17,253,0,15,1,0,51,26,17,1,0,58,0,17,7,1,0,116,17,17,7,7,13,13,7,2,0,2,17,0,7,34,0,16,13,17,0,7,33,0,17,13,17,0,15,68,0,0,17,7,48,1,2,69,0,14,34,0,13,136,0,31,0,190,20,50,15,1,0,14,15,189,8,29,1,146,18,47,5,16,10,0,24,2,40,2,10,20,0,14,189,3,15,128,0,51,6,108,0,14,118,0,14,61,4,15,128,0,53,15,118,0,7,15,189,4,63,15,88,1,11,7,118,0,15,61,5,68,15,118,0,7,15,189,5,83,15,118,0,7,15,128,0,89,15,61,7,255,46,4,69,1,15,128,0,91,11,60,3,31,0,128,0,83,15,40,4,6,15,0,1,74,15,40,4,7,15,128,0,73,14,10,5,15,0,1,81,15,148,5,21,11,148,0,15,128,2,44,15,10,6,27,15,128,1,0,15,128,6,64,15,138,7,26,13,128,0,15,77,8,7,5,186,12,23,16,44,13,19,16,30,14,4,14,0,21,16,42,0,0,77,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,0,196,23,1,2,0,0,8,0,2,213,23,0,3,0,12,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,255,255,37,15,63,3,71,7,124,4,15,90,0,62,1,55,6,15,180,0,69,15,90,0,68,47,14,14,90,0,72,14,31,6,15,28,2,58,15,1,0,255,255,255,194,31,13,1,0,62,47,0,0,126,9,255,255,255,131,31,0,126,9,69,47,14,0,180,0,156,14,233,14,15,126,9,255,255,255,255,255,216,0,28,1,1,4,0,17,0,85,51,1,12,0,9,24,0,34,13,0,28,0,7,48,0,54,0,0,5,28,0,5,40,0,28,13,90,0,9,2,0,0,16,0,7,114,0,7,32,0,38,0,13,48,0,53,0,5,0,28,0,4,27,0,8,126,0,14,180,0,4,136,0,5,114,0,3,176,0,13,180,0,0,90,0,23,13,90,0,3,4,0,12,180,0,8,62,0,6,122,0,47,13,0,180,0,5,31,0,180,0,21,39,0,0,100,1,4,72,1,4,180,0,6,128,1,8,48,0,0,94,48,6,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,13,32,10,2,148,58,31,5,1,0,1,18,13,6,0,4,54,5,2,6,0,15,167,40,17,2,195,13,15,184,28,2,3,179,69,7,77,0,147,20,50,1,0,144,0,0,0,136,210,67,4,69,0,113,59,51,73,255,64,49,62,4,0,63,0,0,2,4,0,28,31,0,16,0,255,141,15,4,0,65,81,0,255,80,49,58,4,0,8,60,2,14,64,2,15,36,2,22,15,84,2,255,221,6,64,2,0,4,0,15,64,2,8,15,86,117,255,249,15,64,2,25,30,1,56,2,15,4,0,255,247,31,1,64,2,12,29,0,64,2,63,255,173,41,4,0,86,63,83,43,29,4,0,34,15,108,0,89,14,124,0,15,108,0,43,15,152,0,0,15,4,0,122,15,64,2,27,14,180,6,15,32,2,65,15,220,1,77,14,68,0,15,56,0,35,15,184,0,9,15,68,2,213,15,64,2,31,31,1,64,2,78,15,156,1,8,14,24,0,15,92,1,84,15,124,0,0,15,44,2,1,15,16,3,9,15,72,2,57,15,64,2,255,3,15,156,1,25,14,72,1,15,104,1,2,15,132,6,94,15,116,5,53,15,144,0,16,15,64,2,160,15,0,9,87,15,132,4,0,15,44,0,9,15,192,8,106,15,72,2,0,15,116,5,50,15,68,2,145,14,72,11,15,0,9,103,15,88,4,12,15,248,10,126,15,16,2,4,15,68,2,38,14,192,0,15,68,2,18,15,64,11,246,14,12,2,15,124,6,67,15,48,2,40,15,204,6,117,15,0,9,255,7,15,176,6,8,15,224,5,33,15,32,2,65,15,244,0,117,15,0,9,255,3,14,20,4,15,216,3,14,15,100,4,21,15,60,2,142,14,164,0,15,68,2,14,15,0,9,156,14,44,0,15,136,3,85,14,8,2,15,144,1,18,14,132,4,15,124,4,160,31,255,64,20,255,21,15,100,1,44,15,180,6,1,15,4,0,177,15,64,20,205,15,4,0,255,103,15,0,9,160,15,64,2,255,55,15,228,9,12,15,72,2,25,15,0,9,157,15,64,2,255,59,14,44,14,15,236,11,34,15,64,2,255,223,14,108,4,15,108,16,46,15,64,11,145,15,64,2,255,59,15,56,2,4,15,64,2,37,15,0,9,255,219,15,248,1,4,15,64,2,41,15,192,6,255,215,31,83,40,32,3,15,0,9,255,255,8,15,40,11,0,15,68,2,17,15,64,2,29,15,0,9,255,159,14,232,1,15,24,39,35,14,56,2,14,200,31,15,0,9,255,194,15,24,2,8,15,152,25,33,15,80,36,49,15,192,6,206,53,170,204,255,4,0,15,156,6,217,31,255,48,41,43,15,36,27,25,15,64,2,194,8,56,2,0,4,0,34,232,241,4,0,15,72,2,92,15,48,41,206,15,128,4,193,15,56,2,1,47,232,241,68,2,186,15,188,51,226,15,0,9,0,15,64,2,58,14,116,4,15,64,2,199,15,224,1,44,15,196,33,25,15,128,4,210,15,60,2,21,47,232,241,16,9,10,15,88,2,214,14,252,6,15,72,2,14,15,64,2,198,15,60,2,7,15,132,4,207,31,255,48,41,55,15,128,31,226,15,60,2,7,15,132,4,18,15,148,24,226,31,83,48,41,55,15,64,2,230,14,132,4,15,124,4,223,15,48,7,52,15,64,2,255,179,15,244,4,104,15,64,2,255,255,40,14,76,2,15,64,11,162,15,64,2,255,251,53,67,49,61,4,0,15,192,15,39,15,64,2,255,255,33,14,68,2,14,80,2,15,64,2,255,255,15,14,68,2,15,76,20,22,15,64,2,255,255,40,14,140,13,15,192,6,255,255,1,15,80,11,255,58,14,60,18,15,64,11,182,15,64,2,255,91,12,68,2,15,64,2,149,15,248,1,1,14,64,2,15,68,2,5,15,12,9,255,52,15,64,2,189,8,252,1,15,4,0,23,15,4,9,255,48,8,72,2,15,64,2,173,15,72,2,21,12,36,0,14,136,13,15,196,24,255,140,15,64,2,101,15,40,0,11,15,124,4,255,148,15,64,2,81,15,192,33,19,15,60,2,255,52,15,64,2,235,15,180,6,6,15,64,11,255,227,15,64,2,53,47,170,204,156,13,10,15,12,9,255,111,15,64,2,117,15,4,9,3,15,36,18,18,15,64,2,255,255,48,14,68,2,15,192,24,255,120,53,71,49,60,4,0,15,64,11,71,15,104,20,50,15,64,2,255,235,15,128,4,7,15,68,2,26,15,4,18,255,95,15,64,2,121,15,68,2,31,15,72,18,18,15,64,2,255,219,15,184,22,17,15,80,2,32,15,64,2,255,223,14,24,9,15,68,2,46,15,64,2,255,99,53,72,50,59,4,0,15,44,0,1,15,220,1,0,15,212,6,137,15,64,2,255,147,47,170,204,204,6,85,15,64,2,255,200,47,170,204,64,2,83,15,224,31,11,15,64,2,231,63,0,163,255,64,2,174,15,68,2,53,31,255,200,76,208,8,4,0,0,252,1,15,64,2,49,14,68,2,15,64,2,159,15,68,2,47,15,60,13,219,34,0,163,52,1,14,68,2,15,68,0,31,4,72,0,15,64,2,173,47,170,204,60,2,255,20,8,88,5,46,0,163,68,2,15,64,2,233,47,170,204,56,2,255,12,4,248,1,15,4,0,59,15,64,2,111,38,75,53,4,0,15,64,2,15,15,248,44,33,15,60,2,75,14,140,22,15,64,2,223,14,68,2,15,64,2,179,4,28,13,15,128,4,53,14,240,4,15,56,36,6,15,60,2,129,15,64,2,255,31,15,212,6,16,15,60,2,58,12,72,2,15,60,2,213,14,68,2,15,192,6,203,15,68,2,0,15,168,56,69,15,60,2,113,15,64,2,255,47,15,248,1,11,15,160,2,45,15,136,4,14,15,64,2,255,63,53,78,48,57,4,0,15,64,2,61,14,16,2,15,4,0,235,15,232,1,1,49,2,0,0,4,0,15,28,2,3,15,52,0,42,15,64,2,129,15,4,0,255,39,47,0,163,64,2,218,15,0,117,255,63,14,188,6,15,196,6,159,15,64,2,45,63,199,195,194,4,0,255,35,14,60,2,15,68,2,86,15,128,4,255,179,15,64,2,245,63,156,118,131,128,4,255,159,14,68,2,15,64,2,59,53,76,48,57,4,0,15,64,2,17,0,12,10,15,168,1,133,0,160,0,14,228,2,15,60,2,147,63,54,82,171,4,0,18,15,72,2,40,15,64,2,114,4,68,2,14,72,2,15,56,2,111,8,160,0,15,124,4,245,14,68,2,15,64,2,102,15,164,1,130,12,60,2,14,68,2,15,60,2,106,15,64,2,255,3,8,216,16,15,244,1,44,15,56,2,62,14,36,5,15,60,2,247,14,68,2,15,128,4,103,4,164,1,14,4,2,15,108,6,79,15,60,2,16,14,228,2,15,60,2,128,15,156,20,51,15,64,2,119,53,77,55,58,4,0,15,64,2,17,12,4,0,15,240,1,40,15,56,2,50,15,68,2,1,4,16,0,14,188,54,15,4,0,71,15,56,2,27,15,72,2,53,15,64,2,99,53,73,47,57,4,0,15,64,2,16,15,4,0,70,15,204,4,8,15,96,0,49,15,124,4,118,14,40,25,15,68,2,151,15,64,2,73,8,236,3,15,4,0,133,15,124,4,107,15,108,27,85,15,64,2,167,15,68,2,144,15,64,2,255,135,15,4,0,157,4,240,1,15,32,9,63,15,64,2,109,15,0,9,18,15,64,2,255,47,15,156,4,79,15,64,2,127,14,128,22,15,64,2,255,60,15,72,2,9,0,64,1,8,8,0,15,64,2,255,255,11,4,68,2,12,44,2,14,60,2,15,132,4,13,15,64,2,255,160,0,40,1,15,68,2,65,15,60,2,13,63,81,135,0,64,2,12,15,60,2,171,15,64,2,5,53,70,46,57,4,0,15,64,2,173,38,0,163,180,1,15,68,2,41,0,44,1,8,12,0,4,64,2,8,68,2,12,140,4,12,64,2,5,116,1,15,64,2,60,63,79,87,95,64,2,255,47,63,168,119,255,128,4,26,8,16,2,15,64,2,33,12,4,0,8,80,2,4,16,0,8,68,2,8,28,0,12,200,1,42,81,135,72,46,12,16,0,15,60,2,68,15,64,2,246,34,168,119,172,1,15,68,2,9,0,148,1,15,68,2,0,15,20,0,26,4,68,0,0,16,0,0,12,0,15,92,1,13,4,64,2,12,40,0,12,232,46,15,64,2,25,0,48,2,8,4,0,15,60,2,21,0,84,0,15,64,2,17,0,40,0,4,4,0,15,28,0,8,15,128,4,218,8,252,1,4,0,1,8,72,4,15,48,2,5,8,60,1,8,60,0,8,64,2,15,72,2,13,8,40,0,0,124,1,14,40,49,14,224,1,4,44,0,15,76,2,1,0,16,25,8,164,18,14,120,2,15,116,4,3,8,252,1,15,4,0,1,12,32,2,15,4,0,16,15,64,2,6,53,68,46,57,4,0,53,80,58,58,4,0,15,64,2,137,0,208,0,63,54,228,0,32,0,10,8,60,2,15,96,4,4,15,172,6,14,14,116,1,6,64,2,15,84,2,5,4,48,0,4,12,9,14,68,2,6,64,2,15,232,1,13,12,64,2,14,120,2,14,72,0,15,12,2,21,15,68,2,33,15,64,2,181,12,60,2,12,16,0,14,192,6,10,220,8,12,36,4,12,132,4,12,72,4,14,180,3,15,208,3,3,49,77,0,255,4,0,15,156,13,0,15,4,0,34,15,64,2,0,15,4,0,57,15,64,2,222,4,40,2,15,124,4,17,15,24,0,5,4,48,2,0,152,8,8,20,0,15,228,5,0,15,184,3,22,4,56,2,47,77,0,224,15,7,47,77,0,4,0,23,15,64,2,255,74,4,4,0,15,92,2,0,15,64,2,10,4,28,0,42,2,0,28,2,47,54,228,228,5,23,15,132,4,0,14,120,4,15,112,4,0,15,68,2,9,4,144,6,15,28,0,1,12,64,2,63,83,37,126,64,2,255,11,14,88,4,14,60,2,15,136,4,5,8,8,2,15,20,2,5,8,96,2,4,80,0,15,76,1,37,14,240,1,15,64,2,31,4,188,8,46,39,236,68,2,15,64,2,5,0,4,0,14,172,4,15,64,2,103,53,62,45,57,4,0,15,64,2,153,14,4,0,15,64,2,3,12,180,4,14,64,2,15,60,2,51,8,68,2,15,64,2,1,12,252,1,12,52,13,15,68,2,1,12,192,15,8,64,0,4,136,0,15,64,2,121,53,77,58,62,4,0,15,64,2,0,15,12,11,98,12,36,2,14,64,2,15,76,2,10,15,44,0,18,47,54,228,60,2,51,15,4,0,25,15,236,19,3,15,40,9,30,15,64,2,186,0,68,3,15,212,8,37,15,104,4,4,15,4,0,38,14,60,2,15,64,2,43,8,244,3,15,68,2,69,14,160,6,15,60,2,10,15,64,2,186,34,39,236,188,5,14,68,2,15,88,13,27,15,64,2,9,0,56,20,14,84,2,15,4,0,59,15,112,4,0,15,4,0,74,15,60,2,25,8,144,0,15,64,2,65,47,54,228,128,4,151,15,104,4,29,8,184,24,15,68,2,77,46,54,228,60,2,15,4,0,109,14,60,2,15,64,2,171,14,236,10,14,184,19,15,96,15,9,47,81,135,168,6,31,34,168,119,60,1,15,64,2,81,8,188,1,14,20,0,15,64,2,103,14,236,1,15,12,2,23,47,54,228,64,2,135,15,156,17,13,8,64,2,14,16,11,15,216,8,25,15,60,2,91,8,68,2,15,64,2,8,15,96,2,42,15,60,0,9,46,54,228,104,13,15,100,14,3,15,64,2,51,12,104,1,15,64,2,73,15,184,8,0,15,52,22,5,14,20,11,15,4,0,164,12,240,1,4,156,4,14,160,4,15,60,2,23,14,60,0,6,56,2,14,212,1,15,64,2,39,14,56,0,15,64,2,7,47,54,228,128,4,19,53,58,44,57,4,0,53,76,59,66,4,0,15,64,2,25,8,192,19,15,228,19,12,15,64,2,214,14,52,0,15,40,0,2,15,240,4,18,31,54,252,11,32,15,24,0,3,15,40,19,9,15,64,2,79,15,116,4,4,15,64,2,6,8,132,0,14,124,4,15,4,0,231,14,184,4,15,48,7,6,15,220,7,34,47,81,135,28,19,25,15,64,2,95,15,192,0,15,15,184,8,5,15,4,0,255,16,14,52,2,15,88,14,63,14,184,1,14,0,7,15,64,2,91,15,48,2,5,15,4,0,255,128,15,120,4,5,47,81,135,64,2,47,53,74,60,70,4,0,15,64,2,3,15,4,0,255,148,15,16,11,9,47,54,228,64,2,255,255,17,47,54,228,12,2,1,15,128,4,31,31,54,192,15,16,53,56,44,57,4,0,15,64,2,255,186,47,54,228,64,2,43,14,64,20,15,64,2,255,224,14,144,4,15,116,22,5,15,64,2,255,255,17,15,68,2,13,47,54,228,64,2,255,252,14,76,17,15,232,8,5,15,64,2,255,255,13,14,12,0,15,128,4,255,255,29,47,54,228,124,31,17,15,64,2,255,255,5,14,4,0,15,64,2,255,255,25,47,54,228,64,2,31,47,54,228,64,2,43,53,73,61,74,4,0,15,64,2,45,0,148,41,15,64,2,255,138,47,54,228,64,2,135,8,136,71,15,64,2,255,122,46,54,228,64,2,15,128,4,255,255,11,31,54,252,35,18,14,128,22,15,64,2,85,0,48,47,15,128,31,7,15,84,2,255,120,14,240,35,15,64,2,111,8,176,51,15,212,6,255,154,14,88,2,15,24,18,13,15,128,4,75,47,81,135,212,6,255,160,14,64,2,15,12,0,7,8,44,0,15,64,2,49,15,16,14,29,14,180,0,14,64,2,15,28,9,255,134,13,0,4,15,64,2,52,47,54,228,12,0,9,15,64,2,255,152,15,160,1,11,15,64,2,71,15,76,34,17,47,54,228,4,0,255,192,15,128,4,57,15,60,7,7,15,64,2,255,184,47,81,135,192,6,95,47,81,135,128,4,255,255,17,15,64,11,7,15,64,2,255,255,17,15,4,0,19,15,64,2,255,243,15,4,0,255,253,15,64,2,255,255,255,255,147,63,59,51,73,64,2,255,255,40,0,60,2,147,67,66,77,80,45,0,0,0,5,4,0,41,8,0,1,0,17,13,4,0,6,2,0,32,0,13,18,0,0,53,0,83,100,1,0,0,42,49,0,8,53,0,31,8,1,0,41,19,2,1,0,13,25,0,33,15,15,4,0,35,15,15,12,0,69,2,2,15,15,43,0,32,2,2,57,0,16,8,2,0,17,8,33,0,5,2,0,0,29,0,35,15,15,43,0,16,8,32,0,3,4,0,0,42,0,47,15,15,42,0,8,1,84,0,3,47,0,8,82,0,44,15,8,126,0,40,8,2,84,0,3,4,0,33,8,15,96,0,9,210,0,6,130,0,31,2,19,1,24,15,108,1,95,2,0,1,22,8,180,0,1,1,0,0,242,0,2,125,1,4,57,1,5,205,0,3,123,1,3,83,0,1,70,1,4,137,1,2,141,1,5,159,1,15,42,0,3,5,217,1,41,8,8,82,0,44,2,8,126,0,40,8,15,84,0,4,83,1,2,255,1,9,210,0,39,15,15,126,0,15,108,1,26,23,84,104,1,15,108,1,6,3,249,1,3,161,0,40,8,8,8,0,4,24,0,6,40,0,15,92,0,27,35,15,15,6,0,3,76,2,8,8,0,4,24,0,6,40,0,15,92,0,27,0,1,0,73,14,14,14,14,8,0,1,10,0,23,14,24,0,0,20,0,2,8,0,47,8,14,92,0,27,0,210,1,9,8,0,1,10,0,23,15,24,0,3,151,1,2,208,0,97,67,80,65,76,0,3,75,0,255,81,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,12,18,35,53,41,83,94,61,82,42,121,74,152,83,60,119,114,109,209,206,207,255,180,193,255,40,57,255,181,9,191,214,42,10,214,104,63,159,230,162,118,159,255,140,168,200,161,130,2,4,8,3,0,88,17,9,3,0,15,48,0,29,9,54,0,63,3,5,10,48,0,10,12,60,0,14,48,0,15,150,0,11,56,3,5,10,3,0,254,81,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,52,35,31,41,31,53,54,45,62,42,74,77,105,48,45,95,72,74,182,161,122,229,183,113,206,40,69,233,138,38,126,218,51,1,158,95,33,85,161,151,80,98,255,121,99,208,135,109,128,1,15,3,0,251,0,100,3,83,101,0,0,0,9,4,0,47,8,0,1,0,3,52,7,7,7,8,0,36,7,7,8,0,47,7,7,9,0,1,5,36,0,6,54,0,3,69,0,15,109,0,19,14,91,0,15,9,0,26,15,109,0,28,3,2,0,15,18,0,44,15,109,0,14,81,16,16,16,16,0,4,0,32,7,7,5,0,4,9,0,2,22,0,25,16,41,0,1,4,0,3,36,0,23,16,18,0,15,218,0,27,15,73,0,16,6,127,0,10,145,0,0,9,0,4,181,0,15,109,0,54,15,2,1,17,0,109,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,65,14,14,14,0,2,0,18,14,4,0,17,0,8,0,13,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,239,19,13,137,15,19,13,139,15,23,13,12,0,15,89,0,43,9,233,15,10,12,0,15,90,0,52,1,167,0,25,13,12,0,15,180,0,55,12,190,0,7,1,0,15,63,3,33,4,92,1,5,172,0,6,196,0,9,95,4,5,124,4,15,1,0,60,2,185,4,15,90,0,67,31,0,90,0,70,47,14,14,90,0,72,14,31,6,15,147,5,48,15,91,5,122,4,18,3,2,196,2,57,5,0,0,16,0,15,44,3,47,3,74,0,22,5,32,3,14,90,0,15,89,0,36,2,8,0,15,90,0,58,9,74,0,8,180,0,47,13,13,104,1,56,20,5,238,3,8,115,0,15,44,7,255,182,15,1,0,61,47,0,0,126,9,255,239,2,7,0,12,8,0,31,0,69,5,56,47,0,0,70,5,58,11,164,0,6,235,4,15,84,6,55,14,180,0,15,126,9,43,12,143,5,12,112,1,25,0,126,9,31,0,126,9,69,31,14,90,0,52,15,180,0,86,14,233,14,15,126,9,191,1,66,12,3,4,0,8,37,2,15,202,8,51,8,244,12,4,118,9,15,90,0,52,45,13,13,124,3,15,180,0,64,5,230,3,15,90,0,54,11,57,4,14,90,0,15,1,0,55,15,126,9,255,255,255,40,5,20,5,3,161,33,4,28,5,6,44,5,10,108,4,2,20,8,22,5,28,0,12,84,5,6,42,0,47,0,13,88,17,2,42,13,13,116,17,46,0,13,172,13,4,24,0,5,12,0,15,180,0,6,12,28,5,5,110,17,12,180,0,3,19,15,5,90,0,14,249,18,15,22,18,2,8,204,0,15,180,0,1,31,0,180,0,21,5,34,0,10,194,18,42,13,0,128,1,26,0,19,15,7,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,178,37,9,128,0,0,1,1,0,0,1,7,4,0,19,1,8,0,35,7,1,8,0,27,7,8,0,25,1,40,0,1,56,0,15,92,0,9,34,7,1,38,0,1,49,0,1,8,0,34,1,7,8,0,27,7,8,0,4,24,0,4,40,0,2,56,0,0,92,0,17,55,216,33,15,139,42,3,2,202,5,8,182,7,39,13,13,7,0,0,63,0,80,20,5,0,0,80,231,32,15,183,32,0,18,6,156,34,18,1,1,0,9,10,0,79,7,7,7,5,30,0,7,9,40,0,31,6,80,0,255,255,127,6,60,0,15,10,0,28,15,80,0,255,143,5,1,0,31,5,10,0,40,21,6,19,6,19,48,91,5,29,4,28,5,8,142,18,25,13,160,18,15,56,0,11,19,12,6,0,19,12,12,0,21,12,18,0,4,39,6,31,16,56,0,0,5,58,13,5,192,32,4,238,13,6,126,0,39,13,13,14,0,11,136,31,15,92,0,9,3,132,40,4,9,0,2,7,0,3,37,40,20,7,51,40,23,7,14,0,35,7,7,20,0,2,51,0,15,184,0,11,22,13,93,15,1,88,12,5,180,0,1,47,14,9,36,15,7,242,19,19,13,197,0,15,184,0,11,1,132,0,4,186,41,8,180,0,5,194,0,4,182,0,5,184,0,5,29,0,17,7,151,7,19,60,84,0,12,59,7,48,13,1,1,3,0,29,13,8,0,33,13,5,3,0,4,8,0,15,68,0,9,0,179,7,3,140,4,10,8,0,33,7,6,3,0,128,7,7,6,7,7,6,7,7,99,70,73,76,0,0,0,0,76,53,0,0,112,111,100,47,102,95,112,105,99,111,56,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,8,0,0,241,24,67,80,79,68,68,0,0,0,1,0,0,0,47,104,111,109,101,47,122,101,112,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,102,95,12,0,1,37,0,15,1,0,8,247,2,67,66,77,80,35,0,0,0,3,0,0,0,5,0,0,0,8,28,0,66,255,255,255,255,5,0,1,12,0,15,43,0,11,79,0,0,255,0,43,0,24,31,0,43,0,19,2,128,0,15,129,0,17,3,169,0,15,43,0,16,0,123,0,18,255,128,0,15,86,0,15,47,0,255,129,0,21,4,216,0,15,129,0,18,4,85,0,15,129,0,2,15,174,1,7,15,43,0,52,47,255,255,215,0,25,2,5,1,15,172,0,58,2,125,0,15,129,0,22,0,176,1,31,0,43,0,20,6,1,0,15,172,0,12,5,40,0,15,88,1,4,14,9,3,15,43,0,18,5,2,0,15,43,0,18,31,0,43,0,22,2,3,0,15,43,0,14,21,255,92,1,47,0,0,219,2,15,6,94,1,15,4,2,16,2,220,2,15,133,2,16,4,225,3,15,178,3,18,2,7,2,31,255,219,2,17,31,255,6,3,25,2,92,1,15,43,0,19,1,47,1,15,172,0,13,47,0,255,219,2,18,7,0,2,14,172,0,15,49,3,38,24,0,129,1,15,172,0,54,6,45,2,1,6,0,15,135,3,15,5,48,2,15,129,0,12,4,6,1,31,0,86,0,14,2,169,2,47,255,255,47,2,14,7,84,1,15,131,1,18,47,0,255,4,2,18,23,255,92,1,15,215,0,15,4,173,2,15,215,0,3,14,137,3,47,0,255,4,2,23,14,135,3,15,43,0,2,3,56,6,15,90,2,24,31,255,51,4,15,5,1,1,15,16,8,17,4,56,4,15,229,7,17,3,8,1,15,57,7,15,5,95,2,15,100,7,16,31,255,94,4,20,7,185,4,15,227,6,20,31,255,16,8,16,7,15,6,15,16,8,17,15,129,0,21,31,255,86,0,21,15,215,0,21,4,222,2,3,6,0,15,43,0,21,47,255,0,47,2,16,3,54,3,31,0,100,7,16,5,6,0,15,88,1,12,5]);fileData0.push.apply(fileData0,[13,7,14,133,2,15,4,2,5,15,221,3,16,4,176,2,47,0,0,188,8,15,15,10,5,20,5,183,4,14,180,4,15,86,0,5,31,0,129,0,18,21,255,175,0,31,255,145,8,17,31,255,86,0,21,3,43,0,14,94,4,15,172,0,2,15,215,0,19,47,255,0,45,1,24,30,255,8,4,15,43,0,14,15,18,9,17,4,48,1,15,43,0,14,6,152,11,15,20,10,19,14,86,0,15,174,1,9,31,0,90,2,16,14,217,1,15,133,2,14,15,178,3,16,3,67,11,15,90,2,21,47,255,0,172,0,20,3,7,0,15,174,1,21,47,0,255,192,10,23,15,90,2,23,15,86,0,22,31,255,176,2,19,5,150,8,15,90,2,17,31,255,2,1,22,31,0,184,6,18,7,10,6,31,255,10,5,17,31,255,96,5,17,10,101,7,15,149,10,12,15,192,10,22,10,224,0,31,67,61,9,14,15,75,16,27,14,49,3,15,14,7,5,15,137,4,17,47,255,255,221,3,21,8,175,3,15,243,14,20,3,235,7,15,43,0,22,47,0,0,172,0,20,15,188,8,15,15,45,1,25,15,104,9,25,6,43,0,15,239,12,13,15,96,5,21,9,229,8,15,159,15,18,14,53,5,15,174,1,4,15,43,0,19,6,93,5,14,96,5,15,133,2,7,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,5,101,10,14,94,4,15,174,1,8,15,241,13,16,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,19,5,51,1,15,151,11,21,15,237,11,20,47,0,255,210,19,24,15,14,7,15,47,255,0,88,1,22,5,177,5,15,145,8,17,5,196,12,15,10,5,4,15,35,16,4,0,43,0,95,55,0,0,0,7,208,18,15,15,1,0,1,15,63,0,10,15,2,0,15,15,63,0,11,9,132,0,8,197,8,4,70,3,15,63,0,9,7,136,18,7,68,22,3,246,19,15,63,0,15,5,91,6,2,57,0,15,14,0,1,15,126,0,10,4,152,6,24,255,131,12,5,161,1,15,63,0,16,5,55,0,27,255,253,16,3,28,0,15,252,0,12,47,0,255,56,0,4,3,155,0,15,126,0,19,5,113,1,4,124,1,14,126,0,15,189,0,7,7,245,0,7,126,0,31,255,252,0,24,6,255,3,7,65,9,15,248,1,21,27,255,248,1,31,0,248,1,19,43,255,255,39,2,5,181,1,15,244,2,17,8,232,0,6,7,2,9,16,1,15,181,2,26,7,0,25,15,244,2,17,7,54,3,31,0,248,1,33,15,37,4,4,6,1,0,15,189,0,20,7,122,0,3,219,16,15,189,0,29,7,135,1,25,255,74,19,15,248,1,12,10,238,0,10,10,1,15,55,2,20,10,189,0,15,122,1,22,5,221,2,4,229,5,25,255,53,22,15,63,0,19,9,135,16,2,227,16,15,122,1,26,11,82,21,15,244,2,26,15,14,0,2,15,232,5,23,15,7,0,2,15,232,5,16,14,177,1,22,255,69,22,2,12,0,15,169,5,16,6,92,4,7,109,13,47,0,255,122,1,16,5,156,3,3,155,5,8,186,3,14,236,4,15,181,2,4,27,255,197,0,6,232,10,31,0,252,0,15,25,255,237,6,6,152,25,31,255,244,2,15,8,69,23,6,114,22,11,217,25,15,110,4,10,12,123,1,24,255,230,6,15,181,2,14,3,253,0,7,241,4,3,80,1,14,228,6,15,251,22,7,8,120,0,9,128,14,15,189,0,19,8,4,14,4,163,25,15,110,4,26,29,255,77,14,15,169,5,16,15,7,0,2,15,55,2,33,7,61,1,4,59,1,15,126,0,17,7,27,30,28,255,189,0,15,161,7,17,7,245,0,6,71,0,5,64,0,15,252,0,16,7,67,0,40,255,255,3,1,15,110,4,16,8,52,1,43,255,255,18,1,31,0,232,5,19,13,127,1,5,140,2,15,63,0,20,9,160,5,15,181,2,21,11,184,0,31,255,118,2,28,5,135,8,5,59,1,8,133,2,15,189,0,15,6,44,3,4,237,4,7,246,4,31,0,169,5,14,43,0,255,46,6,7,187,13,5,187,12,15,126,0,10,11,244,16,6,63,27,14,248,1,15,118,2,4,7,216,5,40,0,255,41,5,47,0,255,244,2,16,5,116,20,11,14,0,15,106,5,13,24,255,96,4,12,110,4,15,51,3,19,15,191,3,0,6,252,6,47,0,255,90,9,18,43,255,255,77,29,5,59,2,15,98,7,12,12,203,11,27,0,192,30,15,27,9,21,28,255,179,6,6,138,15,15,78,12,9,29,0,118,4,6,244,3,15,11,13,17,11,56,2,7,144,1,15,51,3,16,15,25,8,0,7,146,13,31,255,39,6,19,29,255,14,0,31,255,236,4,17,4,142,7,8,120,1,6,183,1,47,255,0,177,3,17,41,0,0,193,12,10,51,7,15,70,14,21,13,196,0,14,161,7,15,102,6,6,10,6,2,15,244,2,22,11,147,7,9,229,5,15,106,5,25,11,245,2,47,255,255,185,1,18,40,0,255,203,14,9,16,10,7,104,17,15,126,0,30,14,55,2,15,236,4,26,15,157,8,23,24,0,29,7,41,255,255,171,5,14,70,14,15,252,0,3,9,53,4,6,68,2,15,122,1,2,15,201,13,7,11,47,7,15,7,14,21,15,250,2,5,15,70,14,21,9,102,4,6,191,15,15,63,0,26,7,253,0,15,66,15,26,7,192,2,28,255,80,1,15,126,0,13,44,255,255,185,15,15,240,3,23,10,216,9,47,255,0,51,3,38,13,119,0,15,196,14,17,11,209,9,5,202,0,6,238,6,15,114,3,19,8,242,1,7,145,11,31,255,252,0,25,14,14,0,15,149,10,20,12,209,10,47,255,0,43,5,29,5,187,22,14,244,2,15,55,2,21,9,7,0,15,122,1,5,15,146,11,14,31,0,35,7,21,7,93,8,9,79,11,5,211,10,15,189,0,28,8,100,7,14,70,14,15,248,1,18,15,15,12,27,8,34,4,15,189,0,35,5,38,4,28,255,190,0,15,172,20,18,14,81,13,15,173,4,19,8,153,29,15,189,0,32,7,93,5,15,126,0,33,47,0,255,231,7,4,5,129,1,15,70,14,32,15,126,0,23,15,196,0,1,9,203,0,15,118,2,26,9,242,18,14,86,10,15,189,0,13,5,57,20,47,0,255,165,6,21,31,255,6,14,1,15,39,6,19,7,28,9,12,12,12,3,25,0,15,255,15,18,8,6,14,6,68,14,15,196,14,24,15,118,2,37,31,0,71,12,4,3,8,0,15,169,5,32,8,9,3,15,98,7,32,15,66,15,23,7,192,15,9,77,0,3,14,0,15,58,17,19,8,159,5,5,4,1,15,160,23,18,15,183,0,2,6,223,24,15,78,12,37,4,15,0,15,106,5,39,47,255,0,110,4,23,14,7,0,14,227,22,15,11,13,6,6,49,0,12,14,0,15,121,17,22,15,254,3,0,14,220,8,15,35,7,2,11,7,0,31,0,70,14,24,31,255,7,0,3,15,125,16,18,15,49,1,0,7,16,16,15,165,6,27,13,25,13,15,43,5,21,47,255,0,35,7,42,15,186,1,3,47,0,255,94,8,27,31,0,43,5,32,6,32,4,14,188,0,15,63,0,19,14,51,3,15,78,12,28,11,204,0,31,255,47,4,22,10,58,3,12,64,0,15,110,4,25,9,84,11,15,15,12,25,6,215,9,3,143,9,160,0,0,0,0,0,0,255,0,0,0]);Module["FS_createDataFile"]("/","data.pod",fileData0,true,true,false)}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({"files":[]})})();var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=3196624,DYNAMIC_BASE=8439504,DYNAMICTOP_PTR=3196592;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[function(){if(typeof _cartdat!=="undefined")return 1;return 0},function(){return _cartdat.length/32768},function(){_cdpos=_cdpos+1;return _cartdat[_cdpos-1]},function($0){ciii=$0;iii=0},function(){iii=iii+1;return _cartname[ciii].charCodeAt(iii-1)},function(){let stateObj={load_param_data:false};history.pushState(stateObj,"PICO-8","?")},function(){Module.pico8Reset=function(){codo_command=1};Module.pico8ToggleSound=function(){codo_command=3};Module.pico8TogglePaused=function(){codo_command=4};Module.pico8SetPaused=function(p){codo_command=5;codo_command_p=0;if(p)codo_command_p=1};Module.pico8ToggleControlMenu=function(){codo_command=7};Module.pico8DragOver=function(){codo_command=10};Module.pico8DragStop=function(){codo_command=11}},function(){function mkdir_0(d){try{stat=FS.stat(d)}catch(e){FS.mkdir(d)}}mkdir_0("/user_data");FS.mount(IDBFS,{},"/user_data");FS.syncfs(true,function(err){if(!err){console.log("codo: mounted filesystem.\n");codo_mounted_filesystem=1;mkdir_0("/user_data/cdata");mkdir_0("/user_data/cstore");mkdir_0("/user_data/carts");mkdir_0("/user_data/backup");mkdir_0("/user_data/plates");mkdir_0("/user_data/bbs");mkdir_0("/user_data/bbs/carts");mkdir_0("/user_data/bbs/labels")}else{console.log("** could not mount filesystem\n");console.log(err)}})},function(){var val=0;if(window.location.pathname.indexOf("widget.php")>=0)val=1;return val},function(){var val=0;if(window.location.pathname.indexOf("pico-8.php")>=0)val=1;return val},function($0,$1,$2,$3,$4,$5,$6,$7){if(typeof pico8_state!=="undefined"){pico8_state.is_paused=$0;pico8_state.sound_volume=$1;pico8_state.frame_number=$2;pico8_state.has_focus=$3;pico8_state.show_dpad=$4;pico8_state.request_pointer_lock=$5;pico8_state.require_page_navigate_confirmation=$6;pico8_state.shutdown_requested=$7}},function(){var val=0;if(typeof codo_command!=="undefined"){val=codo_command;codo_command=0}return val},function(){var val=0;if(typeof codo_command_p!=="undefined"){val=codo_command_p;codo_command_p=0}return val},function(){button_i=0},function(){var val=-1;if(typeof pico8_buttons!=="undefined"){val=pico8_buttons[button_i];button_i++}return val},function(){var val=0;if(typeof pico8_gamepads!=="undefined"){val=pico8_gamepads.count}return val},function(){if(typeof on_module_load!=="undefined"){if(on_module_load)on_module_load()}},function($0,$1,$2,$3){download_browser_file(UTF8ToString($0,$1),UTF8ToString($2,$3))},function($0,$1,$2,$3,$4,$5){if(typeof p8img!=="undefined"){p8img.src=""}p8img=document.createElement("img");p8img.src=UTF8ToString($0,$1);p8img.style="width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;";if(typeof p8imgholder==="undefined"||!p8imgholder){p8imgholder=document.createElement("div");p8imgholder.style.cssText="min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);";document.body.appendChild(p8imgholder)}if(p8imgholder){while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);var dismiss=document.createElement("div");dismiss.style.cssText="display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right";dismiss.addEventListener("click",function(){p8img.src="";while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);p8imgholder.style.display="none"},false);dismiss.innerHTML="X";p8imgholder.appendChild(dismiss);p8imgholder.appendChild(p8img);var info=document.createElement("div");info.innerHTML='<br> <font style="color:#bbb; font-size:8pt"><center> (right-click to save) </center></font>';p8imgholder.appendChild(info);if(p8imgholder.style.display=="none")p8imgholder.style.display=""}},function(){jsString=p8_dropped_cart;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap,lengthBytes);return stringOnWasmHeap},function(){jsString=p8_dropped_cart_name;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap2=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap2,lengthBytes);return stringOnWasmHeap2},function($0,$1){if(typeof pico8_state!=="undefined"){if(typeof pico8_state.system_messages==="undefined")pico8_state.system_messages=new Array;pico8_state.system_messages.push(UTF8ToString($0,$1))}},function($0){var str=window.location.hostname;return allocate(intArrayFromString(str),"i8",ALLOC_NORMAL)},function($0,$1){if(typeof pico8_gpio!=="undefined")pico8_gpio[$0]=$1},function($0){var val=0;if(typeof pico8_gpio!=="undefined")val=pico8_gpio[$0];return val},function(){FS.syncfs(false,function(err){})},function(){var val=0;if(typeof codo_mounted_filesystem!=="undefined")val=1;return val},function(){return typeof p8_touch_detected==="undefined"||!p8_touch_detected?0:1},function(){return document.hidden?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];document.addEventListener("keydown",function(e){var val=-1;if(e.key.length==1){val=e.key.charCodeAt(0)}else{if(e.key=="Tab")val=9;if(e.key=="Enter")val=13;if(e.key=="Backspace")val=8;if(e.key=="Escape")val=27;if(val==-1){}}var el=document.getElementById("codo_textarea");codo_key_buffer.push(val)})},function(){addEventListener("mousedown",function(event){if(typeof pico8_state!=="undefined")if(event.target.tagName.toLowerCase()!="canvas"){pico8_state.clicked_outside=true}})},function(){document.addEventListener("wheel",function(e){dx=e.deltaX;if(dx<0)dx=-1;if(dx>0)dx=1;if(e.deltaMode==2)dx*=4;if(typeof codo_wheel_dx!=="undefined")codo_wheel_dx-=dx;dy=e.deltaY;if(dy<0)dy=-1;if(dy>0)dy=1;if(e.deltaMode==2)dy*=4;if(typeof codo_wheel_dy!=="undefined")codo_wheel_dy-=dy})},function($0){function audio_log(msg){if(window.console&&window.console.log){window.console.log("[codo] audio_init_webaudio "+msg)}}audio_log("audio_init");var codo_audio_context;if(typeof Module==="undefined")audio_log(" *** Module undefined");else if(typeof Module.ccall==="undefined")audio_log(" **** Module.ccall undefined");else{var webAudioAPI=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;if(webAudioAPI){if(typeof pico8_audio_context!=="undefined"){codo_audio_context=pico8_audio_context;audio_log("found pico8_audio_context")}else if(typeof voxatron_audio_context!=="undefined"){codo_audio_context=voxatron_audio_context;audio_log("found voxatron_audio_context")}else{codo_audio_context=new webAudioAPI;audio_log("creating own audio context")}if(codo_audio_context){audio_log("Sample Rate: "+codo_audio_context.sampleRate);audio_log("Buffer Size: "+$0);node=codo_audio_context.createScriptProcessor($0,1,1);node.onaudioprocess=function(e){var data=e.outputBuffer.getChannelData(0);var r=22050/codo_audio_context.sampleRate;var len0=Math.floor(data.length*r);var len1=data.length;var ptr=Module.ccall("mix_0","number",["number","number"],[len0,len1]);for(var j=0;j<data.length;j++)data[j]=Module.getValue(ptr+j*2,"i16")/32768};node.connect(codo_audio_context.destination)}else{audio_log("** failed to create codo_audio_context")}}else{audio_log("** webAudioAPI not found")}}},function(){return document.pointerLockElement?1:0},function(){var ret=0;if(typeof pico8_mouse!=="undefined"&&pico8_mouse.length>0)ret=1;return ret},function(){return pico8_mouse[0]},function(){return pico8_mouse[1]},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];return codo_key_buffer.length>0?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];let val=codo_key_buffer.shift()|0;return val},function(){temp=typeof codo_wheel_dx!=="undefined"?codo_wheel_dx:0;codo_wheel_dx=0;return temp},function(){temp=typeof codo_wheel_dy!=="undefined"?codo_wheel_dy:0;codo_wheel_dy=0;return temp},function(){if(document.hidden)return 0;el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el==document.activeElement)return 1;el=document.activeElement;return!el||el.tagName.toLowerCase()!="input"&&el.tagName.toLowerCase()!="textarea"},function(){if(typeof pico8_state!=="undefined")if(pico8_state.clicked_outside){pico8_state.clicked_outside=false;return 1}return 0},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.select()}},function(){return pico8_mouse[2]},function(){_dir_name=""},function($0){_dir_name=_dir_name+String.fromCharCode($0)},function(){FS.createPath("",_dir_name,true,true)},function(){Module["canvas"].exitPointerLock()},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){}},function(){_codo_str_out=""},function($0,$1){_codo_str_out=Module.UTF8ToString($0,$1)},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){el.value=_codo_str_out;return 0}else return 1},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display=="none"&&(typeof p8_touch_detected==="undefined"||!p8_touch_detected)){el.style.display="";el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"&&el.value!=""){_codo_text_value=el.value;return 1}return 0},function($0,$1){Module.stringToUTF8(_codo_text_value,$0,$1)}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAkuAAAY/4AAGf+AAAtuAAANrgAAC/0AAAa9gAAOvkAAC24AAA9uAAARLgAAEq4AAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOAEBAK3lAACv+gAAU/wAAEz8AAD9+QAAXf4AAHP9AAA6+QAAqOUAAET8AAB3/QAAzGkBAGP+AAA/AQEAPAEBAGz7AABD+QAAR/wAAFj+AABz+wAAK/oAAE16AQAoIQEALwEBACwBAQApAQEAMgEBADUBAQB5vAAAHMUAAHy8AACFvAAAjLwAAL44AQCVvAAA/hEBADgTAQC0EwEAgRQBABgVAQCEFQEAJhwBACkcAQC5HAEAvBwBACgeAQCKHwEAoR0BACwQAQA2EQEAm7wAADsTAQC3EwEAhRQBABwVAQCIFQEAZSABAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAAEvBAABTwQAAXsEAAGPBAABqwQAAcMEAAHXBAAB7wQAAgcEAAIfBAACNwQAAk8EAAJnBAACfwQAApMEAAKrBAACwwQAAtsEAAL3BAADEwQAAy8EAANHBAADYwQAA38EAAOfBAADvwQAA9cEAAPrBAAD/wQAACMIAAAAAAAAAAAAAjQcBABVRAQAkKQEAhmIBAHJkAQCJYwEAGmQBAB1kAQB95wAAeucAAPFcAQBlXgEA5e4AAPPuAAASYgEAsmABAAHvAADWZAEAyF8BALVlAQC7ZQEAo8MAAN7uAABMUwEAkgcBAAAAAAAAAAAAAAAAAJIHAQCNBwEAHWQBABpkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGp5gAAruYAALPmAAC45gAAveYAAMLmAADH5gAAzOYAANHmAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAYCCAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAAAAAFpaAAAfUQAAfX0AAB64//+g+f//v1EAAMC1//+gmf//ILH//+Gg//9Am///APb//2Cx//8fGwAAwPX//1JJRka4MgAAV0FWRWZtdCAQAAAAAQABACJWAABErAAAAgAQAGRhdGEAAAAAAAAAAO9oAQD7aAEAB2kBABNpAQAfaQEAKmkBADVpAQBBaQEATWkBAFlpAQBlaQEAcGkBAHtpAQAAAAAAAAAAAAAAAACwaAEAtWgBALtoAQC+aAEAw2gBAM1oAQDXaAEA2WgBANtoAQDdaAEA32gBAONoAQDlaAEAAAAAAAAAAAAAAAAAzGkBANJpAQDdaQEA4WkBAOppAQD7aQEA/2kBAApqAQDMaQEAEWoBAN1pAQAVagEAGWoBAPtpAQAdagEACmoBAOzFMADsxTAAI2oBAC9qAQBKagEAVmoBAGJqAQB2agEASG4BAFFuAQBYbgEAZG4BAG5uAQB2bgEAgW4BAItuAQCVbgEAnm4BAKZuAQCwbgEAAAAAAAAAAAAAAAAAAAAAAOzFMAC5bgEAv24BAMVuAQDLbgEA0W4BANduAQDdbgEAAAAAAAAAAAAAAAAAAAAAAOzFMADjbgEA8m4BAANvAQAUbwEAI28BADVvAQBLbwEA7MUwAFpvAQBibwEAbG8BAHZvAQCHbwEAkm8BAKFvAQBjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfsnYBALZ2AQC6dgEAvnYBAMJ2AQDHdgEAzHYBANF2AQDWdgEA23YBAOB2AQDldgEA6nYBAO92AQD0dgEA+XYBAP52AQADdwEACHcBAA13AQASdwEAF3cBABx3AQAhdwEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAA7MUwAOzFMADsxTAA7MUwAD18AQA/fAEAQXwBAEN8AQBFfAEAR3wBAEl8AQBLfAEATXwBAE98AQBRfAEAU3wBAFV8AQBXfAEAWXwBAFt8AQBdfAEAX3wBAGF8AQBjfAEAZXwBAGd8AQBpfAEAa3wBAG18AQBvfAEAcXwBAHN8AQB1fAEAd3wBAHl8AQB7fAEAfXwBAH98AQCBfAEAg3wBAIV8AQCMfAEAk3wBAJ18AQChfAEAp3wBAKl8AQCrfAEArXwBAK98AQC1fAEAt3wBALl8AQC7fAEAvXwBALaZAQC/fAEAwXwBAMp8AQDNfAEA0HwBANN8AQDWfAEA2XwBANx8AQDffAEA4nwBAOV8AQDpfAEA7XwBAPF8AQD9fAEACH0BAA59AQAVfQEAGn0BACF9AQAofQEALH0BADV9AQA7fQEAQH0BAEV9AQBIfQEAUH0BAFl9AQBifQEAa30BAHR9AQCBfQEAin0BAJN9AQCcfQEApX0BAK59AQC3fQEAwH0BAMl9AQDSfQEA230BAOzFMADkfQEA8H0BAPZ9AQD/fQEAA34BAAd+AQALfgEAD34BABN+AQAXfgEAG34BAB9+AQAjfgEAJ34BACt+AQAvfgEAN34BADx+AQBBfgEASH4BAE1+AQBTfgEAWH4BAFx+AQBhfgEAZ34BAGx+AQBxfgEAen4BAOzFMADsxTAA7MUwAIV+AQCOfgEA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAAn34BAKh+AQCvfgEAtn4BALx+AQCFfAEAwn4BAMx+AQDQfgEA1X4BAON+AQDpfgEA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADvfgEA+X4BAAR/AQAXfwEAKH8BADV/AQBFfwEATn8BAFd/AQBgfwEAaX8BAHR/AQCFfwEAjn8BAJd/AQCgfwEAqX8BALJ/AQC7fwEAxn8BAM9/AQDYfwEA4X8BAOp/AQDzfwEA/X8BAAaAAQAQgAEAGYABACKAAQAvgAEAOIABAEGAAQBRgAEAYoABAHKAAQCAgAEAk4ABAKaAAQC3gAEAwoABAM+AAQDhgAEA74ABAPyAAQALgQEA7MUwAOzFMAAegQEAKIEBADOBAQA8gQEARYEBAFCBAQBcgQEAZoEBAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMABwgQEAe4EBAIWBAQCPgQEAmYEBAKOBAQCtgQEAuYEBAL2BAQDCgQEAzYEBANaBAQDggQEA6IEBAPCBAQD7gQEAA4IBAA6CAQAbggEAKoIBADeCAQBFggEAVIIBAGGCAQBsggEAcoIBAHiCAQB9ggEAgoIBAI6CAQDsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAALiKHQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAP/////vvq3eZ0UjAQEAAACAAAAA/////wkAAADvvq3eZ0UjAeZ6AQD/////AAQAAAEAAAAAADwAAQAAAAEAAACAAAAAgAAAABCHAAAQhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwxTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8PtpkBAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAOzFMADsxTAA7MUwAH9/f39/f39/f39/f39/AAByb290X3BhdGgAY2RhdGFfcGF0aABqb3lzdGlja19pbmRleABtZXJnZV9qb3lzdGlja3MAYnV0dG9uX2tleXMAICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkAGxpdmVfbm90ZXMAY3Vyc29yX3NuYXAAZ3VpX3RoZW1lAHNoaWZ0X2dseXBocwBzaG93X2JhY2t1cF9tZXNzYWdlcwBob3N0X2ZyYW1lcmF0ZV9jb250cm9sAGNvbnRlbnRfZmlsdGVyAGJvb3RfdG9fc3Bsb3JlAHJlY29yZF9hY3Rpdml0eV9sb2cAYWxsb3dfZnVuY3Rpb25fa2V5cwBjaGVja19mb3JfY2FydF91cGRhdGVzAGVuYWJsZV9ncGlvAGZsaXBfYW1wZXJzYW5kAGF1dG9faGlkZV9tb3VzZV9jdXJzb3IAYWdncmVzc2l2ZV9iYWNrdXBzAHBlcmlvZGljX2JhY2t1cHMAdHJhbnNmb3JtX3NjcmVlbgBnZnhfZ3JpZF9saW5lcwBjYXB0dXJlX3RpbWVzdGFtcHMAbWF4X3ByZWZldGNoX3RocmVhZHMAYWNjZXB0X2Z1dHVyZQB2ZXJzaW9uICVzCgoAMC4yLjcALy8gYXVkaW8gdm9sdW1lOiAwLi4yNTYgCgB2b2x1bWUgJWQKCgAKLy8gTG9jYXRpb24gb2YgcGljby04J3Mgcm9vdCBmb2xkZXIKAHJvb3RfcGF0aCAlcwoKAAovLyBMb2NhdGlvbiBvZiBjYXJ0cmlkZ2Ugc2F2ZSBkYXRhCgBjZGF0YV9wYXRoICVzCgoACi8vIFNwZWNpZnkgd2hpY2ggcGxheWVyIGluZGV4IGpveXN0aWNrIGNvbnRyb2wgYmVnaW5zIGF0ICgwLi43KQoAam95c3RpY2tfaW5kZXggJWQKCgAKLy8gVHJlYXQgdGhlIGZpcnN0IG4gY29udHJvbGxlcnMgYXMgaWYgdGhleSB3ZXJlIGEgc2luZ2xlIG1lcmdlZCBjb250cm9sbGVyCgAvLyBlLmcuIG1lcmdlX2pveXN0aWNrcyAyIC0tPiBQMCBnZXRzIGNvbnRyb2xsZXJzIDAsMSwgUDEgZ2V0cyBjb250cm9sbGVyIDIuLgoAbWVyZ2Vfam95c3RpY2tzICVkCgoACi8vIEN1c3RvbSBrZXlib2FyZCBzY2FuY29kZXMgZm9yIGJ1dHRvbnMuIHBsYXllcjAgMC4uNiwgcGxheWVyMSAwLi41LCBtZW51X2J1dHRvbiwgcGxheWVyMiAwLi41LCBwbGF5ZXIzIDAuLjUKAGJ1dHRvbl9rZXlzIAAlZCAACgoALy8gUGxheSBub3RlcyBhcyB0aGV5IGFyZSBwbG90dGVkIGluIGZyZXF1ZW5jeSBtb2RlCgBsaXZlX25vdGVzICVkCgoALy8gaWZmIDE6IHdoZW4gdXNpbmcga2V5Ym9hcmQgY3Vyc29yLCBzbmFwIHRvIGNsb3Nlc3QgcGl4ZWwgLyBtYXAgY2VsCgBjdXJzb3Jfc25hcCAlZAoKAC8vIDAgZGVmYXVsdCAgMSBkYXJrIGJsdWUgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgMiBibGFjayBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgMyBncmF5IGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAKAGd1aV90aGVtZSAlZAoKAC8vIHNjYWxlIG9mIHNjcmVlbnNob3RzIGFuZCBnaWZzIC8vIDIgbWVhbnMgMjU2eDI1NgoAc2NyZWVuc2hvdF9zY2FsZSAlZAoAZ2lmX3NjYWxlICVkCgoALy8gbWF4aW11bSBnaWYgbGVuZ3RoIGluIHNlY29uZHMgKDAuLjEyMDsgMCBtZWFucyBubyBnaWYgcmVjb3JkaW5nKQoAZ2lmX2xlbiAlZAoKAC8vIHdoZW4gMSwgcmVzZXQgdGhlIHJlY29yZGluZyB3aGVuIHByZXNzaW5nIGN0cmwtOSAodXNlZnVsIGZvciBjcmVhdGluZyBhIG5vbi1vdmVybGFwcGluZyBzZXF1ZW5jZSkKAGdpZl9yZXNldF9tb2RlICVkCgoALy8gMCBmb3Igb2ZmLiAxIGZvciBhdXRvLiAyIHRvIGFsbG93IGNvbnRyb2wgb2YgYSBjYXJ0J3MgZnJhbWVyYXRlIGR1ZSB0byBob3N0IG1hY2hpbmUncyBjcHUgY2FwYWNpdHkKAGhvc3RfZnJhbWVyYXRlX2NvbnRyb2wgJWQKCgAvLyBmaWx0ZXIgc3Bsb3JlIGNhcnRyaWRnZXMKAC8vIDAgb2ZmICAgMSBvbiAoZXhjbHVkZSBjYXJ0cmlkZ2UgdGFnZ2VkIGFzICdtYXR1cmUnIGJ5IGNvbW11bml0eSkKAHNwbG9yZV9maWx0ZXIgJWQKCgAvLyAwIG9mZiAgIDEgb246IGFsd2F5cyBzdGFydCBpbiBzcGxvcmUgKHNhbWUgYXMgcGljbzggLXNwbG9yZSkKAGJvb3RfdG9fc3Bsb3JlICVkCgoALy8gdGFiIGRpc3BsYXkgd2lkdGggKDEgfiA0IHNwYWNlcykKAHRhYl93aWR0aCAlZAoKAC8vIDAgb2ZmIDEgb246IGRyYXcgdGFiIGNoYXJhY3RlcnMgYXMgc21hbGwgdmVydGljYWwgbGluZXMKAGRyYXdfdGFicyAlZAoKAC8vIDAgb2ZmIDEgb246IHJlY29yZCB0aGUgY3VycmVudCBjYXJ0cmlkZ2UgYW5kIGVkaXRvciB2aWV3IGV2ZXJ5IDMgc2Vjb25kcyAoc2VlIFthcHBkYXRhXS9hY3Rpdml0eS5sb2cudHh0KQoAcmVjb3JkX2FjdGl2aXR5X2xvZyAlZAoKAC8vIDAgb2ZmIDEgb246IGFsbG93IEY2Li5GOSAoYWx0ZXJuYXRpdmU6IGN0cmwgNi4uOSkKAGFsbG93X2Z1bmN0aW9uX2tleXMgJWQKCgAvLyAwIG9mZiAxIG9uOiBhdXRvbWF0aWNhbGx5IGNoZWNrIGZvciBhIG5ld2VyIHZlcnNpb24gb2YgYSBCQlMgY2FydCBlYWNoIHRpbWUgaXQgaXMgcnVuLgoAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcyAlZAoKAGZsaXBfYW1wZXJzYW5kIDEKCgAvLyBoaWRlIG1vdXNlIGN1cnNvciBmb3IgbiBzZWNvbmRzIHdoZW4gdHlwaW5nLgoAYXV0b19oaWRlX21vdXNlX2N1cnNvciAlZAoKAC8vIDAgb2ZmIDEgb246IGJhY2t1cCB3aXRoIGEgbmV3IHRpbWVzdGFtcGVkIGZpbGVuYW1lIG9uIGV2ZXJ5IHJ1bgoALy8gbm9ybWFsbHkgbm90IG5lZWRlZCAtLSB3YXMgdXNlZCBmb3IgZGVidWdnaW5nIGNyYXNoLW9uLXJ1bgoAYWdncmVzc2l2ZV9iYWNrdXBzICVkCgoALy8gYmFjayB1cCBjYXJ0cmlkZ2UgaW4gZWRpdG9yIGV2ZXJ5IG4gbWludXRlcyB3aGVuIG5vdCBpZGxlICgwIGZvciBubyBwZXJpb2RpYyBiYWNrdXBzKQoAcGVyaW9kaWNfYmFja3VwcyAlZAoKAC8vIGdsb2JhbCBzY3JlZW4gdHJhbnNmb3JtYXRpb25zOgoALy8gIDEyOSBmbGlwIGhvcml6b250YWxseQoALy8gIDEzMCBmbGlwIHZlcnRpY2FsbHkKAC8vICAxMzMgcm90YXRlIENXIDkwIGRlZ3JlZXMKAC8vICAxMzQgcm90YXRlIENXIDE4MCBkZWdyZWVzCgAvLyAgMTM1IHJvdGF0ZSBDVyAyNzAgZGVncmVlcwoAdHJhbnNmb3JtX3NjcmVlbiAlZAoKAC8vIDAgb2ZmICA+IDE6IGNvbG91ciB0byBkcmF3IHBpeGVsIGdyaWQgaW4gdGhlIGdmeCBlZGl0b3IgYXQgem9vbTo4IGFuZCB6b29tOjQgKDE2IGZvciBibGFjaykKAGdmeF9ncmlkX2xpbmVzICVkCgoALy8gZmlsZSBuYW1pbmcgZm9yIHNjcmVlbnNob3QgLyBnaWYgLyB3YXYgY2FwdHVyZXMKAC8vIDAgc2VxdWVudGlhbCAoZm9vXzAucG5nLCBmb29fMS5wbmcpICAgIDEgdGltZXN0YW1wIChmb29fMjAyNDAxMTVfMTIwODIzLnBuZykKAGNhcHR1cmVfdGltZXN0YW1wcyAlZAoKAC8vIGhvdyBtYW55IHRocmVhZHMgdG8gdXNlIGZvciBkb3dubG9hZGluZyBjYXJ0cyBpbiB0aGUgYmFja2dyb3VuZCB3aGlsZSBpbiBzcGxvcmUKAC8vIDAgdG8gdHVybiBvZmYgcHJlLWZldGNoaW5nIC0+IGNhcnRzIGFyZSBvbmx5IGRvd25sb2FkZWQgb25jZSB0aGV5IGFyZSBzZWxlY3RlZAoAbWF4X3ByZWZldGNoX3RocmVhZHMgJWQKCgAvLyAxIHRvIGFsbG93IGNhcnRyaWRnZXMgdG8gbG9hZCBldmVuIGlmIGNyZWF0ZWQgYnkgYSBmdXR1cmUgdmVyc2lvbiBvZiBQSUNPLTgKAGFjY2VwdF9mdXR1cmUgJWQKCgB7Y2lpaSA9ICQwOyBpaWkgPSAwO30AIntpaWkgPSBpaWkrMTsgcmV0dXJuIF9jYXJ0bmFtZVtjaWlpXS5jaGFyQ29kZUF0KGlpaS0xKTsgfSIAW2NvZG9dIGJic193Z2V0X29ubG9hZCA6OiByZWNlaXZlZC4gcHJlcGFyaW5nIHRvIHJ1bi4gcHN0YXRlLmN1cnJlbnRfZmlsZW5hbWUgJXMgYXBwLmFyZ3ZfZmlsZW5hbWUgJXMKAHdyb3RlIGxlbjogJWQKAC9iYnMvZ2V0X2NhcnQucGhwAGxpZD0AZmlsZW5hbWVfbm90X2ZvdW5kLnA4LnBuZwBiYnNfd2dldF9vbmxvYWQ6IHNldCBjdXJyZW50X2ZpbGVuYW1lIHRvICVzIChkZXJpdmVkIGZyb20gJXMpCgBjb3VsZCBub3QgZmV0Y2ggY2FydAAieyBpZiAodHlwZW9mIF9jYXJ0ZGF0ICE9PSd1bmRlZmluZWQnKSByZXR1cm4gMTsgcmV0dXJuIDA7fSIAIntyZXR1cm4gX2NhcnRkYXQubGVuZ3RoIC8gMzI3Njh9IgAieyBfY2Rwb3M9X2NkcG9zKzE7IHJldHVybiBfY2FydGRhdFtfY2Rwb3MtMV07IH0iAHN0YXJ0aW5nIGRvd25sb2FkCgBsb2FkaW5nIGVtYmVkZGVkIGNhcnRyaWRnZQoAam95c3RpY2sAZ2xvYmFsX2FwaQBraW9zawBncGlvX2Jhc2UAZ2xpdGNoX3Rlc3QAeABleGVjAHBhcmFtAHAAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGkAbwB1cmxfY29kZQB1cmxfZ2Z4AGNpZABsZXQgc3RhdGVPYmogPSB7IGxvYWRfcGFyYW1fZGF0YSA6IGZhbHNlIH07IGhpc3RvcnkucHVzaFN0YXRlKHN0YXRlT2JqLCAiUElDTy04IiwgIj8iKTsAZnVuY3Rpb24gbWtkaXJfMChkKSB7IHRyeSB7IHN0YXQgPSBGUy5zdGF0KGQpOyB9IGNhdGNoIChlKSB7IEZTLm1rZGlyKGQpOyB9IH0gbWtkaXJfMCgnL3VzZXJfZGF0YScpOyBGUy5tb3VudChJREJGUywge30sICcvdXNlcl9kYXRhJyk7IEZTLnN5bmNmcyh0cnVlLCBmdW5jdGlvbiAoZXJyKSB7IGlmICghZXJyKSB7IGNvbnNvbGUubG9nKCJjb2RvOiBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iKTsgY29kb19tb3VudGVkX2ZpbGVzeXN0ZW0gPSAxOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NkYXRhJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY3N0b3JlJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYWNrdXAnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9wbGF0ZXMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvbGFiZWxzJyk7IH0gZWxzZSB7IGNvbnNvbGUubG9nKCIqKiBjb3VsZCBub3QgbW91bnQgZmlsZXN5c3RlbVxuIik7IGNvbnNvbGUubG9nKGVycik7IH0gfSApOwAvdW50aXRsZWQucDgAL3VudGl0bGVkXyVkLnA4ACJ7IE1vZHVsZS5waWNvOFJlc2V0ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDM7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVBhdXNlZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA0OyB9IDsgTW9kdWxlLnBpY284U2V0UGF1c2VkID0gZnVuY3Rpb24ocCkgeyBjb2RvX2NvbW1hbmQgPSA1OyBjb2RvX2NvbW1hbmRfcCA9IDA7IGlmIChwKSBjb2RvX2NvbW1hbmRfcD0xO30gOyBNb2R1bGUucGljbzhUb2dnbGVDb250cm9sTWVudSA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA3O30gOyBNb2R1bGUucGljbzhEcmFnT3ZlciA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxMDt9IDsgTW9kdWxlLnBpY284RHJhZ1N0b3AgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTE7fSA7IH0iAGNhcnRzLwBjZGF0YS8AcGljbzguZGF0AGRhdGEucG9kAFJVTk5JTkc6ICVzCgBjb3VsZG4ndCBsb2FkICVzCgBjb3VsZCBub3QgbG9hZCAlcwoALi8Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJ3aWRnZXQucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoInBpY28tOC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AGEgbmV3IHZlcnNpb24gb2YgdGhpcwBjYXJ0cmlkZ2UgaXMgYXZhaWxhYmxlACUwMmQAZGlyZWN0b3J5OiAvAGRpcmVjdG9yeTogJXMAbm90IGZvdW5kAC0tbW9yZS0tAGNvbnRpbnVlAHJlc2V0IGNhcnQAc291bmQ6b24Ac291bmQ6b2ZmAHZvbHVtZTogMDEyMzQ1NjcAdXBkYXRlIGNhcnQAc2tpcABzb3VuZCBvZmYgKGN0cmwtbSkAc291bmQgb24gKGN0cmwtbSkAQEAgcmVib290X21hY2hpbmUoKSBwYXJhbV9zdHJfcGVuZGluZzogJXMKAGRvd25sb2FkIHRpbWVkIG91dABkb3dubG9hZGluZy4uIGNhbmNlbGxlZAAubmZvAC90ZW1wLQBjb3VsZCBub3QgZmluZCBjYXJ0AGRvd25sb2FkaW5nLi4gb2sAbG9hZGVkICMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBjb25uZWN0IHRvIGJicwBmdXR1cmUgdmVyc2lvbi4gcGxlYXNlIHVwZGF0ZSEAIHZvbHVtZTogICAgICAgICAgICAgIChjdHJsLS8rKQB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7IHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOyBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7IHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0OyBwaWNvOF9zdGF0ZS5yZXF1ZXN0X3BvaW50ZXJfbG9jayA9ICQ1OyBwaWNvOF9zdGF0ZS5yZXF1aXJlX3BhZ2VfbmF2aWdhdGVfY29uZmlybWF0aW9uID0gJDY7IHBpY284X3N0YXRlLnNodXRkb3duX3JlcXVlc3RlZCA9ICQ3OyB9IH0AInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmQ7IGNvZG9fY29tbWFuZD0wO30gcmV0dXJuIHZhbH0iACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmRfcDsgY29kb19jb21tYW5kX3A9MDt9IHJldHVybiB2YWx9IgAie2J1dHRvbl9pID0gMH0iACJ7dmFyIHZhbD0tMTsgaWYgKHR5cGVvZiBwaWNvOF9idXR0b25zICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2J1dHRvbnNbYnV0dG9uX2ldOyBidXR0b25faSArKzt9IHJldHVybiB2YWw7fSIAInt2YXIgdmFsID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9nYW1lcGFkcyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDt9IHJldHVybiB2YWw7fSIAKiogZmFpbGVkIHRvIHNhdmUgc2NyZWVuc2hvdABzZXQgdmlkZW8gc3RhcnRpbmcgcG9pbnQAbm8gdmlkZW8gcmVjb3JkZWQgKHJlYzogY3RybC04KQAqKiBmYWlsZWQgdG8gc2F2ZSB2aWRlbwBqb3lzdGljayAlZCBjb25uZWN0ZWQAam95c3RpY2sgJWQgZGlzY29ubmVjdGVkAGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICd1bmRlZmluZWQnKSB7IGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsgfQBAQCByZWJvb3RfbWFjaGluZSgpAGNvdWxkIG5vdCBvcGVuIGZpbGUgdG8gc2F2ZSBmcm9tIHdlYjogJXMKAHsgZG93bmxvYWRfYnJvd3Nlcl9maWxlKFVURjhUb1N0cmluZygkMCwgJDEpLCBVVEY4VG9TdHJpbmcoJDIsICQzKSk7IH0AZGF0YTppbWFnZS8lcztiYXNlNjQsAHsgaWYgKHR5cGVvZiBwOGltZyAhPT0gJ3VuZGVmaW5lZCcpIHsgcDhpbWcuc3JjPSIiOyB9IHA4aW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7IHA4aW1nLnNyYyA9IFVURjhUb1N0cmluZygkMCwgJDEpOyBwOGltZy5zdHlsZSA9ICd3aWR0aDoxMjhweDsgaGVpZ2h0OjEyOHB4OyBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsnOyBpZiAodHlwZW9mIHA4aW1naG9sZGVyID09PSAndW5kZWZpbmVkJyB8fCAhcDhpbWdob2xkZXIpeyBwOGltZ2hvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBwOGltZ2hvbGRlci5zdHlsZS5jc3NUZXh0ID0gJ21pbi13aWR0aDoxNjBweDsgZGlzcGxheTp0YWJsZTsgcG9zaXRpb246Zml4ZWQ7IHRvcDoyMHB4OyBsZWZ0OjIwcHg7IHBhZGRpbmc6MTJweDsgYmFja2dyb3VuZC1jb2xvcjojMDAwOyBib3gtc2hhZG93OiAycHggMnB4IDhweCByZ2JhKDE2LCAwLCA0OCwgMC40KTsnOyBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHA4aW1naG9sZGVyKTsgfSBpZiAocDhpbWdob2xkZXIpIHsgd2hpbGUgKHA4aW1naG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gMCkgcDhpbWdob2xkZXIucmVtb3ZlQ2hpbGQocDhpbWdob2xkZXIuZmlyc3RDaGlsZCk7IHZhciBkaXNtaXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpc21pc3Muc3R5bGUuY3NzVGV4dCA9ICdkaXNwbGF5OnRhYmxlOyBmb250LXNpemU6MTBwdDsgY29sb3I6I2ZmZjsgcGFkZGluZzo0cHg7IGN1cnNvcjpwb2ludGVyOyBtYXJnaW4tbGVmdDoxMHB4OyBmbG9hdDpyaWdodCc7IGRpc21pc3MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBwOGltZy5zcmM9IiI7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyBwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5PSJub25lIjsgfSwgZmFsc2UpOyBkaXNtaXNzLmlubmVySFRNTCA9ICdYJzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoZGlzbWlzcyk7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKHA4aW1nKTsgdmFyIGluZm8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgaW5mby5pbm5lckhUTUwgPSAnPGJyPiA8Zm9udCBzdHlsZT0iY29sb3I6I2JiYjsgZm9udC1zaXplOjhwdCI+PGNlbnRlcj4gKHJpZ2h0LWNsaWNrIHRvIHNhdmUpIDwvY2VudGVyPjwvZm9udD4nOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChpbmZvKTsgaWYgKHA4aW1naG9sZGVyLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiKSBwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID0gIiI7IH0gfQBjb3VsZCBub3QgY29tcHJlc3MgY29kZQoAaGV4ZHVtcCAlZCBieXRlcyB0byBjbGlwYm9hcmQAd3JpdGluZyAlZCBieXRlcyAoY29kZSBvbmx5KQB3cml0aW5nICVkIGJ5dGVzACUyeABmdXR1cmUgdmVyc2lvbjogJWQAY2FydHJpZGdlIGRhdGEgaXMgY29ycnVwdGVkACVzJXMucDglcwAucm9tACVzJXMlcy5wOAB1bnRpdGxlZABiYWNrdXAvACU0ZCUwMmQlMDJkXyUwMmQlMDJkJTAyZF8AcHJvZ3JhbSBvdmVyIHNpemUgbGltaXQKAGNvbXByZXNzZWQgY29kZSBzaXplIHRvbyBsYXJnZQoAJWQgLyAlZCBieXRlcwB3YXJuaW5nOiBjb21wcmVzc2VkIGNvZGUgdG9vIGJpZwB0byBiZSBleHBvcnRlZCBvciBzYXZlZCBhcyBwbmcAKHNhdmluZyAucDggYW55d2F5KQBmbGF0dGVuZWQgI2luY2x1ZGVzACoqIGZhaWxlZCB0byBzYXZlICoqAC91c2VyX2RhdGEvY3N0b3JlLyVzJXMAX18AcHJlcGFyZV9sb2FkZWRfY2FydDogbG9va2luZyBmb3Igc2FuZGJveGVkIGNhcnQgcGF0Y2g6ICVzCgAgIGZvdW5kCgAgIG5vdCBmb3VuZAoAd2FybmluZzogcG9zc2libGUgZGVwcmVjYXRlZCBAQABsZWdhY3k6IHBhdCAlZCBzd2FwIGNoYW46ICVkICVkAHByaW50KCJhcmNoZW9zIiw5OCwzNCw3KQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSBsZWdhY3kgMC4xLjEgYXBpIGluamVjdGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBfdmFsaWRhdGUoYykgaWYgKGMuX251bT09bmlsKSB0aGVuIGxvY2FsIGk9MCB3aGlsZShjW2krMV1+PW5pbCkgZG8gaT1pKzEgZW5kIGMuX251bT1pIGMuX21heD1pIAljLl9taW49aSsxIGMuX251bSA9IGkgYy5fY2kgPSBpIGVuZCBlbmQgCWZ1bmN0aW9uIGZvcmVhY2goYywgZikgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGlmIChjLl9tYXggPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgZm9yIGk9MSxjLl9tYXggZG8gaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpID0gaSBmKGNbaV0pIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCBfdmFsaWRhdGUoYykgbG9jYWwgaT0wIHJldHVybiBmdW5jdGlvbigpIGk9aSsxIHdoaWxlIChjW2ldPT1uaWwgYW5kIGk8Yy5fbWF4KSBkbyBpPWkrMSBlbmQgaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpPWkgcmV0dXJuIGNbaV0gZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWRkKGMsIGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBmb3Igaj1jLl9taW4sYy5fbWF4KzEgZG8gaWYgKGNbal0gPT0gbmlsKSB0aGVuIGMuX21heCA9IG1heChjLl9tYXgsaikgYy5fbWluID0gaisxIGMuX251bSA9IGMuX251bSsxIGNbal09aSByZXR1cm4gaSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBjb3VudChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIDAgZW5kIF92YWxpZGF0ZShjKSByZXR1cm4gYy5fbnVtIGVuZCBmdW5jdGlvbiBkZWwoYyxpKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGk9PW5pbCkgdGhlbiByZXR1cm4gZW5kIGlmIChjLl9jaT09aSkgdGhlbiBjW2MuX2NpXT1uaWwgYy5fbWluPW1pbihjLl9taW4sIGMuX2NpKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVsc2UgZm9yIGo9MSxjLl9tYXggZG8gaWYgKGNbal09PWkpIHRoZW4gY1tqXT1uaWwgYy5fbWluPW1pbihjLl9taW4saikgYy5fbnVtPWMuX251bS0xIHJldHVybiBlbmQgZW5kIGVuZCB3aGlsZSAoYy5fbWF4PjEgYW5kIGNbYy5fbWF4XT09bmlsKSBkbyBjLl9tYXg9Yy5fbWF4LTEgZW5kIGVuZCAgbmQ9MAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKAGxlZ2FjeTogMC4xLjEgYXBpIGluamVjdGVkAC5sdWEAcGxlYXNlIHNwZWZpY3kgYSBmaWxlbmFtZQAqKiogbm8gZmlsZW5hbWUuIG5vdCBzYXZlZCEgKioqAGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ACogY2FuIG5vdCBvdmVyd3JpdGUgYmJzIGNhcnQhICoAc2F2ZSBmYWlsZWQAKioqKiBzYXZlIGZhaWxlZCAqKioqAHNhdmVkICVzJXMgKip0ZW1wIGRpc2sqKgBzYXZlZCAlcyVzJXMgKip0ZW1wIGRpc2sqKgBwbmcAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgAlc18lJWQuJXMAJXNfJWQlMDJkJTAyZF8lMDJkJTAyZCUwMmQuJXMAJXMuJXMAZmlsZSBvdXRwdXQgcGF0aDogJXMKAG1vdW50X2VtYmVkZGVkX2NhcnQ6ICVzICglZCBjaGFycykgJXMKACoqIG1vdW50X2VtYmVkZGVkX2NhcnQ6IGZhaWxlZCB0byBtb3VudABjb3VsZCBub3QgbG9hZCBjYXJ0cmlkZ2UAY2FuIG5vdCBsb2FkAHA4bS5wbmcAcDhtLnBuZyBub3Qgc3VwcG9ydGVkAGltYWdlIGlzIHRvbyBsYXJnZSAoMTI4IG1heCkAZmlsZSBpcyB0b28gbGFyZ2UgKDUxMmsgbWF4KQB7IGpzU3RyaW5nID0gcDhfZHJvcHBlZF9jYXJ0OyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcCA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOyBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXA7IH0AeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydF9uYW1lOyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcDIgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwMiwgbGVuZ3RoQnl0ZXMpOyByZXR1cm4gc3RyaW5nT25XYXNtSGVhcDI7IH0AbG9hZGluZyB1cmxfc3RyOiAlcwoAYmFzZTY0LABAQCBzZXR0aW5nIGFzIGRyb3BwZWQgaW1hZ2U6ICVkICVkCgBAQCB0cnlpbmcgYXMgZGF0YSBmaWxlLiBkYXRfZi0+bGVuOiAlZAoAY291bGQgbm90IGZpbmQgZHJvcHBlZCBmaWxlAGh0dHBzOi8vcGljby04LWVkdS5jb20vP2M9AGxldCBzdGF0ZU9iaiA9IHsgbG9hZF9wYXJhbV9kYXRhIDogdHJ1ZX07IGhpc3RvcnkucHVzaFN0YXRlKHN0YXRlT2JqLCAnUElDTy04IFVSTCBDYXJ0JywgJyVzJyk7ACoqIGZhaWxlZDogdXJsIGlzIHRvbyBsb25nACVkIC8gMjA0MCBjaGFycwBubyB2YWx1ZQB1c2VyZGF0YQBudW1iZXIAdGhyZWFkAHByb3RvAHVwdmFsAHN0YWNrIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAdGFibGUgb3ZlcmZsb3cAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyAG5OAHhYAGJCAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAHN0cmluZyBsZW5ndGggb3ZlcmZsb3cAY29uY2F0ZW5hdGUAdXB2YWx1ZQBpbmRleABhdHRlbXB0IHRvIG1vZGlmeSAlcyAnJXMnIChzdHJpbmdzIGFyZSBpbW11dGFibGUpAGF0dGVtcHQgdG8gJXMgJXMgJyVzJyAoYSAlcyB2YWx1ZSkAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlAF9FTlYAZ2xvYmFsAGZpZWxkAG1ldGhvZABjb25zdGFudAAlMC41ZgAuOTk5OQAuMDAwMAAlMC4zZgAlMC40ZgBnZXQgbGVuZ3RoIG9mAHBlcmZvcm0gYXJpdGhtZXRpYyBvbgB0YWJsZSBpbmRleCBpcyBuaWwAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAbG9vcCBpbiBzZXR0YWJsZQBsb29wIGluIGdldHRhYmxlAGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGNhbGwAW3N0cmluZyAiACJdACVzADB4JXgAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAHRleHQAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAbGFiZWxzL2dvdG9zAG5vIHZpc2libGUgbGFiZWwgJyVzJyBmb3IgPGdvdG8+IGF0IGxpbmUgJWQgKHRhYiAlZCkAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wADxnb3RvICVzPiBhdCBsaW5lICVkICh0YWIgJWQpIGp1bXBzIGludG8gdGhlIHNjb3BlIG9mIGxvY2FsICclcycAdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKQAlczolZDogJXMAbGV4aWNhbCBlbGVtZW50IHRvbyBsb25nACclcycAJXMgbmVhciAlcwBAQAAnJWMnADo6ADxudW1iZXI+ADxuYW1lPgA8c3RyaW5nPgA8ZW9sPgBeXj0Ab3Bjb2RlcwAlcyBleHBlY3RlZABDIGxldmVscwAoZm9yIGluZGV4KQAoZm9yIGxpbWl0KQAoZm9yIHN0ZXApAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RhdGUpAChmb3IgY29udHJvbCkAJz0nIG9yICdpbicgZXhwZWN0ZWQAbGFiZWwgJyVzJyBhbHJlYWR5IGRlZmluZWQgb24gbGluZSAlZCAodGFiICVkKQAoZm9yIGNvbXBvdW5kKQB1bmV4cGVjdGVkIHN5bWJvbABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAaXRlbXMgaW4gYSBjb25zdHJ1Y3RvcgBmdW5jdGlvbnMAc2VsZgA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAY29uc3RhbnRzAGxvY2FsIHZhcmlhYmxlcwBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AJXMgZXhwZWN0ZWQgKHRvIGNsb3NlICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkpAGZ1bmN0aW9uIGF0IGxpbmUgJWQgKHRhYiAlZCkAbWFpbiBmdW5jdGlvbgB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzAGludmFsaWQgbG9uZyBzdHJpbmcgZGVsaW1pdGVyAHVuZmluaXNoZWQgc3RyaW5nAGhleGFkZWNpbWFsIGRpZ2l0IGV4cGVjdGVkAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAGRlY2ltYWwgZXNjYXBlIHRvbyBsYXJnZQBYeABCYgBtYWxmb3JtZWQgbnVtYmVyAHVuZmluaXNoZWQgbG9uZyBjb21tZW50AHVuZmluaXNoZWQgbG9uZyBzdHJpbmcAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAHVwdmFsdWVzAGJpbmFyeSBzdHJpbmcAdHJ1bmNhdGVkAG5vdCBhAHZlcnNpb24gbWlzbWF0Y2ggaW4AaW5jb21wYXRpYmxlAGNvcnJ1cHRlZAAlczogJXMgcHJlY29tcGlsZWQgY2h1bmsAaW52YWxpZCBrZXkgdG8gJ25leHQnAHN0YWNrIHRyYWNlYmFjazoACgkuLi4AU2xudAAKCSVzOgAlZDoAIGluIABmdW5jdGlvbiAnJXMnAG1haW4gY2h1bmsAZnVuY3Rpb24gPCVzOiVkPgAKCSguLi50YWlsIGNhbGxzLi4uKQA9W0NdAD0/AG1haW4ATHVhAGZvciBpdGVyYXRvcgBtZXRhbWV0aG9kAGJhZCBhcmd1bWVudCAjJWQgKCVzKQBuAGNhbGxpbmcgJyVzJyBvbiBiYWQgc2VsZiAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAFNsACVzOiVkOiAAJXMgZXhwZWN0ZWQsIGdvdCAlcwB2YWx1ZSBleHBlY3RlZABvYmplY3QgbGVuZ3RoIGlzIG5vdCBhIG51bWJlcgBfX3Rvc3RyaW5nACVzOiAlcABfX2luZGV4AF9fbmV3aW5kZXgAX19nYwBfX21vZGUAX19sZW4AX19lcQBfX2FkZABfX3N1YgBfX211bABfX2RpdgBfX21vZABfX3BvdwBfX2FuZABfX29yAF9feG9yAF9fc2hsAF9fc2hyAF9fbHNocgBfX3JvdGwAX19yb3RyAF9fbm90AF9faWRpdgBfX3BlZWsAX19wZWVrMgBfX3BlZWs0AF9fdW5tAF9fbHQAX19sZQBfX2NvbmNhdABfX2NhbGwAX19tZXRhdGFibGUAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAGNhbm5vdCBjaGFuZ2UgYSBwcm90ZWN0ZWQgbWV0YXRhYmxlAHRhYmxlIG9yIHN0cmluZyBleHBlY3RlZABfX3BhaXJzAF9faXBhaXJzAGFzc2VydGlvbiBmYWlsZWQhAGluZGV4IG91dCBvZiByYW5nZQBjb3JvdXRpbmUgZXhwZWN0ZWQAY29yb2xpYjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQBjb3JvbGliOiBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAGNvcm9saWI6IHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAGNhbm5vdCByZXN1bWUgbm9uLXN1c3BlbmRlZCBjb3JvdXRpbmUAY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBydW5uaW5nAHN1c3BlbmRlZABub3JtYWwAZGVhZAB0b28gbWFueSByZXN1bHRzIHRvIHVucGFjawB1cGxvYWQAeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJyl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID09PSAndW5kZWZpbmVkJykgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID0gbmV3IEFycmF5KCk7IHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcy5wdXNoKFVURjhUb1N0cmluZygkMCwgJDEpKTsgfSB9AF9lbmRfb2ZfcHJvZ3JhbQB0byBjbG9zZSAnAGF0IGxpbmUgACVkICh0YWIgJWQpAHVuY2xvc2VkICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkKAHVuY2xvc2VkICVzAC0tIHBpY28tOCBoZWFkZXIAYXNzZXJ0aW9uIGZhaWxlZABwb3NpdGlvbiBvdXQgb2YgYm91bmRzAG5vdCBlbm91Z2ggbWVtb3J5ADxlb2Y+AHRoZW1lIAB0aGVtZQBibHVlAHNldCB0aGVtZSB0byBibHVlAGF1dG8Ac2V0IHRoZW1lIHRvIGF1dG8AY2xhc3NpYwBzZXQgdGhlbWUgdG8gY2xhc3NpYwBjb25maWcgdGhlbWUgW3ZhbHVlXQBhdmFpbGFibGUgdGhlbWVzOgBkcmF3X3RhYnMgAGRyYXdfdGFicwBzaG93X3RhYnMgAHNob3dfdGFicwBvbgB0YWIgY2hhcmFjdGVycyBvbgBvZmYAdGFiIGNoYXJhY3RlcnMgb2ZmAGNvbmZpZyBkcmF3X3RhYnMgW29uIHwgb2ZmXQB3aGVuIG9uLCB0YWIgY2hhcmFjdGVycyBhcmUgAGRyYXduIGluIHRoZSBjb2RlIGVkaXRvci4AY3VycmVudCBzZXR0aW5nOiBvbgBjdXJyZW50IHNldHRpbmc6IG9mZgBzcGxvcmVfZmlsdGVyIABzcGxvcmVfZmlsdGVyAGZpbHRlciBvbgBmaWx0ZXIgb2ZmAGNvbmZpZyBmaWx0ZXIgW29uIHwgb2ZmXQB3aGVuIG9uLCBjYXJ0cmlkZ2VzIHRhZ2dlZCBhcwBtYXR1cmUgd2lsbCBub3QgYmUgZG93bmxvYWRlZC4AZmlsdGVyIGlzIGN1cnJlbnRseTogb24AZmlsdGVyIGlzIGN1cnJlbnRseTogb2ZmAHZvbHVtZSAAc2V0IHZvbHVtZTogJWQAY29uZmlnIHZvbHVtZSBbdmFsXQB2YWw6IDggcXVpZXQgLi4gMjU2IGxvdWQAY3VycmVudCB2b2x1bWU6ICVkAGdpZl9sZW4gAHNldCBnaWZfbGVuOiAlZABnaWZfbGVuAGNvbmZpZyBnaWZfbGVuIFtzZWNvbmRzXQBjdXJyZW50IGdpZl9sZW46ICVkAGdpZl9yZXNldF9tb2RlIABzZXQgZ2lmX3Jlc2V0X21vZGU6ICVkAGdpZl9yZXNldF9tb2RlAGNvbmZpZyBnaWZfcmVzZXRfbW9kZSBbbW9kZV0AIDA6IGRvbid0IHJlc2V0IGFmdGVyIHJlY29yZGluZwAgMTogcmVzZXQgYWZ0ZXIgZWFjaCByZWNvcmRpbmcAY3VycmVudCBnaWZfcmVzZXRfbW9kZTogJWQAc2Z4X2ZpbHRlcnMgAHNldCBzZnhfZmlsdGVyczogJWQAZ2lmX3NjYWxlIABzZXQgZ2lmX3NjYWxlOiAlZABnaWZfc2NhbGUAY29uZmlnIGdpZl9zY2FsZSBbc2l6ZV0AY3VycmVudCBnaWZfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUgAHNldCBzY3JlZW5zaG90X3NjYWxlOiAlZABzY3JlZW5zaG90X3NjYWxlAGNvbmZpZyBzY3JlZW5zaG90X3NjYWxlIFtzaXplXQBjdXJyZW50IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHRhYl93aWR0aCAAc2V0IHRhYl93aWR0aDogJWQAdGFiX3dpZHRoAGNvbmZpZyB0YWJfd2lkdGggW3dpZHRoXQBjdXJyZW50IHRhYl93aWR0aDogJWQAY29uZmlnIFtzZXR0aW5nXQBhdmFpbGFibGUgc2V0dGluZ3M6ACVkLyVkICUzLjFmIGZwcwAlZC8lZCAlMS4yZiAlMS4yZgByZXN1bWUoKQBub3RoaW5nIHRvIHJlc3VtZQBzdGF0KDQpACBfZHJhdwBwcm9ncmFtIGV4Y2VlZHMgY2hhciBsaW1pdAAlZCAvICVkIGNoYXJzCgBwcm9ncmFtIHRvbyBsYXJnZQAlZCAvICVkIHRva2VucwoALS0gcGljby04IGhlYWRlcgoJZG8gCWxvY2FsIF9yZWZ1bmRfY3B1XyA9IF9fcmVmdW5kX2NwdV9fIAlsb2NhbCBfcGFpcnMgPSBfX3BhaXJzX18gCWxvY2FsIF9pcGFpcnMgPSBfX2lwYWlyc19fIAlsb2NhbCBfdHlwZSA9IF9fdHlwZSAJbG9jYWwgX3Rvc3RyID0gX190b3N0ciAJbG9jYWwgX3N0b3AgPSBfX3N0b3AgCWxvY2FsIF9wcmludCA9IF9fcHJpbnQgCWxvY2FsIF9wcmludGggPSBfX3ByaW50aCAJbG9jYWwgX3Rvc3RyaW5nID0gX190b3N0cmluZ19fIAlsb2NhbCBfbG9hZCA9IF9fbG9hZCAJbG9jYWwgX3N0YXQgPSBzdGF0IAlsb2NhbCBfZXh0Y21kID0gX19leHRjbWQgCWxvY2FsIF9fbWVudWl0ZW0gPSBfbWVudWl0ZW0gCWxvY2FsIF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgCWxvY2FsIF9jb3Jlc3VtZSA9IF9fY29yZXN1bWUgCWxvY2FsIF9zZWxlY3QgPSBfX3NlbGVjdCAJbG9jYWwgX3N1cGVyeWllbGQgPSBfX3N1cGVyeWllbGQgCWxvY2FsIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gMCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBmdW5jdGlvbigpIGVuZCAJbG9jYWwgX21pZCA9IG1pZCAJX3BhdXNlbWVudT1fcGF1c2VtZW51IG9yIHt9CWZ1bmN0aW9uIG1lbnVpdGVtKGluZGV4X3AsIGxhYmVsLCBjYWxsYmFjaykgCQlpbmRleF9wID0gaW5kZXhfcCBvciBfbGFzdF9tZW51aXRlbV9pbmRleCAJCWNhbGxiYWNrID0gY2FsbGJhY2sgb3IgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgCQlpZiAodHlwZShpbmRleF9wKX49Im51bWJlciIpIHRoZW4gc3RvcCgiYmFkIG1lbnVpdGVtIGluZGV4IikgZW5kIAkJbG9jYWwgaW5kZXggPSBpbmRleF9wICYgMHhmZiAJCWlmIChpbmRleCA8IDEgb3IgaW5kZXggPiA1KSB0aGVuIHJldHVybiBlbmQJCV9wYXVzZW1lbnVbaW5kZXhdID0ge30gCQlfcGF1c2VtZW51W2luZGV4XS5sYWJlbCA9IGxhYmVsIAkJX3BhdXNlbWVudVtpbmRleF0uY2FsbGJhY2sgPSBjYWxsYmFjayAJCV9fbWVudWl0ZW0oaW5kZXhfcCwgbGFiZWwpIAllbmQgCWZ1bmN0aW9uIHBhaXJzKGMpICBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX3BhaXJzIChjKSBlbmQgCWZ1bmN0aW9uIGlwYWlycyhjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX2lwYWlycyhjKSBlbmQgCWZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwgb3IgI2MgPT0gMCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIAkgCWxvY2FsIGk9MSAJIAlsb2NhbCBsaT1uaWwgCQlfcmVmdW5kX2NwdV8oKCNjID49IDE2KSBhbmQgLTE2IG9yIC0jYykgCSAJcmV0dXJuIGZ1bmN0aW9uKCkgCSAJCWlmIChjW2ldID09IGxpKSB0aGVuIGk9aSsxIGVuZCAJIAkJd2hpbGUoY1tpXT09bmlsIGFuZCBpIDw9ICNjKSBkbyBpPWkrMSBlbmQgCSAJCWxpPWNbaV0gCQkJX3JlZnVuZF9jcHVfKC0xNykgCSAJCXJldHVybiBsaSAJIAllbmQgCWVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLF9mKSBmb3IgaSBpbiBhbGwoYykgZG8gX2YoaSkgZW5kIGVuZCBmdW5jdGlvbiB0b3N0ciguLi4pIAktLVtbIG5lZWQgdG8gdXNlIHRvc3RyaW5nIHdoZW4gbWV0YXRhYmxlIGFuZCBtdC5fX3Rvc3RyaW5nIGlzIHNldCBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJbG9jYWwgcD17Li4ufSAJbG9jYWwgYSxiLG1heF9kZXB0aCA9IHBbMV0scFsyXSxwWzNdIAlpZiAobWF4X2RlcHRoKSB0aGVuIHJldHVybiBfdG9zdHIoLi4uKSBlbmQgCWlmICgoX3R5cGUoYSk9PSJ0YWJsZSIgYW5kICgoZ2V0bWV0YXRhYmxlKGEpIGFuZCBnZXRtZXRhdGFibGUoYSkuX190b3N0cmluZykgb3IgYikpKSBvciAoKF90eXBlKGEpPT0iZnVuY3Rpb24iIGFuZCBiKSkgdGhlbiAJIHJldHVybiBfdG9zdHJpbmcoYSkgICAgIGVsc2UgCSByZXR1cm4gX3Rvc3RyKC4uLikgCWVuZCBlbmQgCS0tW1sgcHJpbnQoKSBzaG91bGQgcHJpbnQgbm90aGluZzsgcHJpbnQobmlsKSBzaG91bGQgcHJpbnQgW25pbF07IHN0b3AoKSBwYXNzZXMgYXJncyB0byBwcmludCBzbyB0aGF0IGNhbiBwcmludCBpbiBhIGNvbG91cl1dCWZ1bmN0aW9uIHN0b3AoLi4uKSAgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3N0b3AoKSAgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3N0b3AgICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50KC4uLikgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50KCkgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50ICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50aCguLi4pICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50aCgpIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50aCh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgZnVuY3Rpb24gbG9hZCguLi4pIAlsb2NhbCByZXM9X2xvYWQoLi4uKSAJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkLiByZWY6cGljb3dhcmVdXQlpZiAoX3N0YXQoMTA3KSA+IDApIHRoZW4gcmV0dXJuIHRydWUgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMSkgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmluZCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0yKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmZXRjaCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0zKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBjb25uZWN0IHRvIGJicyIgZW5kIAlpZiAoX3N0YXQoMTA3KSA8IDAgb3IgcmVzID09IG5pbCkgdGhlbiByZXR1cm4gZmFsc2UsICJhY2Nlc3MgZGVuaWVkIiBlbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGV4dGNtZChjbWQsIC4uLikgCWxvY2FsIHJlcz1fZXh0Y21kKGNtZCwgLi4uKSAJaWYgKGNtZD09ImdvX2JhY2siIG9yIGNtZD09ImJyZWFkY3J1bWIiKSB0aGVuIAkJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkXV0JZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBjb3Jlc3VtZShjLC4uLikgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJbG9jYWwgcmV0ID0ge19jb3Jlc3VtZShjLC4uLil9CXdoaWxlIChfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoKSBhbmQgY29zdGF0dXMoYykgPT0gInN1c3BlbmRlZCIpIGRvIAkJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAkJcmV0ID0ge19jb3Jlc3VtZShjLC4uLil9IAllbmQgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJcmV0dXJuIHVucGFjayhyZXQpIGVuZCBmdW5jdGlvbiBmbGlwKCkgCXJlcGVhdCAJCWxvY2FsIGNvbnRpbnVlX21lbnUgPSBmYWxzZSAJCWZvciBpPTEsNSBkbyAJCSBsb2NhbCB2YWwgPSBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZChpKSAJCSBpZiAodmFsKSB0aGVuIAkJICBfbGFzdF9tZW51aXRlbV9pbmRleCA9IGkgCQkgIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayAJCSAgY29udGludWVfbWVudSA9IF9wYXVzZW1lbnVbaV0uY2FsbGJhY2sodmFsKSAJCSAgaWYgKHZhbCAmIDMgPiAwKSB0aGVuIGNvbnRpbnVlX21lbnUgPSB0cnVlIGVuZCAJCSBlbmQgCQllbmQgCQlpZiAoY29udGludWVfbWVudSkgdGhlbiBleHRjbWQoInBhdXNlIiwgMSkgX3N1cGVyeWllbGQoKSBlbmQgIAl1bnRpbCBub3QgY29udGludWVfbWVudSAJX19mbGlwKCkgZW5kIGVuZCAtLVtbIHNjb3BlIF1dX19yZWZ1bmRfY3B1X18gPSBuaWwgX19pcGFpcnNfXyA9IG5pbCBfX3BhaXJzX18gPSBuaWwgX190b3N0ciAgICA9IG5pbCBfX3N0b3AgICAgID0gbmlsIF9fcHJpbnQgICAgPSBuaWwgX19wcmludGggICA9IG5pbCBfX2xvYWQgICAgID0gbmlsIF9fZXh0Y21kICAgPSBuaWwgX190b3N0cmluZ19fID0gbmlsIF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBuaWwgX19jb3Jlc3VtZSA9IG5pbCBfX3NlbGVjdCA9IG5pbCBfX3N1cGVyeWllbGQgPSBuaWwgAChmdW5jdGlvbigpIACAPYAgb3IgMC41IIE9gSBvciAyMzEzMC41III9giBvciAyMDc2Ny41IIM9gyBvciAzIIQ9hCBvciAzMjEyNS41IIU9hSBvciAtMTg0MDIuNSCGPYYgb3IgLTE2MzIuNSCHPYcgb3IgMjA5MjcuNSCIPYggb3IgLTE5MDA4LjUgiT2JIG9yIC0yNjIwOC41IIo9iiBvciAtMjAxOTIuNSCLPYsgb3IgMCCMPYwgb3IgLTI0MzUxLjUgjT2NIG9yIC0yNTc5Mi41II49jiBvciA0II89jyBvciAtMjAwMzIuNSCQPZAgb3IgLTI1NjAuNSCRPZEgb3IgMSCSPZIgb3IgLTIwMTI4LjUgkz2TIG9yIDY5NDMuNSCUPZQgb3IgMiCVPZUgb3IgLTI2MjQuNSCWPZYgb3IgMzE0NTUuNSCXPZcgb3IgNSCYPZggb3IgMzg1NS41IJk9mSBvciAyMTg0NS41IDsAOyBlbmQgKSgpOwBsb2NhbCB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHI9ICAgICAgdGltZSxzdWIsY2hyLG9yZCx0b3N0cix0b251bSxhZGQsZGVsLGRlbGksY2xpcCxjb2xvcixwYWwscGFsdCxmaWxscCxwZ2V0LHBzZXQsc2dldCxzc2V0LGZnZXQsZnNldCxjaXJjLGNpcmNmaWxsLHJlY3QscmVjdGZpbGwsb3ZhbCxvdmFsZmlsbCxsaW5lLHNwcixzc3ByIGxvY2FsIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI9ICAgICAgIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI7IAA7CgAxMDM4OAAgbmQ9MCAAJXMgJXMoKQAlcyAlcygiJXMiKQBzcGxvcmUoKQAKIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgAKCSAgICBfZW5kX29mX3Byb2dyYW0gPSAxIAoJICAgIGlmIChfaW5pdCB+PSBuaWwpIHRoZW4gX2luaXQoKSBlbmQKICAgICAgICAgICAgX3NldF9tYWlubG9vcF9leGlzdHMoMCkKCSAgICBpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfc2V0X21haW5sb29wX2V4aXN0cygxKSBlbmQKCSAgICBpZiAoX3VwZGF0ZTYwIH49IG5pbCkgdGhlbiBfc2V0X2Zwcyg2MCkgX3VwZGF0ZT1uaWwgZWxzZSBfc2V0X2ZwcygzMCkgZW5kCgkgICAgaWYgKF9tYWlubG9vcCA9PSBuaWwgYW5kIChfZHJhdyB+PSBuaWwgb3IgX3VwZGF0ZSB+PSBuaWwgb3IgX3VwZGF0ZTYwIH49IG5pbCkpIHRoZW4KCSAgICAJX3NldF9tYWlubG9vcF9leGlzdHMoMikKCQkgICAgX21haW5sb29wID0gZnVuY3Rpb24oKSAKCSAgICAgICAgCXdoaWxlICh0cnVlKSBkbwoJCQkJCV91cGRhdGVfYnV0dG9ucyhfdXBkYXRlNjAgYW5kIDEgb3IgMikKCQkJCSAgICBfc3RhcnRmcmFtZSgpIAoJCQkJICAgIGlmIChzdGF0KDcpID09IDYwKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGU2MCkgdGhlbgoJCQkJICAgIAlfdXBkYXRlNjAoKSBfdXBkYXRlX2J1dHRvbnMoMSkgX21hcmtfY3B1KDApIF91cGRhdGU2MCgpCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDE1IGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV91cGRhdGUoKSAgX3VwZGF0ZV9idXR0b25zKDIpIF9tYXJrX2NwdSgwKSBfdXBkYXRlKCkKCQkJCSAgICBlbmQKCQkJCSAgICBfbWFya19jcHUoMSkKCQkJCSAgICBpZiAoX2RyYXcgfj0gbmlsKSB0aGVuCgkJCQkJCWxvY2FsIGRpLHJlcz0wLHRydWUgCgkJCQkJCXdoaWxlIChkaSA8IHN0YXQoMTEpIGFuZCByZXMpIGRvIHJlcyA9IF9tYXBfZGlzcGxheShkaSkgaWYgKHJlcykgdGhlbiByZXM9X2RyYXcoKSBlbmQgZGk9ZGkrMSBlbmQgCgkJCQkJCV9tYXBfZGlzcGxheSgwKSAKCQkJCQllbmQKCQkJCSAgICBfbWFya19jcHUoMikKCQkJCQlfdXBkYXRlX2ZyYW1lcmF0ZSgpCgkJCQkgICAgZmxpcCgpCgkJCSAgICBlbmQKCQkgICAgZW5kCgkgICAgZW5kCgkJaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX21haW5sb29wKCkgZW5kCiAgICAgICAgCgBzeW50YXggZXJyb3IAc3ludGF4IGVycm9yIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wgbmVhciAnZW5kJwB1bmV4cGVjdGVkIGVuZCBvZiBsaW5lACVzIGxpbmUgJWQKAAotLT44CgAucDgucG5nAGJicy8AQEAgcnVuX2NhcnQoKSAvLyBsZXhhbG9mZmxlX2Jic19wbGF5ZXI6ICVkICAgcHN0YXRlLnBhcmFtX3N0cl9wZW5kaW5nOiAlcwoAcnVuX2NhcnQgY3VycmVudF9maWxlbmFtZTogJXMgcnVubmluZ19maWxlbmFtZTogJXMgcnVubmluZ19jYXJ0X2xpZDogJXMKAHN0YWNrIHRyYWNlYmFjawAnX21haW5sb29wAGluIGZ1bmN0aW9uICcAaW4gJXMgbGluZSAlZCAodGFiICVkKQBpbiBtYWluIGNodW5rAGF0IGxpbmUgJWQgKHRhYiAlZCkAZ2Mgbm90IHJ1bm5pbmc7IGNvdWxkIG5vdCBwZXJmb3JtIGVtZXJnZW5jeSBjb2xsZWN0aW9uCgBnYyBoYXJkIGNvbGxlY3Q6ICVkIC0+ICVkIChvdmVyaGVhZDolZCkKAG91dCBvZiBtZW1vcnkAcnVudGltZSBlcnJvciBsaW5lICVkIHRhYiAlZABydW50aW1lIGVycm9yAGtleXdvcmQgaGFzaCBjb2xsaXNpb246ICVzICVzCgBnb3RvAGJyZWFrAGlwYWlycwBnaWYAKiogRUdpZk9wZW5GaWxlTmFtZSBlcnJvciAlZDogJXMKAHNhdmluZyBnaWYgdG86ICVzCgBORVRTQ0FQRTIuMAAqKiBFR2lmU3BldygpIEdJRl9FUlJPUgoAW2NhcnRdAFsvY2FydF0AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OV8tAC5wOGwALnR4dAAub2JqAC5tdGwALnN2ZwAucG92AC5zZmQALmNzdgAucHBtAFslc10AX19yZWZ1bmRfY3B1X18AX19wYWlyc19fAF9faXBhaXJzX18AX19zdG9wAF9fcHJpbnQAX19wcmludGgAX190b3N0cgBfX2xvYWQAX19leHRjbWQAX190b3N0cmluZ19fAHRvc3RyaW5nAF9fdHlwZQBfX3NlbGVjdABfX2NvcmVzdW1lAF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UAY2QAbWtkaXIAZXhpdABmaWxlOiAlcyVzAHRva2VuczogICAgICU1ZCAvICAlZABjaGFyczogICAgICAlNWQgLyAlZABjb21wcmVzc2VkOiAlNWQgLyAlZAB1bnNhdmVkIGNoYW5nZXMAZXh0ZXJuYWwgY2hhbmdlcwBjb250aW51ZSB3aXRoIHNodXRkb3duPyBbeS9uXQBAQCBwaWNvLTggc2h1dHRpbmcgZG93bgBjb250aW51ZSB3aXRoIHJlYm9vdD8gW3kvbl0AdHJ5OiBoZWxwIDx0b3BpYz4gaW5zdGVhZC4gZS5nLgBjb21tYW5kcwBsb2FkIDxmaWxlbmFtZT4gIHNhdmUgPGZpbGVuYW1lPgBydW4gKG9yIGN0cmwtcikgIHJlc3VtZQBzaHV0ZG93biAgICAgICAgIHJlYm9vdABpbnN0YWxsX2RlbW9zICAgIGxzAGNkIDxkaXJuYW1lPiAgICAgbWtkaXIgPGRpcm5hbWU+AGNkIC4uICAgICAgdG8gZ28gdXAgYSBkaXJlY3RvcnkAa2V5Y29uZmlnICB0byBjaG9vc2UgYnV0dG9ucwBzcGxvcmUgICAgIHRvIGV4cGxvcmUgY2FydHJpZGdlcwBoZWxwIDx0b3BpYz4AcHJlc3MgZXNjIHRvIHRvZ2dsZSBlZGl0b3IgdmlldwBhbHQrZW50ZXIgdG8gdG9nZ2xlIGZ1bGxzY3JlZW4AYWx0K2Y0IG9yIGN0cmwtcSB0byBmYXN0cXVpdABjdHJsLW0vLS8rIHRvIGFkanVzdCB2b2x1bWUgAGNhbiBub3Qgc2F2ZSB3aGlsZSBydW5uaW5nAGZpbGVuYW1lIHRvbyBsb25nAEB1cmwAQGNsaXAAQGNsaXAucDgAQGNsaXAucG5nAEBjbGlwLnA4LnBuZwB3YXJuaW5nOiBsYWJlbCBpcyBibGFuawBydW4gY2FydCBhbmQgY3RybC03IHRvIGNhcHR1cmUAX2NsaXAucDgucG5nAF9jbGlwLnA4LnBuZy5oZXgAY29waWVkIHRvIHRleHRmaWVsZCAtLSBwcmVzcwBjdHJsLWMgdG8gY29weSB0byBjbGlwYm9hcmQhAGZhaWxlZCB0byBzYXZlIHRvIGNsaXBib2FyZAAqIHNhdmUgZmFpbGVkICoAaWxsZWdhbCBmaWxlbmFtZToAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAY291bGQgbm90IHNhdmUAbG9naW4gdW5hdmFpbGFibGUAbWtkaXIgW25hbWVdAG1rZGlyIGZhaWxlZDogaWxsZWdhbCBwYXRoIG5hbWUAZGlyZWN0b3J5OiAvJXMAJXMlcy8AJXMlcyVzLwBjZDogZmFpbGVkAGRpcmVjdG9yeSBub3QgZm91bmQALyVzAGxhYmVsAHNhdmVkIGxhYmVsAHNjcmVlbgAqKiBjb3VsZCBub3Qgc2F2ZSBzY3JlZW5zaG90AHNhdmVkIGltYWdlAGdlbmVyYXRlZCBzY3JlZW5zaG90AHJlYwByZWNfZnJhbWVzAHZpZGVvAEBAIHNhdmUgZ2lmIHJlc3VsdDogJWQgdmlkZW9fY2xpcF9pbmRleDogJWQKAG5vIHZpZGVvIHJlY29yZGVkICgwIGZyYW1lcykAKiogY291bGQgbm90IHNhdmUgZ2lmAHNhdmVkICVkIHNlY29uZCBnaWYAZ2VuZXJhdGVkICVkIHNlY29uZCBnaWYAYXVkaW9fcmVjAGF1ZGlvX2VuZABwYXVzZQBjb250cm9scwBicmVhZGNydW1iAGdvX2JhY2sAc2V0X3RpdGxlAHNldF9maWxlbmFtZQB1bmtub3duIGV4dGNtZDolcwBkb3dubG9hZGluZy4uIABiYWQgY2FydHJpZGdlIGlkAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bmZvPTEmdmVyc2lvbj0lcyVjJmxpZD0lcwBAZHJvcHBlZABkcm9wcGVkLnA4AGxvYWRlZCBjYXJ0cmlkZ2UgKCVkIGNoYXJzKQBzb3JyeSwgQGNsaXAgaXMgbm90IGF2YWlsYWJsZQBsb2FkZWQgJXMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBsb2FkOiBmdXR1cmUgdmVyc2lvbgBjb3VsZCBub3QgbG9hZDogY29kZSBzaXplID4gNjRrAGNvdWxkIG5vdCBsb2FkADB4JTA4eAAweCUwNHguJTA0eABwcmVzcyBjdHJsLWMgdG8gY29tcGxldGUgY29weQBwcmludGg6IGJhZCBsb2cgZmlsZSBuYW1lAHByaW50aDogdG9vIG11Y2ggbG9nIGRhdGEgKDEwbWIgbWF4KQB8JXMAdG9vIG1hbnkgcHJpbnRoIGZpbGVzAGEAJXMKAHByaW50aDogY291bGQgbm90IHdyaXRlIGZpbGUAY291bnQAX19mbGlwAF9fc3VwZXJ5aWVsZABiYWNrdXAAaW5zdGFsbF9kZW1vcwBpbnN0YWxsX2dhbWVzAGtleWNvbmZpZwBtYXBkcmF3AHNldF9kcmF3X3NsaWNlAF9tZW51aXRlbQBuZXh0AGluZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AF9fdHJhY2UAdHJhY2UAaG9sZGZyYW1lAF9zdGFydGZyYW1lAF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkAF91cGRhdGVfYnV0dG9ucwBfdXBkYXRlX2ZyYW1lcmF0ZQBfc2V0X21haW5sb29wX2V4aXN0cwBfc2V0X2ZwcwBfbWFya19jcHUAX21hcF9kaXNwbGF5ACoqIF9tYXBfZGlzcGxheSBoYXMgYmVlbiBkZXByZWNhdGVkIHdoZW4gcnVubmluZyBvbiBhIHNpbmdsZSBkaXNwbGF5ICoqIChzZWUgMC4yLjZiIHJlbGVhc2UgcG9zdCkAdG9vIG1hbnkgb3JkIHJlc3VsdHMAZGV2a2l0IGtleWJvYXJkIGVuYWJsZWQAZGV2a2l0IG1vdXNlIGVuYWJsZWQAeyB2YXIgc3RyID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOyByZXR1cm4gYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5nKHN0ciksICdpOCcsIEFMTE9DX05PUk1BTCk7IH0AZHNldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAZGdldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAaGlnaCBzY29yZXMgbm90IGltcGxlbWVudGVkIHlldCEAdG9vIG1hbnkgcGVlayByZXN1bHRzAGNzdG9yZS8Ac2FuZGJveGVkX2NzdG9yZSBmaWxlIG5vdCBmb3VuZDogJXMKACAgLS0+IHVzaW5nIGludGVybmFsIGZpbGU6ICVzCgBzcGxvcmUgaXMgbm90IGF2YWlsYWJsZQBpbiB0aGlzIHZlcnNpb24uAGluc3RhbGxpbmcgZ2FtZXMgdG8gL2dhbWVzLwBiYWNrZWQgdXAgJXMlcwBiYWNrdXBzAGNvbmZpZwB1c2VhZ2U6IGZvbGRlciBbbG9jYXRpb25dAGxvY2F0aW9uczoAYmFja3VwcyBjb25maWcgYmJzIGRlc2t0b3AAaG9zdCBhbGxvY2F0aW9uIGVycm9yACVkbWIgKyAlZGsKAG5vIGhlbHAgdG9waWMgdW5kZXIgY3Vyc29yAHR5cGUgdGhlIHRvcGljIHdpdGhvdXQgPD4uIGUuZy46AGhlbHAgZ2Z4AGFib3V0AHBpY28tOACAIHBpY28tOCAwLjIuNwBtYWRlIGJ5IHplcCBhdCBwaWNvIHBpY28gY2FmZSwAdG9reW8uIHRoaXMgcHJvZ3JhbSBpcyBkZWRpY2F0ZWQAdG8gdG9tLCBsb3VpcyBhbmQgbmFjY2kuAHBpY28tOCB3YXMgbWFkZSB3aXRoIHNkbDIsIGx1YSwAZ2lmbGliLCB3aXJpbmdwaSwgbGliYjY0LCBtaW5peiwAbGliY3VybCwgYW5kIGdudSB0b29scy4AYXVkaW8Ac2Z4AIAgYXVkaW8gYXBpIGZ1bmN0aW9ucwBtdXNpYyBzZngAaW5wdXQAdXNlIHRoZSBrZXljb25maWcgY29tbWFuZAB0byBzZXQgZGVmYXVsdCBidXR0b24ga2V5cy4AgCBpbnB1dCBhcGkgZnVuY3Rpb25zAGJ0biBidG5wAHN0cmluZwBzdHJpbmdzAIAgc3RyaW5ncwBzdHJpbmdzIGluIGx1YSBhcmUgaW1tdXRhYmxlOwB0aGV5IGNhbiBiZSBjcmVhdGVkIGFuZCBqb2luZWQAdG9nZXRoZXIsIGJ1dCBub3QgbW9kaWZpZWQuAHMgPSAiZm9vIiAgICAgAD90eXBlKHMpICAgIC0tIHN0cmluZyAAP3MgPT0gImZvbyIgLS0gdHJ1ZQA/cy4uImJvbyIgICAtLSBmb29ib28gKGpvaW4pAD9zLi4oMisyKSAgIC0tIGZvbzQAP3NbMV0gICAgICAgLS0gZgA/I3MgICAgICAgICAtLSAzIChsZW5ndGgpAIAgc3RyaW5nIGZ1bmN0aW9ucwBzdWIgY2hyIG9yZCBzcGxpdCB0b3N0ciB0b251bQCAIGxlbmd0aCBvcGVyYXRvcjogIwBnaXZlcyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nIG9yAGEgdGFibGUgdGhhdCBpcyBpbmRleGVkIHdpdGgAaW50ZWdlcnMgc3RhcnRpbmcgYXQgMToAPiA/IyJ0aGUgcXVpY2sgYnJvd24gZm94IgAxOQA+IGE9ezEsMiwzfQA+ID8jYQBzZWUgYWxzbzogdGFibGVzIHN0cmluZ3MAdGFibGUAdGFibGVzAIAgdGFibGVzAGx1YSBwcm92aWRlcyBhIHNpbmdsZSB0eXBlIGZvcgBzdHJ1Y3R1cmVkIGRhdGE6IHRoZSB0YWJsZS4ga2V5cwBhbmQgdmFsdWVzIGluIGEgdGFibGUgY2FuIGJlIGEAYSBtaXh0dXJlIG9mIGFueSB0eXBlLCBhbmQgdGh1cwBjYW4gYmUgdXNlZCBhcyBhcnJheXMsIG1hcHMsAHNldHMsIG9yIGR1Y2stdHlwZWQgb2JqZWN0cy4AdGJsID0gezUsNiw3fSAtLSBjcmVhdGUgYSB0YWJsZQA/dGJsWzFdIC0tIDUgKDEtYmFzZWQpAD8jdGJsICAgLS0gMyAoMS1iYXNlZCBsZW5ndGgpAHogPSB7WzBdPTUsNn0gLS0gc3RhcnQgYXQgMABwID0ge3g9NCx5PTR9IC0tIHN0cmluZyBrZXlzAD9wLnggICAgICAgICAgLS0gc2FtZSBhcyA/cFsieCJdAIAgdGFibGUgZnVuY3Rpb25zAGFkZCBkZWwgZGVsaSBhbGwgZm9yZWFjaCBwYWlycwBsdWEAgCBsdWEgY2hlYXRzaGVldAAtLSAgc2luZ2xlIGxpbmUgY29tbWVudAAtLVtbIGNvbW1lbnQgdGhhdCBzcGFucyBtdWx0aXBsZQBsaW5lcyBdXQBsb2NhbCBhICAgICAgIC0tIGxvY2FsIHZhcmlhYmxlAHgseSx6ID0gMyw0LDUgLS0gZ2xvYmFscwBwcmludCh4PT0zKSAgIC0tIHByaW50IGJvb2xlYW4AZnVuY3Rpb24gcGx1czIoeCkgcmV0dXJuIHgrMiBlbmQAZm9yIGk9MTAsOTAsNSBkbyBjaXJjKGksNSxpKSBlbmQAd2hpbGUoeCA8IDQpIGRvIHg9eCsxIGVuZABpZiAoeCAhPSA0KSB0aGVuIGZvbygpIGVuZABpZiAoeCA9PSA0KSBmb28oKSAtLSBzaG9ydGhhbmQAgCBleHRyYSB0b3BpY3MAdGFibGVzIHN0cmluZ3MgbnVtYmVycyBsb2dpYwBmdW5jdGlvbgByZXR1cm4AgCBrZXl3b3JkczogZnVuY3Rpb24gcmV0dXJuAGEgZnVuY3Rpb24gY2FuIHRha2UgYW55IG51bWJlcgBvZiBhcmd1bWVudHMsIGFuZCByZXR1cm4gYW55AG51bWJlciBvZiByZXN1bHRzOgBmdW5jdGlvbiBmb28oYSwgYikAICBwcmludCgiaW5zaWRlIGZvbyIpACAgcmV0dXJuIGEgKyBiLCAzIC0tIDIgcmVzdWx0cwBlbmQAPiB4LHkgPSBmb28oOCw5KQA+IHByaW50KHgpADE3AD4gcHJpbnQoeSkAd2hpbGUAgCBrZXl3b3JkOiB3aGlsZQByZXBlYXQgYSBibG9jayBvZiBjb2RlIHdoaWxlIGEAY29uZGl0aW9uIGlzIHRydWUuAGkgPSAzAHdoaWxlIGkgPCA1IGRvACAgcHJpbnQoaSkAICBpID0gaSArIDEALS0tIG91dHB1dCAtLS0AZG8AgCBrZXl3b3JkOiBkbwBkZW5vdGUgdGhlIHN0YXJ0IG9mIGEgYmxvY2sAb2YgY29kZS4gdXNlZCBieSB3aGlsZSBhbmQAZm9yIGxvb3BzLgCAIGtleXdvcmQ6IGVuZABkZW5vdGUgdGhlIGVuZCBvZiBhIGJsb2NrIG9mAGNvZGUuIHVzZWQgYnkgd2hpbGUsIGlmLCBmb3IAbG9vcHMsIGFuZCBmdW5jdGlvbiBkZWZpbml0aW9ucy4AcmVwZWF0AHVudGlsAIAga2V5d29yZHM6IHJlcGVhdCwgdW50aWwAcmVwZWF0IGEgYmxvY2sgb2YgY29kZSB1bnRpbABzb21lIGNvbmRpdGlvbiBpcyB0cnVlIGF0IHRoZQBlbmQgb2YgdGhlIGJsb2NrLgB0aGlzIG1lYW5zIHRoYXQgdGhlIGJsb2NrIGlzAGFsd2F5cyBleGVjdXRlZCBhdCBsZWFzdCBvbmNlLAB1bmxpa2Ugd2hpbGUgLi4gZG8gLi4gZW5kLgB1bnRpbCBpID49IDUAaWYAdGhlbgBlbHNlaWYAZWxzZQCAIGlmLCB0aGVuLCBlbHNlaWYsIGVsc2UAZG8gc29tZXRoaW5nIHdoZW4gc29tZXRoaW5nIGlzAHRydWUuIGVsc2UgYW5kIGVsc2VpZiBibG9ja3MgYXJlAG9wdGlvbmFsOgBpZiB4ID4geSB0aGVuACAgcHJpbnQoeC4uIiBpcyBtb3JlIHRoYW4gIi4ueSkAaWYgeCA8IDQgdGhlbgAgIHByaW50KCJ4IGlzIGxlc3MgdGhhdCA0IikAZWxzZWlmIHggPCA2IHRoZW4AICBwcmludCgieCBpcyA0IG9yIDUiKQAgIHByaW50KCJ4IGlzIDYgb3IgbW9yZSIpAGlmICh4PDQpID8ieDw0IiAtLSBzaG9ydGhhbmQAZm9yAGluAIAgZm9yIGxvb3BzAHJlcGVhdCBhIGJsb2NrIG9mIGNvZGUgbiB0aW1lcy4AZm9yIGk9MSw1IGRvAC0tIHJlc3VsdDogMSAyIDMgNCA1AGEgc3RlcCBzaXplIGNhbiBiZSBhZGRlZDoAZm9yIGk9MSw4LDIgZG8gcHJpbnQoaSkgZW5kAC0tIHJlc3VsdDogMSAzIDUgNwBmb3IgbG9vcHMgY2FuIGFsc28gYmUgdXNlZCB0bwBpdGVyYXRlIG92ZXIgdGFibGVzLgBzZWUgYWxzbzogcGFpcnMgYWxsAHRydWUAZmFsc2UAbmlsAGJvb2xlYW4AgCB0cnVlIGZhbHNlIG5pbABib29sZWFuIHZhcmlhYmxlcyBjYW4gaGF2ZSB0aGUAdmFsdWUgdHJ1ZSBvciBmYWxzZS4gbmlsIGlzIGEAc3BlY2lhbCB2YWx1ZSB0aGF0IG1lYW5zIGZhbHNlAGluIGJvb2xlYW4gZXhwcmVzc2lvbnMsIGFuZABvdGhlcndpc2UgbWVhbnMgJ3VuZGVmaW5lZCcuAD4gP3p4YyAgLS0gbm90IGRlZmluZWQsIHNvIG5pbAA+ID96eGMgYW5kIHRydWUAbmlsLCB1bnJlZmVyZW5jZWQgdmFyaWFibGVzIGFyZQBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UgY29sbGVjdGVkLgA+IGE9bmlsIC0tIHdpbGwgYmUgY29sbGVjdGVkLgB0eXBlcwCAIHR5cGUodikAcmV0dXJuIHRoZSB0eXBlIG9mIHZhcmlhYmxlIHYAYXMgYSBzdHJpbmc6ACBuaWwAIGJvb2xlYW4AIG51bWJlcgAgc3RyaW5nACBmdW5jdGlvbgAgdGFibGUAgCBzZWUgYWxzbzoAbnVtYmVycyBzdHJpbmdzIHRhYmxlcwCAIGtleXdvcmQ6IGxvY2FsAGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBsb2NhbC4AdGhpcyBiaW5kcyB0aGUgc2NvcGUgb2YgdGhlAHZhcmlhYmxlIHRvIHRoZSBzYW1lIGJsb2NrAG9mIGNvZGUgaXQgd2FzIGRlZmluZWQgaW4uAGZ1bmN0aW9uIGZvbyh6KQAgIGxvY2FsIHkgPSB6IC0tIGxvY2FsIHRvIGZvbwAgIHkgPSB5ICsgMQAgIHJldHVybiB5AD9mb28oMTApIC0tIDExAD95IC0tIG5pbCEgdGhlcmUgaXMgbm8gZ2xvYmFsIHkuADwAPgA8PQA+PQA9PQB+PQAhPQBhbmQAb3IAbm90AGxvZ2ljAIAgbG9naWNhbCBleHByZXNzaW9ucyBpbiBsdWEAdGhlIGxvZ2ljYWwgb3BlcmF0b3JzIGFyZToAYW5kLCBvciwgYW5kIG5vdAA/NSA+IDMgYW5kIDUgPiA0IC0tIHRydWUAPzEgPiA1IGFuZCA1ID4gNCAtLSBmYWxzZQA/MSA+IDUgb3IgIDUgPiA0IC0tIHRydWUAP25vdCAoMSA+IDUpICAgICAtLSB0cnVlAG5pbCBpcyBjb25zaWRlcmVkIGZhbHNlLgByZWxhdGlvbmFsIG9wZXJhdG9yczoAPCA+IDw9ID49ID09IH49IChvciAhPSkAgCBhc3NpZ25tZW50OiA9AGdpdmUgdGhlIHZhcmlhYmxlIG9uIGxocwB0aGUgdmFsdWUgb2YgdGhlIHJocy4APiB4ID0gMys1AD4gP3gAZGF0YQBtZW0AgCBtZW1vcnkgJiBkYXRhIGFwaSBmdW5jdGlvbnMAcGVlayBwb2tlIG1lbXNldCBtZW1jcHkAcmVsb2FkIGNzdG9yZSBzY29yZXN1YgBjYXJ0ZGF0YSBkZ2V0IGRzZXQAgCBzZngobixbY2hhbl0sW29mZnNldF0sW2xlbl0pAHBsYXkgc2Z4IG4gKDAuLjYzKQBvZmZzZXQgYW5kIGxlbiBzcGVjaWZ5IHRoZSBzdGFydABwb3NpdGlvbiBhbmQgZHVyYXRpb24sIGFuZCBhcmUAZ2l2ZW4gaW4gbnVtYmVyIG9mIG5vdGVzLgBjaGFuICAgOiB0aGUgY2hhbm5lbCB0byBwbGF5IG9uAGNoYW4gLTE6IHVzZSBhbiB1bnVzZWQgY2hhbm5lbABjaGFuIC0yOiBzdG9wIHNmeCBuIG9uIGFsbCBjaGFucwCAIG11c2ljKHAsW2ZhZGVfbGVuXSxbbWFza10AcGxheSBtdXNpYyBzdGFydGluZyBmcm9tIHBhdHRlcm4AcC4gdXNlIHAgLTEgdG8gc3RvcCBhbnkgbXVzaWMuAGZhZGVfbGVuIGlzIGdpdmVuIGluIG1zICgxMDAwIGlzAG9uZSBzZWNvbmQpLiBtYXNrIGlzIGEgYml0ZmllbGQAdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGNoYW5uZWxzAHRvIHJlc2VydmUgZm9yIG11c2ljLgBidG4AgCBidG4oW2JdLCBbcGxdKQBnZXQgYnV0dG9uIGIgc3RhdGUgZm9yIHBsYXllciBwbABvciBwbGF5ZXIgMCB3aGVuIHBsIGlzIG5vdCBnaXZlbgBiIGlzIGEgYnV0dG9uIGluZGV4OgAwOosgMTqRIDI6lCAzOoMgNDqOIDU6lyAAYnRuKCkgcmV0dXJucyBhIGJpdGZpZWxkIGZvcgBwbGF5ZXIgMCBhbmQgMQBnbHlwaHMAgCBnbHlwaCB2YWx1ZXMAZ2x5cGhzICgngC4umScpIGNhbiBiZSB1c2VkAGFzIHBhcnQgb2YgcmVndWxhciB2YXJpYWJsZQBuYW1lcywgYnV0IHNpbmdsZSBjaGFyYWN0ZXIAZ2x5cGhzIGFyZSBhbHNvIGFzc2lnbmVkIHNwZWNpYWwAdmFsdWVzIG9uIGJvb3Q6AIAgYnV0dG9ucwCLOjAgkToxIJQ6MiCDOjMgjjo0IJc6NQCAIGZpbGwgcGF0dGVybnMgLy8gZmlsbHAolSkAgIGChIWGh4iJioyNkJKTlQBzZWUgYWxzbzogYnRuIGJ0bnAgZmlsbHAAYnRucACAIGJ0bnAoW2JdLCBbcGxdKQByZXR1cm5zIHRydWUgd2hlbiBidXR0b24gYiB3YXMAcHJlc3NlZCBieSBwbGF5ZXIgcGwgKDAuLjcpLgBwbCBkZWZhdWx0cyB0byAwIHdoZW4gbm90IGdpdmVuLgBidG5wIHJlcGVhdHMgZXZlcnkgbiBmcmFtZXM6ADB4NWY1YyBpbml0aWFsIGRlbGF5IChkZWY6IDE1KQAweDVmNWYgcmVwZWF0IGRlbGF5ICAoZGVmOiAgNCkAYnRucCBvbmx5IHdvcmtzIHdoZW4gdXNlZCBmcm9tAGluc2lkZSBfdXBkYXRlKigpLCBfZHJhdygpLCBvcgBiZXR3ZWVuIGNhbGxzIHRvIGZsaXAoKS4AaGVscABtYW4AdG9waWMAdG9waWNzAIAgaGVscCBjb21tYW5kAHR5cGUgaGVscCBbdG9waWNdIGZvciBoZWxwAHRvcGljcyBhcmUgc2hvd24gaW4gYmx1ZS4AcHJlc3MgY3RybC11IGluIHRoZSBjb2RlIGVkaXRvcgBmb3IgaGVscCBvbiB3aGF0ZXZlciBpcyB1bmRlcgB0aGUgY3Vyc29yLgCAIG1haW4gdG9waWNzAGdmeCBkYXRhIGF1ZGlvIHN5c3RlbSBtYXRoIGx1YQBtYXRoAG1hdGhzAIAgbWF0aCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9ycwBjb3Mgc2luIGF0YW4yIHNxcnQgc3JhbmQgcm5kAG1heCBtaW4gbWlkIGZsciBjZWlsIHNnbiBhYnMAYm5vdCBiYW5kIGJvciBieG9yAHNobCBzaHIgbHNociByb3RsIHJvdHIAgCBleHRyYSBtYXRoIHRvcGljcwBudW1iZXJzIGJpbmFyeSBoZXggYml0ZmllbGRzAGNvcwBzaW4AgCBjb3MoYSkgIHNpbihhKQBnaXZlcyB0aGUgY29zaW5lIGFuZCBzaW5lIG9mIGEsAHdoZXJlIDEuMCBtZWFucyBvbmUgZnVsbCB0dXJuLgB4LHkAeCtjb3MoYSksIHkrc2luKGEpADAuMAAwLjI1ADAuNQAwLjc1AHNpbihhKSBpcyBpbnZlcnRlZCB0byBzdWl0AHNjcmVlbnNwYWNlOyBvbmUgZnVsbCB0dXJuIG9mAGEgZnJvbSAwLi4xIHN0YXJ0cyBvbiB0aGUgcmlnaHQAYW5kIGdvZXMgYW50aWNsb2Nrd2lzZS4AYXRhbjIAgCBhdGFuKGR4LCBkeSkAY29udmVydHMgZHgsIGR5IGludG8gYW4gYW5nbGUAYmV0d2VlbiAwLi4xLiBhcyB3aXRoIGNvcygpIGFuZABzaW4oKSwgdGhlIGFuZ2xlIGlzIHRha2VuIHRvIHJ1bgBhbnRpY2xvY2t3aXNlIGluIHNjcmVlbnNwYWNlLgB4K2R4LCB5K2R5AGFuZ2xlID0gYXRhbjIoZHgsIGR5KSAgLS0gMC4xMjUAc3FydACAIHNxcnQoeCkAcmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB4AHJuZACAIHJuZChbeF0pACAgIHJuZCh7dGJsfSkAcmV0dXJuIGEgcHNldWRvLXJhbmRvbSBudW1iZXIAZnJvbSAwIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nAHgsIHdoaWNoIGRlZmF1bHRzIHRvIDEAd2hlbiBhIHRhYmxlIGlzIGdpdmVuLCBhIHJhbmRvbQBpdGVtIGZyb20gdGFibGUgaXMgcmV0dXJuZWQuAHNyYW5kAIAgc3JhbmQoeCkAc2VlZCB0aGUgcm5kKCkgbnVtYmVyIGdlbmVyYXRvcgB3aXRoIHguIHRoZSBzZXF1ZW5jZSBvZiByZXN1bHRzAGZyb20gcm5kKCkgd2lsbCBiZSB0aGUgc2FtZQBmb2xsb3dpbmcgYSBjYWxsIHRvIHNyYW5kIHdpdGgAdGhlIHNhbWUgc2VlZC4AbWF4AG1pbgCAIG1heChhLGIpIG1pbihhLGIpIG1pZChhLGIsYykAZ2l2ZSB0aGUgbWF4aW11bSwgbWluaW11bSBvZgAyIHZhbHVlcywgb3IgdGhlIG1pZGRsZSBvZgAzIHZhbHVlcy4gbWlzc2luZyBhcmd1bWVudHMAYXJlIHRyZWF0ZWQgYXMgMC4AP21heCgzLCAyMCkgICAtLSAyMAA/bWlkKDYsIDcsIDQpIC0tIDYAP21pbig4KSAgICAgICAtLSAwAGZscgBjZWlsAIAgZmxyKHgpIGNlaWwoeCkAcm91bmQgZG93biBvciB1cCB0byB0aGUgY2xvc2VzdABpbnRlZ2VyLiBmbHIoeCkgaXMgc2ltaWxhciB0bwB1c2luZyBpbnRlZ2VyIGRpdmlzaW9uIGJ5IG9uZSwAb3Igc3RyaXBwaW5nIGZyYWN0aW9uYWwgYml0czoAPyA0LjEgXCAxICAgICAgLS0+IDQAPyA0LjEgJiAweGZmZmYgLS0+IDQAPyBmbHIoNC4xKSAgICAgLS0+IDQAPyBmbHIoLTIuMykgICAgLS0+IC0zAD8gY2VpbCg0LjEpICAgIC0tPiA1AHNnbgCAIHNnbih4KQByZXR1cm5zIC0xIHdoZW4geCA8IDAsAGFuZCAxIG90aGVyd2lzZQBub3RlIHRoYXQgc2duKDApIGlzIDEsIG5vdCAwLgBhYnMAgCBhYnMoeCkAcmV0dXJuIHRoZSBhYnNvbHV0ZSAocG9zaXRpdmUpAHZhbHVlIG9mIHg6AD8gYWJzKC0zKSAgIC0tPiAzAD8gYWJzKDQpICAgIC0tPiA0AHRoZSBvbmUgZXhjZXB0aW9uIGlzIGZvcgBhYnMoLTMyNzY4KSwgd2hpY2ggZG9lcyBub3QAaGF2ZSBhIG1hdGNoaW5nIHBvc2l0aXZlIHZhbHVlLABzbyAweDdmZmYuZmZmZiBpcyByZXR1cm5lZC4AYm5vdACAIGJub3QoeCkAICAgfngAYmluYXJ5IG5vdC4gZWFjaCBiaXQgaW4gdGhlAHJldHVybiB2YWx1ZSBpcyBzZXQgd2hlbiB0aGUAY29ycmVzcG9uZGluZyBiaXQgaW4geCBpcyBub3QAc2V0LgBpbiBvdGhlciB3b3JkcywgZmxpcCBhbGwgb2YgdGhlAGJpdHMgaW4geC4APiA/dG9zdHIofjB4ZmYwMC4wMGZlLCAxKQAweDAwZmYuZmYwMQB3aGVuIHVzZWQgd2l0aCB0d28gb3BlcmFuZHMgKGUuZwB4fnkpLCB+IG1lYW5zIHhvci4gc2VlOiBieG9yAGJhbmQAJgAmPQCAIGJhbmQoeCwgeSkAICAgeCAmIHkAYmluYXJ5IGFuZC4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0cyBpbiB4IGFuZAB5IGFyZSBib3RoIHNldC4AdHJ1dGggdGFibGUgICAgICAgfCAgMCAgfCAgMSAgACAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLQAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAwICAAICAgICAgICAgICAgICAgIDEgfCAgMCAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmICYgMHgxMjMsIDEpADB4MDEwMy4wMDAwAGJvcgB8AHw9AIAgYm9yKHgsIHkpACAgIHggfCB5AGJpbmFyeSBvci4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0IGluIGVpdGhlcgB4IG9yIHkgaXMgc2V0LgAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAxICAAICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmIHwgMHgwZjAsIDEpADB4MGZmZi4wMDAwAGJ4b3IAXl4AgCBieG9yKHgsIHkpACAgIHggfiB5ACAgIHggXl4geSAgICAgLS0gbGVnYWN5AGJpbmFyeSBleGNsdXNpdmUgb3IuIGVhY2ggYml0AGluIHRoZSByZXR1cm4gdmFsdWUgaXMgc2V0IHdoZW4AZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nIGJpdHMAaW4geCBvciB5IGFyZSBzZXQsIGJ1dCBub3QgYm90aC4AaW4gb3RoZXIgd29yZHMsIGZvciBlYWNoIGJpdCBzZXQAc2V0IGluIHgsIGZsaXAgdGhhdCBiaXQgaW4geS4AICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMCAgAD4gP3Rvc3RyKDB4ZjAwIH4gMHgxMjMsIDEpADB4MGUyMy4wMDAwAHNobAA8PAA8PD0AgCBzaGwoeCwgbikAICAgeCA8PCBuAHNoaWZ0IGxlZnQuIG1vdmUgYWxsIG9mIHRoZQBiaXRzIGluIHggbGVmdCBuIHBsYWNlcy4APiA/dG9zdHIoMHhmZi4wYyA8PCA4LCAxKQAweGZmMGMuMDAwMABzaHIAPj4APj49AIAgc2hyKHgsIG4pACAgIHggPj4gbgBhcml0aG1ldGljIHNoaWZ0IHJpZ2h0LiBtb3ZlIGFsbABiaXRzIGluIHggcmlnaHQgbiBwbGFjZXMuIHRoZQBsZWZ0LW1vc3QgYml0IGlzICdzdGlja3knLCBzbwB0aGF0IG5lZ2F0aXZlIHZhbHVlcyByZW1haW4AbmVnYXRpdmUuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+PiA4LCAxKQAweGZmODAuY2FmZQBsc2hyAD4+PgA+Pj49ACAgIHggPj4+IG4AbG9naWNhbCBzaGlmdCByaWdodC4gbW92ZSBhbGwAYml0cyBpbiB4IHJpZ2h0IG4gcGxhY2VzLiB6ZXJvcwBjb21lIGluIGZyb20gdGhlIGxlZnQuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+Pj4gOCwgMSkAMHgwMDgwLmNhZmUAcm90bAA8PD4APDw+PQCAIHJvdGwoeCwgbikAICAgeCA8PD4gbgByb3RhdGUgYml0cyBsZWZ0IG4gcGxhY2VzLgA+ID90b3N0cigweGNhZmUuZjAwZCA8PD4gNCwgMSkAMHhhZmVmLjAwZGMAcm90cgA+PjwAPj48PQCAIHJvdHIoeCwgbikAICAgeCA+PjwgbgByb3RhdGUgYml0cyByaWdodCBuIHBsYWNlcy4APiA/dG9zdHIoMHhjYWZlLmYwMGQgPj48IDQsIDEpADB4ZGNhZi5lZjAwAG51bWJlcnMAgCBudW1iZXJzAG51bWJlcnMgaW4gcGljby04IGFyZSAxNjoxNgBmaXhlZCBwb2ludC4gdGhpcyBtZWFucyB0aGF0ADE2IGJpdHMgYXJlIHVzZWQgZm9yIHRoZQBpbnRlZ2VyIHBhcnQsIGFuZCAxNiBmb3IgdGhlAGZyYWN0aW9uYWwgcGFydC4gdGhlIHJhbmdlIG9mAHBvc3NpYmxlIHZhbHVlcyBpczoALTMyNzY4LjAgdG8gMzI3NjcuOTk5OTkAbnVtYmVycyB3cml0dGVuIGluIGRlY2ltYWwgYXJlAHJvdW5kZWQgdG8gdGhlIGNsb3Nlc3QgZml4ZWQAcG9pbnQgdmFsdWUuIHRvIHNlZSB0aGUgcmF3IDMyLQBiaXQgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb246AD4gP3Rvc3RyKDEvNiwgMSkAMHgwMDAwLjJhYWEAaGV4AGhleGFkZWNpbWFsAIAgaGV4YWRlY2ltYWwAbnVtYmVycyBjYW4gYmUgd3JpdHRlbiBpbiBoZXgAYnkgcHJlZml4aW5nIHRoZW0gd2l0aCAiMHgiOgA+IHByaW50KDB4M2YpADYzAGhleGlkZWNpbWFsIG5vdGF0aW9uIGlzIGJhc2UtMTYAdXNpbmcgY2hhcmFjdGVyIGEuLmYgZm9yIHRoZQB2YWx1ZXMgMTAuLjE1LiBpbiB0aGUgZXhhbXBsZQBhYm92ZSwgMHgzMCBtZWFucyA0OCAoMyoxNikgYW5kAHRoZSBmIG1lYW5zIDE1LCBzbyB0aGUgcmVzdWx0IGluAGRlY2ltYWwgaXM6IDQ4ICsgMTUgLT4gNjMuAHRvIGNvbnZlcnQgZnJvbSBkZWNpbWFsIHRvIGhleDoAPiBwcmludCh0b3N0cig2MywgMSkpADB4MDAzZi4wMDAwIC0tIGFsbCAzMiBiaXRzIHNob3duAGJpbmFyeQCAIGJpbmFyeQBudW1iZXJzIGNhbiBiZSB3cml0dGVuIGluIGJpbmFyeQBmb3JtIGJ5IHByZWZpeGluZyB0aGVtIHdpdGggIjBiIgA+IHByaW50KDBiMTAwMS4wMSkAOS4yNQA4ICB8ICA0ICB8ICAyICB8ICAxICB8IDEvMiB8IDEvNAAtLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLQAxICB8ICAwICB8ICAwICB8ICAxICB8ICAwICB8ICAxIABpbiB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIGZpcnN0ADEgaXMgaW4gdGhlICI4cyIgY29sdW1uLCBzbyB0aGUAaW50ZWdlciBwYXJ0IGlzIDgrMSA9IDkuIGFmdGVyAHRoZSBkZWNpbWFsIHBvaW50LCBlYWNoIDEgbWVhbnMAMS8yLCAxLzQsIC4uLiAxLzY1NTM2LiBpbiB0aGlzAGNhc2UgdGhlIG9ubHkgMSBpcyBpbiB0aGUgMS80dGhzAGNvbHVtbiwgc28gdGhlIHJlc3VsdCBpcyA5LjI1AGJpdGZpZWxkAGJpdGZpZWxkcwCAIGJpdGZpZWxkcwBiaXRmaWVsZHMgYXJlIG51bWJlcnMgd2hlcmUgZWFjaABlYWNoIGJpdCBoYXMgYmVlbiBhc3NpZ25lZCBhAHBhcnRpY3VsYXIgbWVhbmluZy4gcGljby04IHVzZXMAYml0ZmllbGRzIGZvciB0aGUgc3ByaXRlIGZsYWdzLABhbmQgc29tZXRpbWVzIGFzIHBhcmFtZXRlcnMgYW5kAHJldHVybiB2YWx1ZXMgZm9yIGFwaSBmdW5jdGlvbnMuAHRvIGNvbnN0cnVjdCBhIGJpdGZpZWxkLCB5b3UgY2FuAGJvcigpIHRoZSBzZXBhcmF0ZSBiaXRzIHRvZ2V0aGVyAGFuZCB0aGVuIHRlc3QgaWYgZWFjaCBiaXQgKGZsYWcpAGlzIHNldCB1c2luZyBiYW5kKCk6AD4gZmxhZ3MgPSA4fDEgLS1zZXQgYml0cyAzIGFuZCAwAD4gPyhmbGFncyAmIDgpID4gMCAtLWNoZWNrIGJpdCAzAHNlZSBhbHNvOiBiaW5hcnkgYm9yIGJhbmQAKwArPQAtPQCAIG9wZXJhdG9yOiArIC0gKz0gLT0AYWRkLCBzdWJ0cmFjdC4APiA/Mys0AD4geD03AD4geC09MgB3aGVuIHRoZSByZXN1bHQgaXMgZ3JlYXRlciB0aGFuADB4N2ZmZi5mZmZmLCB0aGUgcmVzdWx0IGxvb3BzOgA+ID8weDdmZmYgKyAxAC0zMjc2OAAqPQAvPQCAIG9wZXJhdG9yczogKiAvICo9IC89AG11bHRpcGx5IHR3byBudW1iZXJzLCBvciBkaXZpZGUAb25lIGJ5IHRoZSBvdGhlci4APiA/Myo0ADEyAD4geD04AD4geC89NAB0aGUgcmVzdWx0cyBvZiBtdWx0aXBseSBvdmVyZmxvdwBidXQgdGhlIHJlc3VsdHMgb2YgZGl2aWRlIGFyZQBjbGFtcGVkIHRvIC0zMjc2OC4uMHg3ZmZmLmZmZmY6AD4gP3Rvc3RyKDUwMCAvIDAsIDEpADB4N2ZmZi5mZmZmAFwAXD0AgCBpbnRlZ2VyIGRpdmlkZSBvcGVyYXRvcjogXABnaXZlcyB0aGUgc2FtZSByZXN1bHQgYXMgYQByZWd1bGFyIGRpdmlkZSByb3VuZGVkIGRvd24uAD4gPzlcMiAtLSBzYW1lIGFzIGZscig5LzIpAD4geCA9IDE2AD4geCBcPSAzACUAJT0AgCBtb2R1bG8gb3BlcmF0b3I6ICUgJT0AeCAlIHkgbWVhbnM6IGtlZXAgYWRkaW5nIHkAb3Igc3VidHJhY3RpbmcgeSBmcm9tIHggdW50aWwAMCA8PSB4IDwgeS4APiA/IDE1ICUgNABmb3IgcG9zaXRpdmUgbnVtYmVycywgdGhpcyBpcwB0aGUgc2FtZSBhcyBkaXZpbmcgeCBieSB5IGFuZAB5IGFuZCByZXR1cm5pbmcgdGhlIHJlbWFpbmRlci4AbW9kdWxvIGlzIHVzZWZ1bCB3aGVuZXZlciB5b3UAeW91IG5lZWQgdG8gd3JhcCBhIG51bWJlciB0bwBhIHBhcnRpY3VsYXIgcmFuZ2UuIGZvciBleGFtcGxlOgBmbHIodCgpJTMpIC0tIDAgMSAyIDAgMSAyIC4uAHNlZSBhbHNvOiBwZWVrMiAoZS5nLiAlbWVtX2FkZHIpAF4AXj0AgCBleHBvbmVudCBvcGVyYXRvcjogXiBePQB4IF4geSBnaXZlcyB4IHRvIHRoZSBwb3dlciBvZiB5LgB5IGNhbiBiZSBmcmFjdGlvbmFsLgA+ID81IF4gMyAgLS0gIHNhbWUgYXMgNSo1KjUAMTI1AD4gPzE2IF4gMC41AG5vdGU6IHheeSBtZWFucyBiaXR3aXNlIHhvciBpbgBvdGhlciBsYW5ndWFnZXMhIGluIHBpY28tOCBsdWEsAHhvciBpcyB4fnkgKG9yIGxlZ2FjeTogeF5eeSkALi49AIAgc3RyaW5nIGpvaW4gb3BlcmF0b3I6IC4uIC4uPQBvcGVyYW5kcyBjYW4gYWxzbyBiZSBub24tc3RyaW5nAHZhcmlhYmxlcywgYW5kIGFyZSBhdXRvbWF0aWNhbGx5AGNvbnZlcnRlZCB0byBjb21wbGV0ZSB0aGUgam9pbi4APiA/ImhlbGxvICIuLiJ3b3JsZCIAaGVsbG8gd29ybGQAPiB4ID0gNQA+ID8ieCBpczogIi4ueAB4IGlzIDUALi4uAIAgYXJndW1lbnRzOiAuLi4ALi4uIG1lYW5zICdyZW1haW5pbmcgYXJndW1lbnRzJwBmdW5jdGlvbiBwcmludF9hbGwoLi4uKQAgYT17Li4ufQAgZm9yZWFjaChhLCBwcmludCkAcHJpbnRfYWxsKDEsMiwzKQBzZWUgYWxzbzogc2VsZWN0IHBhY2sgdW5wYWNrAHNlbGVjdAB1bnBhY2sAcGFjawCAIHNlbGVjdCguLi4sIG4pACAgIHBhY2soLi4uKQAgICB1bnBhY2sodGJsKQBmdW5jdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBhAHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuAHNlbGVjdCByZXR1cm5zIGEgZ2l2ZW4gYXJndW1lbnQuAHBhY2sgY29udmVydHMgYW55IG51bWJlciBvZgBhcmd1bWVudHMgaW50byBhIHRhYmxlLCBhbmQAdW5wYWNrIGJhY2sgaW50byByZXR1cm4gdmFsdWVzLgBmdW5jdGlvbiBmb28oYSwgLi4uKQAgID8iYXJnMjoiLi5zZWxlY3QoMSwuLi4pACAgLS0gcmV0dXJuIGFsbCBidXQgZmlyc3QgYXJnACAgcmV0dXJuIHBhY2soLi4uKQBiID0gZm9vKHVucGFja3sxLDIsM30pIC0tIHsyLDN9AHN5c3RlbQCAIHN5c3RlbSBhcGkgZnVuY3Rpb25zAHJ1biBzdG9wIHJlc2V0IHlpZWxkIHRpbWUAbWVudWl0ZW0gc3RhdCBzZXJpYWwgZXh0Y21kAGNvY3JlYXRlIGNvcmVzdW1lIGNvc3RhdHVzAIAgc3lzdGVtIGNvbW1hbmRzAGxvYWQgc2F2ZSBpbXBvcnQgZXhwb3J0IGluZm8AcmVzdW1lIGZvbGRlciBzaHV0ZG93biByZWJvb3QAc3Bsb3JlIGJhY2t1cCBsb2dpbiBsb2dvdXQAgCBjYWxsYmFja3MAX2luaXQgX2RyYXcgX3VwZGF0ZSBfdXBkYXRlNjAAgCBpbnB1dABfaW5pdAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tAIAgX2luaXQoKQB3aGVuIF9pbml0IGlzIGRlZmluZWQsIGl0IGlzAGNhbGxlZCBvbmNlIGJlZm9yZSBlbnRlcmluZyB0aGUAbWFpbiBfdXBkYXRlIC8gX2RyYXcgbG9vcC4AX2RyYXcAgCBfZHJhdygpAHdoZW4gX2RyYXcgaXMgZGVmaW5lZCBpbiBhAHByb2dyYW0sIGl0IGlzIGNhbGxlZCBvbmNlAHBlciBmcmFtZS4gdGhpcyBjb3VsZCBiZSAxNSwAMzAgb3IgNjAgdGltZXMgcGVyIHNlY29uZC4AdGhlIGNvbnRlbnRzIG9mIHRoZSB2aWRlbwBtZW1vcnkgaXMgZGlzcGxheWVkIG9uY2UgX2RyYXcAcmV0dXJucyAtLSB0aGVyZSBpcyBubyBuZWVkIHRvAGV4cGxpY2l0bHkgY2FsbCBmbGlwKCkuAF91cGRhdGUAX3VwZGF0ZTYwAIAgX3VwZGF0ZSgpIF91cGRhdGU2MCgpAHdoZW4gX3VwZGF0ZSBvciB1cGRhdGU2MCBpcwBkZWZpbmVkLCBpdCBpcyBjYWxsZWQgYXQgMzAgb3IANjAgdGltZXMgcGVyIHNlY29uZCByZWdhcmRsZXNzAG9mIHRoZSBmcmFtZXJhdGUgKHByb3ZpZGVkAHRoZXJlIGlzIHN1ZmZpY2llbnQgY3B1IHRvAGRvIHNvKS4AZ2Z4AIAgZ2Z4IGFwaSBmdW5jdGlvbnMAY2FtZXJhIGNsaXAgY2xzIGNvbG9yIHBhbCBwYWx0AGZpbGxwIGZsaXAgbGluZSByZWN0IHJlY3RmaWxsAHJyZWN0IHJyZWN0ZmlsbCBvdmFsIG92YWxmaWxsAGNpcmMgY2lyY2ZpbGwgcGdldCBwc2V0AHByaW50IHByaW50aCBjdXJzb3IAbWFwIG1nZXQgbXNldCBmZ2V0IGZzZXQgdGxpbmUAc3ByIHNzcHIgc2dldCBzc2V0AGZsaXAAgCBmbGlwKCkAZmxpcCB0aGUgYmFjayBwYWdlIHRvIHRoZSBzY3JlZW4AYW5kIHN0YXJ0IHRoZSBuZXh0IGZyYW1lLgBub3RlIHRoYXQgcHJvZ3JhbXMgdGhhdCBoYXZlIGEAX2RyYXcoKSBmdW5jdGlvbiBkbyBub3QgbmVlZCB0bwBjYWxsIGZsaXAoKS4ALS0gZHJhdyBvbmUgc3RhciBwZXIgZnJhbWUAZm9yIGk9MSwxMDAgZG8AID8ikiIscm5kKDEyOCkscm5kKDEyOCkscm5kKDE2KQAgZmxpcCgpAGNhbWVyYQCAIGNhbWVyYSh4LCB5KQBzZXQgYSBzY3JlZW4gb2Zmc2V0IG9mIC14LCAteQBmb3IgYWxsIGRyYXdpbmcgb3BlcmF0aW9ucy4AY2FtZXJhKCkgdG8gcmVzZXQAY2xpcACAIGNsaXAoeCwgeSwgdywgaCwgW2NsaXBfb2xkXSkAc2V0cyB0aGUgY2xpcHBpbmcgcmVjdGFuZ2xlIGluAHBpeGVscy4gd2hlbiBjbGlwX29sZCBpcyB0cnVlLABjbGlwIHRoZSBuZXcgY2xpcHBpbmcgcmVjdGFuZ2xlAGJ5IHRoZSBleGlzdGluZyBvbmUuAGNscwCAIGNscyhbY29sXSkAY2xlYXIgdGhlIHNjcmVlbiBhbmQgcmVzZXQgdGhlAGNsaXBwaW5nIHJlY3RhbmdsZS4gY29sIGRlZmF1bHRzAHRvIGJsYWNrLgBjb2xvcgCAIGNvbG9yKFtjb2xdKQBzZXQgdGhlIGN1cnJlbnQgY29sb3VyIHVzZWQgYnkAZHJhd2luZyBmdW5jdGlvbnMuIGlmIGNvbCBpcwBub3Qgc3BlY2lmaWVkLCBkZWZhdWx0cyB0byA2LgB3aGVuIGEgZmlsbCBwYXR0ZXJuIGlzIGRlZmluZWQAdXNpbmcgZmlsbHAoKSwgYSBzZWNvbmQgY29sb3VyAGlzIG5lZWRlZCBhbmQgY2FuIGJlIHNwZWNpZmllZABpbiB0aGUgaGlnaCA0IGJpdHM6AGNvbG9yKDB4ODcpIC0tIHJlZCBhbmQgd2hpdGUAdGhlIGZpbGwgcGF0dGVybiBpdHNlbGYgY2FuIGFsc28AYmUgc3BlY2lmaWVkIGluIGNvbG91ciBhcmd1bWVudHMAKHNlZSB0aGUgbWFudWFsIGZvciBkZXRhaWxzKS4AcGFsAHBhbGV0dGUAgCBwYWwoYzAsIGMxLCBbcF0pAG1hcCBjb2xvdXIgYzAgdG8gYzEgZm9yIHBhbCBwOgAwIGRyYXcgcGFsZXR0ZSAoZGVmYXVsdCkAMSBkaXNwbGF5IHBhbGV0dGUAMiBzZWNvbmRhcnkgcGFsZXR0ZQB1c2UgcGFsKCkgdG8gcmVzZXQuACUyZABwYWx0AIAgcGFsdChjLCB0KQBzZXQgdGhlIHRyYW5zcGFyZW5jeSBmb3IgY29sb3VyAGMgdG8gdCAoYm9vbGVhbikuIHRyYW5zcGFyZW5jeQBpcyBvYnNlcnZlZCBieSBzcHIoKSwgc3NwcigpLABtYXAoKSBhbmQgdGxpbmUoKS4AcGFsdCgpIHRvIHJlc2V0IHRvIGRlZmF1bHRzLgB3aGVuIGEgc2luZ2xlIG51bWJlciBhcmd1bWVudABpcyBnaXZlbiwgaXQgaXMgdGFrZW4gdG8gYmUgYQBiaXRmaWVsZCBvZiBhbGwgMTYgdHJhbnNwYXJlbmN5AHZhbHVlcyBzdGFydGluZyBmcm9tIGhpZ2ggYml0cy4ALS0gbWFrZSBjb2xzIDAuLjMgdHJhbnNwYXJlbnQ6AHBhbHQoMHhmMDAwKQAtLSBtYWtlIGNvbG91ciA4IHRyYW5zcGFyZW50OgBwYWx0KDgsIHRydWUpAGZpbGxwAIAgZmlsbHAocCkAcCBpcyBhIGJpdGZpZWxkIHRoYXQgc3BlY2lmaWVzAGEgNFg0IGZpbGwgcGF0dGVybiBvYnNlcnZlZCBieQBjaXJjKigpLCByZWN0KigpLCBvdmFsKigpLCBwc2V0AGFuZCBsaW5lKCkuIGJpdCAweGIuMSBpbmRpY2F0ZXMAdHJhbnNwYXJlbmN5LiB0aGUgMTYgYml0IGxheW91dDoAIDB4ODAwMCAweDQwMDAgMHgyMDAwIDB4MTAwMAAgIDB4ODAwICAweDQwMCAgMHgyMDAgIDB4MTAwACAgIDB4ODAgICAweDQwICAgMHgyMCAgIDB4MTAAICAgIDB4OCAgICAweDQgICAgMHgyICAgIDB4MQAgZmlsbHAoMHg4NDIxKSAgZmlsbHAoMHg1MGEwKQAgZmlsbHAohSkgZmlsbHAohykgZmlsbHAolikAbGluZQCAIGxpbmUoeDAsIHkwLCBbeDEsIHkxLF0gW2NvbF0pAGRyYXcgYSBsaW5lIGZyb20gKHgwLHkwKSB0bwAoeDEseTEpLiB3aGVuIHgxLHkxIGFyZSBub3QsAGdpdmVuLCB0aGUgZW5kIG9mIHRoZSBsYXN0IGRyYXduAGxpbmUgaXMgdXNlZC4AcmVjdAByZWN0ZmlsbACAIHJlY3QgICAgKHgwLHkwLHgxLHkxLFtjb2xdKQAgICByZWN0ZmlsbCh4MCx5MCx4MSx5MSxbY29sXSkAZHJhdyBhIHJlY3RhbmdsZSBvciBmaWxsZWQAcmVjdGFuZ2xlIHdpdGggcG9pbnRzIGF0AG9wcG9zaXRlIGNvcm5lcnMgZ2l2ZW4gYnkAKHgwLHkwKSwgKHgxLHkxKS4AcnJlY3QAcnJlY3RmaWxsAIAgcnJlY3QgICAgKHgseSx3LGgsW3JdLFtjb2xdKQAgICBycmVjdGZpbGwoeCx5LHcsaCxbcl0sW2NvbF0pAHJlY3RhbmdsZSBvZiBzaXplIHcgWCBoLCB3aXRoAHJvdW5kZWQgY29ybmVycyBvZiByYWRpdXMgci4Ab3ZhbABvdmFsZmlsbACAIG92YWwgICAgKHgwLHkwLHgxLHkxLFtjb2xdKQAgICBvdmFsZmlsbCh4MCx5MCx4MSx5MSxbY29sXSkAZHJhdyBhbiBlbGxpcHNvaWQgYm91bmRlZCBieQB0aGUgZ2l2ZW4gcmVjdGFuZ2xlLgBjaXJjAGNpcmNmaWxsAIAgY2lyYyAgICAoeCwgeSwgciwgW2NvbF0pACAgIGNpcmNmaWxsKHgsIHksIHIsIFtjb2xdKQBkcmF3IGEgY2lyY2xlIGF0ICh4LHkpIHdpdGggYQByYWRpdXMgb2Ygci4gd2hlbiBhIG5lZ2F0aXZlAHJhZGl1cyBpcyBnaXZlbiwgbm90aGluZyBpcwBkcmF3bi4AbWFwAIAgbWFwKFt0eCwgdHldLCBbc3gsIHN5XSwAICAgW3R3LCB0aF0sIFtsYXllcnNdAGRyYXcgdGhlIG1hcCBmcm9tIHRpbGUgdHgsIHR5AGF0IHNjcmVlbiBwb3NpdGlvbiBzeCwgc3kuAHR3LHRoIGdpdmVzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0AHRvIGRyYXcgaW4gdGlsZXMuAGxheWVycyBpcyBhIGJpdGZpZWxkIHRoYXQgbWVhbnMAb25seSBzcHJpdGVzIHdpdGggdGhlIG1hdGNoaW5nAHNwcml0ZSBmbGFncyBzaG91bGQgYmUgZHJhd24uAHNwcml0ZSAwIGlzIG5vdCBkcmF3biB1bmxlc3MgdGhlAGJpdCBhdCAweDVmMzYgJiAweDggaXMgc2V0LgBtZ2V0AG1zZXQAgCBtZ2V0KHgseSkAICAgbXNldCh4LHksdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiB0aGUgbWFwAHRpbGUgYXQgeCx5LiB3aGVuIHgseSBpcyBvdXRzaWRlAHRoZSBtYXAgYXJlYSwgbWdldCByZXR1cm5zIDAuAGZnZXQAZnNldACAIGZnZXQobiwgW2ZdKQAgICBmc2V0KG4sIGJpdGZpZWxkKQAgICBmc2V0KG4sIGYsIHZhbCkAZ2V0IG9yIHNldCB0aGUgdmFsdWUgb2YgYSBzcHJpdGUAZmxhZyBmIGZvciBzcHJpdGUgbi4gd2hlbiBmIGlzAG9taXR0ZWQsIGFsbCBmbGFncyBhcmUgcmV0cmlldmVkAC9zZXQgYXMgYSBzaW5nbGUgOC1iaXQgYml0ZmllbGQuAGV4YW1wbGVzIHVzaW5nIHNwcml0ZSAyOgBmc2V0KDIsIDQsIHRydWUpIC0tIHNldCBmbGFnIDQAZnNldCgyLCAweGIpICAtLSBzZXQgZmxhZ3MgMCwxLDMAP2ZnZXQoMiwgMykgICAtLSB0cnVlAGluaXRpYWwgc3ByaXRlIGZsYWcgc3RhdGVzIGNhbgBiZSBzZXQgaW4gdGhlIHNwcml0ZSBlZGl0b3IuAHRsaW5lAIAgdGxpbmUoeCwgeSwgeDEsIHkxLCBteCwgbXksACAgIFttZHgsIG1keV0sIFtsYXllcnNdKQBkcmF3IGEgdGV4dHVyZWQgbGluZSBmcm9tICh4LHkpAHRvICh4MSx5MSksIHNhbXBsaW5nIGNvbG91cnMAZnJvbSB0aGUgbWFwIGF0IGVhY2ggcG9pbnQuAHdoZW4gbGF5ZXJzIGlzIGdpdmVuLCBvbmx5IHRpbGVzAHdpdGggbWF0Y2hpbmcgZmxhZ3MgYXJlIGRyYXduLgBteCxteSBhcmUgbWFwIGNvb3JkcyBnaXZlbiBpbgB0aWxlcyBhbmQgaW5jcmVtZW50ZWQgYnkgbWR4LABtZHkgYWZ0ZXIgZWFjaCBwaXhlbCBpcyBkcmF3bi4AZHJhdyBzdGF0ZToAMHg1ZjM4OiBsb29wIHdpZHRoIGluIHRpbGVzADB4NWYzOTogbG9vcCBoZWlnaHQgaW4gdGlsZXMAMHg1ZjNhOiBvZmZzZXQgeCBpbiB0aWxlcwAweDVmM2I6IG9mZnNldCB5IGluIHRpbGVzADB4NWYzNiYweDg6IGRyYXcgc3ByaXRlIDAAc3ByAIAgc3ByKG4sIHgsIHksIFt3LCBoXSwAICAgW2ZsaXBfeF0sIFtmbGlwX3ldAGRyYXcgc3ByaXRlIG4gYXQgeCwgeQB3ICh3aWR0aCkgYW5kIGggKGhlaWdodCkgYXJlIDEAYnkgZGVmYXVsdCwgYW5kIHNwZWNpZnkgaG93IG1hbnkAOHg4IHNwcml0ZXMgdG8gZHJhdy4AY29sb3IgMCBpcyBub3QgZHJhd24gYnkgZGVmYXVsdAAoaGVscCBwYWx0IGZvciBtb3JlIGluZm9ybWF0aW9uKQBmbGlwX3gsIGZsaXBfeSBhcmUgYm9vbGVhbnM6AHdoZW4gdHJ1ZSwgZHJhdyBtaXJyb3JlZABzc3ByAIAgc3NwcihzeCwgc3ksIHN3LCBzaCwgZHgsIGR5LAAgICBbZHcsIGRoXSwgW2ZsaXBfd10sIFtmbGlwX2hdAHN0cmV0Y2ggc3ByaXRlIHVzaW5nIHRoZSBzb3VyY2UAcmVjdGFuZ2xlIHN4LCBzeSwgc3csIHNoAGRyYXcgYXQgdGhlIGRlc3RpbmF0aW9uIGR4LCBkeQB3aXRoIGhlaWdodCBkdywgZGguIHdoZW4gZHcsIGRoAGFyZSBub3QgZ2l2ZW4sIHVzZSBzdywgc2gAd2hlbiB0cnVlLCBkcmF3IG1pcnJvcmVkLgBzZ2V0AHNzZXQAgCBzZ2V0KHgseSkAICAgc3NldCh4LHksdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiBhIHBpeGVsAGluIHRoZSBzcHJpdGVzaGVldCBhdCB4LCB5AHBnZXQAcHNldACAIHBnZXQoeCx5KQAgICBwc2V0KHgseSx2YWwpAG9uIHRoZSBzY3JlZW4gYXQgeCwgeQBwcmludAA/AIAgcHJpbnQoc3RyLCB4LCB5LCBbY29sXSkAICAgcHJpbnQoc3RyLCBbY29sXSkAcHJpbnQgdGhlIHN0cmluZyBzdHIgYXQgeCwgeQBvciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24Ac2hvcnRoYW5kOiB1c2UgPyBvbiBhIHNpbmdsZQBsaW5lIHdpdGhvdXQgYnJhY2tldHM6AD8iaGVsbG8iAHNvbWUgcDhzY2lpIGNvZGVzOgBcIzMgc2V0IGJhY2tncm91bmQgY29sICgwLi5mKQBcZjcgc2V0IGZvcmVncm91bmQgY29sICgwLi5mKQBcXmkgaW52ZXJ0ZWQgbW9kZQBcXncgd2lkZSBtb2RlICheLXcgdG8gZGlzYWJsZSkAXF50IHRhbGwgbW9kZSAoXi13IHRvIGRpc2FibGUpAFxecCBwaW5iYWxsIG1vZGUAXGEgYmVlcABwcmludGgAgCBwcmludGgoc3RyLCBbZmlsZW5hbWVdLAAgICBbb3ZlcndyaXRlXSwgW3RvX2Rlc2t0b3BdAHByaW50IHN0ciB0byBob3N0LiB3aGVuIHBpY28tOABpcyBydW5uaW5nIGZyb20gYSBzaGVsbCwgdGhlAG91dHB1dCBpcyBzZW50IHRvIHRoYXQgc2hlbGwsIG9yAGFwcGVuZGVkIHRvIGEgZmlsZSB3aGVuIGEAZmlsZW5hbWUgaXMgZ2l2ZW4uAGluIHRoZSBzZWNvbmQgY2FzZSwgYW55IGV4aXN0aW5nAGZpbGUgaXMgb3ZlcndyaXR0ZW4gd2hlbgBvdmVyd3JpdGUgaXMgdHJ1ZS4gdGhlIGZpbGUgaXMAc2F2ZWQgdG8gZGVza3RvcCB3aGVuIHRvX2Rlc2t0b3AAaXMgdHJ1ZS4AY3Vyc29yAIAgY3Vyc29yKHgsIHksIFtjb2xdAHNldCB0aGUgY3Vyc29yIHBvc2l0aW9uAGlmIGNvbCBpcyBzcGVjaWZpZWQsIGFsc28gc2V0IHRoZQBjdXJyZW50IGRyYXcgY29sb3VyLgBwZWVrAHBlZWsyAHBlZWs0AEAAJACAIHBlZWsoYWRkciwgW25dKQByZWFkIGEgYnl0ZSBmcm9tIG1lbW9yeSBhdCBhZGRyLgB3aGVuIG4gaXMgZ2l2ZW4sIHJldHVybiBuIGJ5dGVzIAByZWFkIHNlcXVlbnRpYWxseS4gaW50ZWdlcnMgYW5kAG51bWJlcnMgY2FuIGJlIHJlYWQgd2l0aCBwZWVrMigpAGFuZCBwZWVrNCByZXNwZWN0aXZlbHkuAC0tIGZldGNoIDIgYnl0ZXMgb2YgdmlkZW8gcmFtAGEsYiA9IHBlZWsoMHg2MDAwLCAyKQAtLSBvcGVyYXRvciBhbHRlcm5hdGl2ZXMAQGFkZHIgIC0tIHBlZWsoYWRkcikAJWFkZHIgIC0tIHBlZWsyKGFkZHIpACRhZGRyICAtLSBwZWVrNChhZGRyKQBwb2tlAHBva2UyAHBva2U0AIAgcG9rZShhZGRyLCB2YWwxLCBbdmFsMiwgLi4uXSkAd3JpdGUgb25lIG9yIG1vcmUgYnl0ZXMgdG8gcmFtAHN0YXJ0aW5nIGZyb20gYWRkci4gaW50ZWdlcnMAYW5kIG51bWJlcnMgY2FuIGJlIHdyaXR0ZW4gd2l0aABwb2tlMiBhbmQgcG9rZTQuAC0tIHdyaXRlIDQgYnl0ZXMgdG8gdmlkZW8gcmFtAHBva2UyKDB4NzAwMCwgMHg0NTY3LCAweDg5YWIpAG1lbXNldACAIG1lbXNldChhZGRyLCB2YWwsIGxlbikAd3JpdGUgdGhlIDgtYml0IHZhbHVlIHZhbCBpbnRvAHJhbSBzdGFydGluZyBmcm9tIGFkZHIsIGZvcgBsZW4gYnl0ZXMuAC0tIGZpbGwgaGFsZiBvZiB2aWRlbyBtZW1vcnkAbWVtc2V0KDB4NjAwMCwgMHhjOCwgMHgxMDAwKQBtZW1jcHkAgCBtZW1jcHkoZGVzdCwgc3JjLCBsZW4pAGNvcHkgbGVuIGJ5dGVzIGZyb20gYWRkcmVzcyBzcmMAdG8gZGVzdC4gc2VjdGlvbnMgY2FuIGJlAG92ZXJsYXBwaW5nIGFuZCBkbyBub3QgbmVlZCB0bwBiZSBhbGlnbmVkLgAtLSBjb3B5IHNvbWUgb2YgdGhlIHZpZGVvIHJhbSB0bwAtLSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4AbWVtY3B5KDB4NjAwMCwgMHg2ODAwLCAweDgwMCkAcmVsb2FkAIAgcmVsb2FkKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBzaW1pbGFyIHRvIG1lbWNweSwgYnV0IHJlYWQAZnJvbSBjYXJ0cmlkZ2Ugcm9tIGFuZCB3cml0ZQB0byByYW0gYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgByZWxvYWQoKSByZWxvYWRzIGV2ZXJ5dGhpbmcuAHRoZSBjb2RlIHNlY3Rpb24gKD49IDB4NDMwMCkAaXMgcHJvdGVjdGVkIGFuZCBjYW4gbm90IGJlAGFjY2Vzc2VkIGJ5IHJlbG9hZCAvIGNzdG9yZS4Ad2hlbiBmaWxlbmFtZSBmbiBpcyBnaXZlbiwAZGF0YSBpcyByZWFkIGZyb20gYSBzZXBhcmF0ZQBjYXJ0cmlkZ2UgZmlsZS4AY3N0b3JlAIAgY3N0b3JlKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBmcm9tIHJhbSBhbmQgd3JpdGUgdG8gY2FydCByb20AYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgBjc3RvcmUoKSBzdG9yZXMgZXZlcnl0aGluZyBpbgByYW0gYmFjayB0byB0aGUgY2FydHJpZGdlLgBzY29yZXN1YgCAIHNjb3Jlc3ViKHRibCwgc2NvcmUsIFtleHRyYV0pAHN1Ym1pdCBhIGhpZ2hzY29yZSB0byB0aGUgYmJzLgB0YmwgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlAHRhYmxlIGFuZCBjYW4gYmUgPD0gNDAgY2hhcnMAbG9uZy4gZS5nLiAibGV2ZWxfMSIAc2NvcmUgaXMgYSBudW1iZXIuIGhpZ2hlciBpcwBiZXR0ZXI7IHRoZSB0b3AgNjQgc2NvcmVzIGFyZQByZXR1cm5lZCBpbiBhIHRhYmxlIHdpdGggZmllbGRzOgBuYW1lIHNjb3JlIGV4dHJhIGRhdGUAdXNlIHNjb3Jlc3ViKHRibCkgdG8gZ3JhYiB0aGUAdGFibGUgc3RhdGUgd2l0aG91dCBzdWJtaXR0aW5nAGEgc2NvcmUuAGV4dHJhIGlzIGEgYmluYXJ5IHN0cmluZyBvZgBtZXRhZGF0YSA8PSA3NjggYnl0ZXMgbG9uZy4AY2FydGRhdGEAgCBjYXJ0ZGF0YShpZCkAb3BlbnMgYSBwZXJtYW5lbnQgZGF0YSBzdG9yYWdlAHNsb3QgdG8gYmUgYWNjZXNzZWQgd2l0aCBkZ2V0KCkAYW5kIGRzZXQoKSBvciBieSBkaXJlY3RseSBwb2tlLwBwZWVraW5nIHJhbSBhdCAweDVlMDAuLjB4NWVmZi4AaWQgaXMgYSBzdHJpbmcgPD0gNjQgY2hhcnMgbG9uZwB0aGF0IG1pZ2h0IG5vdCBiZSB1bmlxdWUgKGl0IGlzAHBvc3NpYmxlIGZvciB0d28gY2FydHMgdG8gc2hhcmUAdGhlIHNhbWUgc3RvcmFnZSkuAGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkAG9uY2UgcGVyIHByb2dyYW0gLS0gaXQgaXMgbm90AHBvc3NpYmxlIHRvIHVzZSBtdWx0aXBsZSBkYXRhAHN0b3JhZ2Ugc2xvdHMgaW4gb25lIHByb2dyYW0uAGRnZXQAZHNldACAIGRnZXQoaSkAICAgZHNldChpLCB2YWwpAGdldC9zZXQgdGhlIG51bWJlciBpbiBwZXJtYW5lbnQAZGF0YSBzdG9yYWdlIGF0IGluZGV4IGkgKDAuLjYzKS4Ac2FtZSBhcyBwZWVrNCgweDVlMDAraSo0KSBhbmQAcG9rZTQoMHg1ZTAwK2kqNCwgdmFsKSwgYWZ0ZXIAY2FydGRhdGEoaWQpIGhhcyBiZWVuIHVzZWQgdG8AbWFwIHRoaXMgbWVtb3J5IHJhbmdlIHRvIHN0b3JhZ2UAY2FsbGluZyBkZ2V0IG9yIGRzZXQgYmVmb3JlAGNhcnRkYXRhKGlkKSByZXN1bHRzIGluIGEgcnVuLQB0aW1lIGVycm9yLgBzdWIAgCBzdWIoc3RyLCBwb3MwLCBbcG9zMV0pAHJldHVybnMgYSBzdWJzdHJpbmcgb2Ygc3RyLCBmcm9tAHBvczAgdW50aWwgcG9zMSwgb3IgI3N0ciB3aGVuAHdoZW4gcG9zMSBpcyBub3QgZ2l2ZW4uIHBvczAgYW5kAHBvczEgYXJlIDEtYmFzZWQsIGFuZCBpbmNsdWRlAHRoZSBjaGFyYWN0ZXJzIGF0IHBvczAsIHBvczEuAG5lZ2F0aXZlIHZhbHVlcyBtZWFuIGNoYXJhY3RlcnMAZnJvbSB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuAD9zdWIoImFiY2RlIiwyLDQpIC0tIGJjZAA/c3ViKCJhYmNkZSIsMiAgKSAtLSBiY2RlAD9zdWIoImFiY2RlIiwtMiApIC0tIGRlAHVzZSBzW2ldIHRvIGdyYWIgYSBzaW5nbGUgY2hhcjoAPnM9ImFiY2QiAD4/c1szXQBjAGNocgCAIGNocih2YWwwLCBbdmFsMSwgdmFsMiAuLi5dKQBjb252ZXJ0IG9uZSBvciBtb3JlIGNoYXJhY3RlcgBjb2RlcyB0byBhIHN0cmluZy4ALS0gQAA/Y2hyKDY0KSAALS0gaGVsbG8AP2NocigxMDQsMTAxLDEwOCwxMDgsMTExKQBvcmQAgCBvcmQoc3RyLCBbcG9zXSwgW251bV0pAHJldHVybiBvbmUgb3IgbW9yZSBvcmRpbmFsIGNoYXIAdmFsdWVzICgwLi4yNTUpIGZyb20gc3RyaW5nIHN0ci4Ad2hlbiBwb3MgaXMgb3V0IG9mIHJhbmdlIG9yIHN0cgBpcyBub3QgYSBzdHJpbmcsIHJldHVybnMgbmlsLgA/b3JkKCJAIikgICAgICAtLSA2NAA/b3JkKCJhYmMiLDIpICAtLSA5OAAtLSA5Nyw5OCw5OQBhLGIsYyA9IG9yZCgiYWJjIiwxLDMpAC0tIHdyaXRlIG9yZCB2YWx1ZXMgdG8gc2NyZWVuAHBva2UoMHg3MDAwLG9yZCgic3R1dnd4eXoiLDEsOCkpAHNwbGl0AIAgc3BsaXQoc3RyLCBbc2VwXSwgW251bWJlcnNdAHNwbGl0IGEgc3RyaW5nIGludG8gYSB0YWJsZSBvZgBlbGVtZW50cyBkZWxpbWl0ZWQgYnkgdGhlAHNlcGFyYXRvciBzZXAgKCIsIiBieSBkZWZhdWx0KS4Ad2hlbiBudW1iZXJzIGlzIHRydWUsIG51bWVyaWNhbAB0b2tlbnMgYXJlIHN0b3JlZCBhcyBudW1iZXJzAGluc3RlYWQgb2Ygc3RyaW5ncyAodHJ1ZSB3aGVuAG5vdCBnaXZlbikuAHNwbGl0KCIxLDIsMyIpIC0tIHsxLDIsM30Ac3BsaXQoIjEsLDIsIikgLS0gezEsIiIsMiwiIn0Ac3BsaXQoIm9uZTp0d286MyIsIjoiLGZhbHNlKQAgLS0+IHsib25lIiwidHdvIiwiMyJ9AHRvc3RyAIAgdG9zdHIodmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBzdHJpbmcuAGZvcm1hdCBpcyBhIGJpdGZpZWxkOgAgIDB4MTogd3JpdGUgYXMgcmF3IGhleGFkZWNpbWFsACAgMHgyOiB3cml0ZSByYXcgaW50MzIAP3Rvc3RyKDE3KSAgIC0tICIxNyIAP3Rvc3RyKDE3LDEpIC0tICIweDAwMTEuMDAwMCIAP3Rvc3RyKDE3LDMpIC0tICIweDAwMTEwMDAwIgA/dG9zdHIoMTcsMikgLS0gIjExMTQxMTIiAHRvbnVtAIAgdG9udW0odmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBudW1iZXIsIG9yAHJldHVybiBub3RoaW5nIHdoZW4gbm8gbnVtYmVyAGNhbiBiZSByZWFkLgAgIDB4MTogcmVhZCB2YWwgYXMgaGV4YWRlY2ltYWwAICAgICAgIHdpdGggbm8gIjB4IiBwcmVmaXgAICAweDI6IHJlYWQgdmFsIGFzIGEgcmF3IGludDMyACAgMHg0OiByZXR1cm4gMCB3aGVuIHZhbCBjYW4AICAgICAgIG5vdCBiZSByZWFkIGFzIGEgbnVtYmVyAD90b251bSgiZmYiLDB4MSkgICAgICAtLSAyNTUAP3RvbnVtKCIxMTE0MTEyIiwweDIpIC0tIDE3AD90b251bSgiMTIzNGFiY2QiLDB4MykAIC0tPiAweDEyMzQuYWJjZABhZGQAgCBhZGQodGJsLCB2YWwsIFtpbmRleF0pAGFkZCB2YWx1ZSB2YWwgdG8gZW5kIG9mIHRhYmxlAHRibC4gZXF1aXZhbGVudCB0bzoAdGJsWyN0YmwgKyAxXSA9IHZhbABpZiBpbmRleCBpcyBnaXZlbiwgdGhlIG5ldwBlbnRyeSBpcyBpbnNlcnRlZCBhdCB0aGF0AHBvc2l0aW9uLgBmb289ezEwLDIwLDMwfQBhZGQoZm9vLDI1LDMpIC0tPiAxMCwyMCwyNSwzMABhcHBsaWVzIHRvIHRhYmxlcyBpbmRleGVkIGJ5AGludGVnZXJzIHN0YXJ0aW5nIGF0IDEuAGRlbACAIGRlbCh0YmwsIHZhbCkAZGVsZXRlIHRoZSBmaXJzdCBpbnN0YW5jZSBvZgB2YWwgaW4gdGFibGUgdGJsIGFuZCBtb3ZlIHRoZQByZW1haW5pbmcgZW50cmllcyB1cCBvbmUgcGxhY2UuAHJldHVybnMgdGhlIGRlbGV0ZWQgaXRlbSwgb3Igbm8AdmFsdWUgd2hlbiBub3RoaW5nIHdhcyBkZWxldGVkLgBhPXsxLDEwLDIsM30AZGVsKGEsIDEwKSAtLT4gMSwyLDMAZGVsaQCAIGRlbGkodGJsLCBpbmRleCkAZGVsZXRlIGFuIGl0ZW0gZnJvbSB0YWJsZSB0YmwAYXQgYSBnaXZlbiBpbmRleCwgYW5kIG1vdmUgdGhlAHdoZW4gaW5kZXggaXMgbm90IGdpdmVuLCBkZWxldGUAYW5kIHJldHVybiB0aGUgbGFzdCBpdGVtOgBhPXsxLDIsMyw0fQBkZWxpKGEsMikgLS0+IDEsMyw0AGRlbGkoYSkgICAtLT4gMSwzAGFsbACAIGFsbCh0YmwpAHVzZWQgaW4gZm9yIGxvb3BzIHRvIGl0ZXJhdGUAb3ZlciBhbGwgaXRlbXMgaW4gYSB0YWJsZS4AdG90YWwgPSAwAGE9ezEwLDIwLDMwfQBmb3IgbiBpbiBhbGwoYSkgZG8AICB0b3RhbCArPSBuAD9uICAgLS0gNjAAZm9yZWFjaACAIGZvcmVhY2godGJsLCBmdW5jKQBmb3IgZWFjaCBpdGVtIGluIHRhYmxlIHRibCwgY2FsbAB0aGUgZnVuY3Rpb24gZnVuYyB3aXRoIHRoYXQgaXRlbQBhcyBhbiBhcmd1bWVudC4APiBmb3JlYWNoKHsxLDIsImhleSJ9LCBwcmludCkAaGV5AHBhaXJzAIAgcGFpcnModGJsKQB1c2VkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgaXRlbXMAaW4gYSB0YWJsZSwgaW5jbHVkaW5nIGtleXMgdGhhdABhcmUgYXJlIG5vdCBpbnRlZ2Vycy4gZWFjaCBjYWxsAHRvIHRoZSBmdW5jdGlvbiBpdCBnZW5lcmF0ZXMAcmV0dXJucyBib3RoIHRoZSBrZXkgKGspIGFuZCB0aGUAdmFsdWUgKHYpIGZvciB0aGF0IGl0ZW06AGEgPSB7Zm9vID0gMywgWzEuNV0gPSAiYmxhaCJ9AGZvciBrLHYgaW4gcGFpcnMoYSkgZG8AICBwcmludCgiazoiLi5rLi4iICB2OiIuLnYpAGs6Zm9vICB2OjMAazoxLjUgIHY6YmxhaABydW4AgCBydW4oW3BhcmFtX3N0cl0pAHJ1biB0aGUgcHJvZ3JhbS4gd2hlbiBjYWxsZWQAd2hlbiBhbHJlYWR5IHJ1bm5pbmcsIHRoZQBwcm9ncmFtIGlzIHJlc3RhcnRlZC4AcGFyYW1fc3RyIGlzIGEgc3RyaW5nIHRoYXQgY2FuAGJlIGFjY2Vzc2VkIGR1cmluZyBydW50aW1lIHdpdGgAc3RhdCg5KS4Ac3RvcACAIHN0b3AoW21lc3NhZ2VdKQBzdG9wIHRoZSBjdXJyZW50bHkgcnVubmluZwBwcm9ncmFtIGFuZCBvcHRpb25hbGx5IHByaW50AGEgbWVzc2FnZS4AYSBzdG9wcGVkIHByb2dyYW0gY2FuIHJlc3VtZWQAd2l0aCB0aGUgcmVzdW1lIGNvbW1hbmQsIG9yAGFkdmFuY2VkIGJ5IGEgc2luZ2xlIGZyYW1lIHdpdGgAYSBmdWxsIHN0b3AuAHJlc3VtZQCAID4gcmVzdW1lACAgID4gLgByZXN1bWUgYSBwcm9ncmFtIHRoYXQgd2FzAHN0b3BwZWQgZWl0aGVyIHdpdGggc3RvcCgpIG9yAGJ5IHByZXNzaW5nIGVzY2FwZS4AYSBzaW5nbGUgZnJhbWUgY2FuIGJlIHJ1biBieQBlbnRlcmluZyBhIGZ1bGwgc3RvcCwgYW5kIHRoZW4AcHJlc3NpbmcgZW50ZXIgdG8gZ2V0IHN1YnNlcXVlbnQAZnJhbWVzLgByZXNldACAIHJlc2V0KCkAcmVzdG9yZSB0aGUgdmFsdWVzIGluIHJhbSBmcm9tADB4NWYwMC4uMHg1ZjdmIHRvIHRoZWlyIGRlZmF1bHQAdmFsdWVzLgB0aGlzIGluY2x1ZGVzIHRoZSBwYWxldHRlLABjYW1lcmEgcG9zaXRpb24sIGNsaXBwaW5nLCBhbmQAZmlsbCBwYXR0ZXJuLgBpdCBjYW4gYWxzbyBiZSB1c2VkIGZyb20gY29tbWFuZABsaW5lIHdpdGhvdXQgdGhlIGJyYWNrZXRzLiB0aGlzAGNhbiBiZSB1c2VmdWwgd2hlbiB0aGUgdGV4dCBpcwBpbnZpc2libGUgYmVjYXVzZSBvZiBwYWxldHRlAGNoYW5nZXMuAHlpZWxkAIAgeWllbGQoKQBleGl0IGEgY29yb3V0aW5lIGFuZCB0aGVuAHJlc3VtZSBhdCB0aGF0IHBvaW50IHdoZW4AY29yZXN1bWUoKSBpcyBjYWxsZWQuAGZvciBhbiBleGFtcGxlLCBzZWU6AGNvcmVzdW1lAGNvY3JlYXRlAGNvcm91dGluZQBjb3JvdXRpbmVzAIAgY29jcmVhdGUoZikAICAgY29yZXN1bWUoYywgW3AwLCBwMSwgLi4uXSkAY3JlYXRlIGEgY29yb3V0aW5lIGZyb20gYQBmdW5jdGlvbiBmLCBhbmQgdGhlbiBydW4gaXQAd2l0aCBhcmd1bWVudHMgcDAsIHAxLi4AZnVuY3Rpb24gaGV5KCkAICBwcmludCJkb2luZyBzb21ldGhpbmciACAgeWllbGQoKQAgIHByaW50InNvbWV0aGluZyBlbHNlIgAgIHByaW50ImZpbmlzaGVkIgBjID0gY29jcmVhdGUoaGV5KQBjb3Jlc3VtZShjKSAgLS0gZG9pbmcgc29tZXRoaW5nAGNvcmVzdW1lKGMpICAtLSBzb21ldGhpbmcgZWxzZQA/Y29zdGF0dXMoYykgLS0gInN1c3BlbmRlZCIAY29zdGF0dXMAgCBjb3N0YXR1cyhjKQByZXR1cm5zIHRoZSBzdGF0dXMgb2YgYQBjb3JvdXRpbmUgYyBhcyBhIHN0cmluZzoAICBydW5uaW5nACAgc3VzcGVuZGVkACAgZGVhZAB0aW1lAHQAgCB0aW1lKCkAICAgdCgpAHJldHVybnMgdGhlIG51bWJlciBvZiBzZWNvbmRzAHNpbmNlIHRoZSBwcm9ncmFtIHN0YXJ0ZWQAcnVubmluZywgdGFrZW4gZnJvbSB0aGUgbW9tZW50AHRoZSBjdXJyZW50IGZyYW1lIHN0YXJ0ZWQuAG1lbnVpdGVtAIAgbWVudWl0ZW0oaW5kZXgsIFtsYWJlbF0sIFtmXSkAYWRkIGFuIGl0ZW0gdG8gdGhlIHBhdXNlIG1lbnUgAGF0IHNsb3QgaW5kZXggKDEuLjUpIHdpdGggYQBsYWJlbCA8PSAxNiBjaGFycyBsb25nLgBmIGlzIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQAd2hlbiB0aGUgbWVudSBpdGVtIGlzIHNlbGVjdGVkAG9yIHRoZSBsZWZ0IG9yIHJpZ2h0IGJ1dHRvbnMAYXJlIHByZXNzZWQuIGl0IHRha2VzIGEgc2luZ2xlAGJpdGZpZWxkIHBhcmFtZXRlciBpbmRpY2F0aW5nAHdoaWNoIGJ1dHRvbiB3YXMgcHJlc3NlZC4AbWVudWl0ZW0oMSwgImZvbyIsIGZ1bmN0aW9uKGIpACA/InNlbGVjdGVkIGZvbzoiLi5iAGVuZCkAd2hlbiBubyBsYWJlbCBvciBjYWxsYmFjayBpcwBzcGVjaWZpZWQsIHRoZSBpdGVtIGlzIGRlbGV0ZWQuAHN0YXQAgCBzdGF0KHgpAGdldCBzeXN0ZW0gc3RhdHVzACAwIG1lbW9yeSB1c2FnZSAoMC4uMjA0OCkAIDEgY3B1ICAgICAgKDEuMCA9PSAxMDAlKQAgNCBjbGlwYm9hcmQgY29udGVudHMAIDYgcGFyYW1ldGVyIHN0cmluZwAgNyBjdXJyZW50IGZyYW1lcmF0ZQAgNDYuLjQ5IGN1cnJlbnQgcGxheWluZyBzZngAIDUwLi41MyBub3RlIG51bWJlciAocGVyIGNoYW4pACA1NCBjdXJyZW50bHkgcGxheWluZyBwYXR0ZXJuACA1NSB0b3RhbCBwYXR0ZXJucyBwbGF5ZWQAIDU2IHRpY2tzIHBsYXllZCBvbiBwYXR0ZXJuACA1NyB0cnVlIHdoZW4gbXVzaWMgcGxheWluZwAgODAuLjg1IHV0YyB0aW1lOyB5ZWFyLi5zZWNvbmQAIDkwLi45NSBsb2NhbCB0aW1lACAxMDAgYnJlYWRjcnVtYiBsYWJlbCwgb3IgbmlsAHNlcmlhbACAIHNlcmlhbChjaGFubmVsLCBhZGRyLCBsZW4pAHJlYWQvd3JpdGUgZGF0YSB0byBhIG1lbW9yeQBhZGRyZXNzIGZvciBsZW4gYnl0ZXMuAGNoYW5uZWw6ACAweDAwMC4uMHgwZmUgZ3BpbyBwaW5zIChyYXNwaSkAIDB4MGZmIGRlbGF5IGZvciBsZW4gbXMAIDB4ODAwIGRyb3BwZWQgZmlsZSAtLSBzdGF0KDEyMCkAIDB4ODAyIGRyb3BwZWQgZmlsZQAgMHg4MDQgc3RkaW4AIDB4ODA1IHN0ZG91dABleHRjbWQAgCBleHRjbWQoY21kX3N0cikAc3BlY2lhbCBzeXN0ZW0gY29tbWFuZHMgY2FuIGJlAGlzc3VlZCBmcm9tIGEgcnVubmluZyBwcm9ncmFtOgBwYXVzZTogcGF1c2UgY2FydAByZXNldDogcmVzZXQgY2FydABnb19iYWNrOiByZXR1cm4gdG8gcHJldmlvdXMgY2FydABsYWJlbDogc2V0IGNhcnQgbGFiZWwAc2NyZWVuOiBzYXZlIGEgc2NyZWVuc2hvdAByZWM6IHNldCB2aWRlbyBzdGFydCBwb2ludAByZWNfZnJhbWVzOiAxIGZyYW1lIHBlciBmbGlwAHZpZGVvOiBzYXZlIGEgLmdpZiB0byBkZXNrdG9wAGF1ZGlvX3JlYzogc3RhcnQgcmVjb3JkaW5nIGF1ZGlvAGF1ZGlvX2VuZDogc2F2ZSAud2F2IHRvIGRlc2t0b3AAc2h1dGRvd246IChmb3IgZXhwb3J0ZWQgY2FydHMpAGZvbGRlcjogb3BlbiBjdXJyZW50IGZvbGRlcgBsb2FkAIAgPiBsb2FkIGZpbGVuYW1lACAgIGxvYWQoZmlsZW5hbWUsIFticmVhZGNydW1iXSwAICAgW3BhcmFtX3N0cl0pAGxvYWQgYSBjYXJ0cmlkZ2UuIHdoZW4gY2FsbGVkAGZyb20gYSBydW5uaW5nIHByb2dyYW0sIHRoZQBsb2FkZWQgY2FydHJpZGdlIGlzIGltbWVkaWF0ZWx5AHJ1biB3aXRoIHBhcmFtX3N0ciAoYWNjZXNzaWJsZQB3aXRoIHN0YXQoNikpIGFuZCBhIG1lbnUgaXRlbQB3aXRoIHRoZSBsYWJlbCBicmVhZGNydW1iIGlzAGluc2VydGVkLCBhbGxvd2luZyB0aGUgdXNlciB0bwByZXR1cm4gdG8gdGhlIHByZXZpb3VzIGNhcnQuAGZpbGVuYW1lcyBzdGFydGluZyB3aXRoICMgYXJlAHRha2VuIHRvIGJlIGJicyBjYXJ0cmlkZ2UgaWRzLgBzYXZlAIAgPiBzYXZlIGZpbGVuYW1lAHNhdmUgdGhlIHdvcmtpbmcgY2FydHJpZGdlIHRvIGEAZmlsZS4gd2hlbiB0aGUgZmlsZSBkb2VzIG5vdABjb250YWluIHRoZSAucDggZXh0ZW5zaW9uLCBpdCBpcwBhZGRlZCBhdXRvbWF0aWNhbGx5OgA+IHNhdmUgZm9vAHNhdmVkIGZvby5wOAB1c2UgLnBuZyBpbiB0aGUgZmlsZW5hbWUgdG8gc2F2ZQBhIC5wOC5wbmcgY2FydHJpZGdlLiB0byBjYXB0dXJlAGEgbGFiZWwgYmVmb3JlaGFuZCwgcHJlc3MgY3RybC03AHRvIHNhdmUgdG8gY2xpcGJvYXJkLCB1c2U6AD5zYXZlIEBjbGlwAHRoaXMgY2FuIGJlIHBhc3RlZCBhcyB0ZXh0IGFuZABpcyBzdXBwb3J0ZWQgYnkgdGhlIGJicy4AaW1wb3J0AIAgPiBpbXBvcnQgZmlsZW5hbWUAaW1wb3J0IGFuIGltYWdlIG1hcHBpbmcgdG8gdGhlAGN1cnJlbnQgcGFsZXR0ZS4gdW5sZXNzIC1sIGlzAHVzZWQsIGltcG9ydCB0byB0aGUgc3ByaXRlc2hlZXQuACAtbCAgICAgLS0gaW1wb3J0IGNhcnQgbGFiZWwAIC14IG51bSAtLSBsb2FkIGF0IHggcG9zaXRpb24AIC15IG51bSAtLSBsb2FkIGF0IHkgcG9zaXRpb24APiBpbXBvcnQgLWwgbXlsYWJlbC5wbmcAZXhwb3J0AIAgPiBleHBvcnQgZmlsZW5hbWUgAGV4cG9ydCBhIGZpbGUgYmFzZWQgb24gdHlwZToAIC5wbmcgIHNwcml0ZXNoZWV0ACAud2F2ICBjdXJyZW50IHNmeCBvciBwYXR0ZXJuACAuYmluICBzdGFuZC1hbG9uZSBiaW5hcmllcwAgLmh0bWwgc3RhbmQtYWxvbmUgd2ViIGFwcAAgLnA4LnBuZyAgIHNhdmUgYSBjb3B5ACAubWFwLnBuZyAgbWFwIHZpc3VhbGlzYXRpb24AZXhwb3J0IGxhYmVsOgA+IGV4cG9ydCAtbCBsYWJlbC5wbmcAdGlueSAucm9tIGZvcm1hdCAoY29kZSBvbmx5KToAPiBleHBvcnQgLXQgZm9vLnA4LnJvbQBiaW5hcnkgbXVsdGljYXJ0OgA+IGV4cG9ydCBmb28uYmluIGNhcnQyLnA4IGMzLnA4AGluZm8AgCA+IGluZm8AZ2V0IHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlAGN1cnJlbnRseSBsb2FkZWQgY2FydHJpZGdlOgAgZmlsZW5hbWUAIGNhcGFjaXR5IHN0YXRzACB1bnNhdmVkIGNoYW5nZXMAZm9sZGVyAIAgPiBmb2xkZXIgW3doaWNoXQBvcGVuIHRoZSBjdXJyZW50IGZvbGRlciBpbiB0aGUAaG9zdCdzIGZpbGUgbmF2aWdhdG9yLgB3aGVuIHdoaWNoIGlzIGdpdmVuLCBhIHNwZWNpYWwAbG9jYXRpb24gaXMgb3BlbmVkOgAgYmFja3VwcwAgY29uZmlnACBiYnMAIGRlc2t0b3AAdG8gb3BlbiBhIGZvbGRlciBmcm9tIGEgcnVubmluZwBjYXJ0cmlkZ2UgdGhhdCBoYXMgYmVlbiBleHBvcnRlZAB0byBiaW5hcnksIHVzZSBleHRjbWQoImZvbGRlciIuAHNodXRkb3duAIAgPiBzaHV0ZG93bgBwcm9tcHQgZm9yIGFueSB1bnNhdmVkIGNoYW5nZXMAYW5kIHRoZW4gY2xvc2UgcGljby04LgBmb3IgZmFzdCBzaHV0ZG93biwgdXNlIGtleXM6ACBhbHQtZjQgKHdpbmRvd3MpACBjdHJsLXEgKGxpbnV4IC8gbWFjKQBscwBkaXIAgCA+IGxzIFtwYXRoXQBsaXN0IGFsbCBvZiB0aGUgY2FydHMgaW4AdGhlIGdpdmVuIHBhdGguAGxzICogdG8gc2hvdyBoaWRkZW4gZmlsZXMAcmVib290AIAgPiByZWJvb3QAYW5kIHRoZW4gcmVib290IHBpY28tOC4AdGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvAHN0YXJ0IGEgbmV3IGVtcHR5IHByb2plY3QuAHNwbG9yZQCAID4gc3Bsb3JlACAgID4gcwBvcGVuIHNwbG9yZTogcGljby04J3MgYmJzAGNhcnRyaWRnZSBicm93c2VyLgB1c2UgbGVmdCBhbmQgcmlnaHQgdG8gc3dpdGNoAGJldHdlZW4gY2FydHJpZGdlIGxpc3RzLCBhbmQAdXAgYW5kIGRvd24gdG8gc2VsZWN0IGEgY2FydC4AdXNlIJcvjiB0byBvcGVuIGEgY2FydHJpZGdlAG9yIHRoZSBtZW51IGJ1dHRvbiBmb3IgbW9yZQBvcHRpb25zLgBsb2dpbgBsb2dvdXQAgCA+IGxvZ2luACAgID4gbG9nb3V0AGxvZyBpbiB0byB5b3VyIGxleGFsb2ZmbGUAYWNjb3VudC4gd2hpbGUgbG9nZ2VkIGluLCB1c2VycwBhcmUgYWJsZSB0byBzdWJtaXQgaGlnaCBzY29yZXMAdXNpbmcgc2NvcmVzdWIoKSwgYWRkIHN0YXJzIHRvAGNhcnRzLCBhbmQgc3luYyBiYnMgZmF2b3VyaXRlcy4AW25vdCBpbXBsZW1lbnRlZCB5ZXQhXQB0b3BpYyBub3QgZm91bmQ6AF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAdG9vIG1hbnkgY2FydGRhdGEoKSBzbG90cwBiYWQgY2FydCBkYXRhIGlkAGNhcnQgZGF0YSBpZDogYmFkIGNoYXIALndhdgAucmF3AGV4cG9ydCBpcyB1bmF2YWlsYWJsZQBjb3VsZCBub3Qgb3BlbiBmaWxlAHdyb3RlICVkIGZpbGUlYwBubyByZWNvcmRpbmcgaW4gcHJvZ3Jlc3MAc2Z4ICVkIDo6IHRpY2tzICVkAHBhdHRlcm4gJWQAd2F2AHBsYXllciBrZXkgY29uZmlnAHNhdmVkIGNvbmZpZy4AcHJlc3MgZXNjYXBlAHRvIGNvbnRpbnVlAHByZXNzIGtleSBmb3I6AGRlbCBmb3IgZGVmYXVsdABlc2MgdG8gY2FuY2VsACVzIDogJXMAbGVmdAByaWdodAB1cABkb3duAHogLyBjIC8gbgB4IC8gdiAvIG0AcwBmAGUAZAB0YWIAcQBwIC8gZW50ZXIAcDEgbGVmdCAgICAAcDEgcmlnaHQgICAAcDEgdXAgICAgICAAcDEgZG93biAgICAAcDEgjiAgICAgIABwMSCXICAgICAgAHAyIGxlZnQgICAgAHAyIHJpZ2h0ICAgAHAyIHVwICAgICAgAHAyIGRvd24gICAgAHAyII4gICAgICAAcDIglyAgICAgIABwYXVzZSAgICAgIABscnVkb3hwY3Vyc29ycwB6IHgvYyB2AHMgZiBlIGQAdGFiIHEgdwAgICAgICAgACVkIGpveXN0aWNrcyBkZXRlY3RlZABsb2NhbABmYXZvdXJpdGVzAG5ldwBmZWF0dXJlZAB3b3JrIGluIHByb2dyZXNzAGphbQBsdWNreSBkcmF3AHNlYXJjaABmYXYAdG9wAHdpcABsdWNreQBjYXQ9NyZzdWI9MgBjYXQ9NyZzdWI9MiZvcmRlcmJ5PXJhdGluZwBjYXQ9NyZzdWI9MwBjYXQ9NyZzdWI9OABjYXQ9NyZvcmRlcmJ5PWx1Y2t5AGNhdD03JnNlYXJjaD1ibGFoAC5wbmcAfCUtMjBzIHwlLTIwcyB8JS02ZCB8JS0xNnMgfCUtMjBzIHwlcwoAY291bGQgbm90IGxvYWQgZmF2b3VyaXRlcyBmaWxlOiAlcwoAYmJzAGJicy8lZC8AJXN0ZW1wLSVkLm5mbwAlcyVkLnA4LnBuZwBiYnMvY2FydHMAJXMvdGVtcC0lcy5uZm8AJXMvJXMucDgucG5nACVzL2Jicy9nZXRfY2FydC5waHA/Y2F0PTcmcGxheV9zcmM9JWQmbGlkPSVzAGJicy9sYWJlbHMvACVzJXMucG5nAHJ1biBjYXJ0AG9wdGlvbnMAcmVtb3ZlIGZyb20gZmF2b3VyaXRlcwBmYXZvdXJpdGUAY2FydHMgYnkgQCVzAHNpbWlsYXIgY2FydHMAc2VhcmNoIGJicyB0aHJlYWQAb3BlbiB0aHJlYWQgaW4gYnJvd3NlcgBbYmFja10AZWRpdCBjYXJ0AHJlLWRvd25sb2FkAG9wZW4gaW4gYnJvd3NlcgBiYWNrAHZvbHVtZQBmdWxsc2NyZWVuAHNodXRkb3duIHBpY28tOABjYXQ9NyZzZWFyY2g9JXMmbWF4PTMyAGJicy90ZW1wXyVzX18ucGlwLnBuZwBiYnMvdGVtcF8lcy5waXAucG5nAGJicy8lcy5waXAucG5nAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bWF4PTMyJnN0YXJ0X2luZGV4PSVkJiVzJnZlcnNpb249JXMlYyZjZmlsPSVkADAwMDIwNwBkb3dubG9hZCBmYWlsZWQAbGlkAHRpdGxlAGF1dGhvcgBtaWQAY2F0c3ViAFtjYWNoZV0vAFtyZWZyZXNoXQBbY2FjaGVdAC5wOABbc2VhcmNoXQBbdXBkYXRlXQAlZCAlZCAlZABbbG9hZCBtb3JlXQAgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Xy06AGNhbmNlbGxlZABkb3dubG9hZCBjYW5jZWxsZWQAc3Bsb3JlX2luaXQKAGNhdD03Jm9yZGVyYnk9ZmF2b3VyaXRlcyZ1aWQ9MQBQSUNPLTgAeyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSBwaWNvOF9ncGlvWyQwXT0kMX0Ae3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgdmFsID0gcGljbzhfZ3Bpb1skMF07IHJldHVybiB2YWx9AGhlbGxvLnA4AGFwaS5wOABhdXRvbWF0YS5wOABib3VuY2UucDgAY2FzdC5wOABjb2xsaWRlLnA4AGRvdHMzZC5wOABkcmlwcHkucDgAamVscGkucDgAc29ydC5wOAB3YW5kZXIucDgAd2F2ZXMucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMANDE0MjIANTcyMDEAY2VsZXN0ZS5wOC5wbmcAZnJvZ19ob21lLnA4LnBuZwBodWdfYXJlbmEucDgucG5nAGFyY2hlb3MucDgucG5nAGR1c2tfY2hpbGQucDgucG5nADhfbGVnc190b19sb3ZlLnA4LnBuZwBlbWJyYWNlLnA4LnBuZwBjZWxlc3RlAGZyb2cgaG9tZQBodWcgYXJlbmEAdG93ZXIgb2YgYXJjaGVvcwBkdXNrIGNoaWxkADggbGVncyB0byBsb3ZlAGVtYnJhY2UAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAGNvdWxkIG5vdCB3cml0ZSB0byBkaXNrAGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi43AChjKSAyMDE0LTI1IGxleGFsb2ZmbGUgZ2FtZXMgbGxwAGJvb3RpbmcgY2FydHJpZGdlLi4AW2NvZG9dICVzAD5jb2RvX2luaXQKAHBsYXRmb3JtOiAlcwoARW1zY3JpcHRlbgBjb2RvX3N5c3RlbV9pbml0CgBjb2RvX3Jlc2V0X3RpbWVyCgBjb2RvX2d1aV9pbml0CgBjb2RvX2tleXNfaW5pdAoAY29kb190ZXh0X2luaXQKAGNvZG9fdmlkZW9faW5pdAoAY29kb19tb3VzZV9pbml0CgBjb2RvX2pveXN0aWNrX2luaXQKADxvawoAd2lkdGgAaGVpZ2h0AHdpbmRvd194AHdpbmRvd195AHNvdW5kAG11c2ljAHNvZnR3YXJlX2JsaXQAc29mdHdhcmVfYmxpdHRlcgBob21lAGRlc2t0b3AAcGl4ZWxfcGVyZmVjdABkcmF3X3JlY3QAdGltZW91dABoZWFkbGVzcwBwZXJmX3RpbWluZwBmcmFtZWJ1ZmZlcgBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBGUy5zeW5jZnMoIGZhbHNlLCBmdW5jdGlvbiAoZXJyKSB7IH0gKTsAJTIwczolMDNkICAgACAgLj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0sACAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ACAgfCAgVG8gbWFwIGtleSBBIHRvIEIgKHdoZW4gQSBpcyBwcmVzc2VkLCBpdCBzaG93cyB1cCBhcyBpZiBCIHdlcmUgcHJlc3NlZCksICB8ACAgfCAgcHJlc3MgQSB0byBnZXQgdGhlIHNjYW5jb2RlLCBhbmQgbG9vayB1cCBCIGluIHRoZSBsaXN0LiBUaGVuLCBhZGQgaXQgdG8gICB8ACAgfCAgbWFwX3NjYW5jb2RlcyBpbiBjb25maWcudHh0LiBGb3IgZXhhbXBsZSwgdG8gbWFwIGJhY2tzcGFjZSAoNDIpIGFzICAgICAgICB8ACAgfCAgZXNjYXBlICg0MSksIGFuZCBhbHNvIHJpZ2h0IHNoaWZ0KDIyOSkgYXMgcmlnaHQgY3Vyc29yIGtleSAoNzkpOiAgICAgICAgICB8ACAgfCAgbWFwX3NjYW5jb2RlcyA0Mj00MSwyMjk9NzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ACAgfCAgTm90ZTogdGhpcyBkb2VzIG5vdCBhcHBseSB0byB0ZXh0aW5wdXQgZXZlbnRzIG1hcHBlZCB2aWEga2JkIGxheW91dC4gICAgICB8ACAgYD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nADo6IHNjYW5jb2RlIHZpZXdlciAgICAvLyBhbHQrZjQgLyBjdHJsLXEgdG8gcXVpdAAlMDNkAHByZXNzZWQgc2NhbmNvZGU6JTRkICAgIG5hbWU6JTE2cwoALXNjYW5jb2RlcwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAENPTgBQUk4AQVVYAE5VTABDT00wAENPTTEAQ09NMgBDT00zAENPTTQAQ09NNQBDT002AENPTTcAQ09NOABDT005AExQVDAATFBUMQBMUFQyAExQVDMATFBUNABMUFQ1AExQVDYATFBUNwBMUFQ4AExQVDkAY29kb19sb2FkX3BvZF9maWxlOiBVbmtub3duIENodW5rIQoAcmIAZmFpbGVkAG9rAGNvZG9fbG9hZF9wb2Q6ICVzICVzIAoAKiogd2ViIGZpbGUgc3lzdGVtIG5vdCBtb3VudGVkLiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAIC0+IHJldHVybmluZyB2ZGlzayBmaWxlOiAlcyAoJXMpCgBjb2RvX3NwbGl0X2ZpbGVuYW1lX2V4OiBmaWxlX25hbWUgdG9vIGxvbmcKACJ7cmV0dXJuICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSA/IDAgOiAxO30iAEBAIGRlZmF1bHQgbWl4X2J1ZmZlcl9zaXplIGFkanVzdGVkIHRvIDIwNDggKE1vYmlsZSkAY29uZmlnLnR4dABGb3VuZCBjb25maWcudHh0CgA+CgAlMDJkICVzCgB2aWRlb19tb2RlACAlZCAlZAB3aW5kb3dfc2l6ZQBzY3JlZW5fc2l6ZQB3aW5kb3dlZAAgJWQAZm9yZWdyb3VuZF9zbGVlcF9tcwBiYWNrZ3JvdW5kX3NsZWVwX21zAHNvdW5kX3ZvbHVtZQBtdXNpY192b2x1bWUAbWl4X2J1ZmZlcl9zaXplAHdpbmRpYgBvcGVuZ2xfYmxpdABzaG93X2ZwcwBsYXJnZV93aW5kb3cAZnJhbWVsZXNzAHdpbmRvd19wb3NpdGlvbgBuZXcgd2luZG93IHBvc2l0aW9uOiAlZCwgJWQKAHNlc3Npb25zAHJtYl9rZXkAZGVza3RvcF9wYXRoAGZ1bGxzY3JlZW5fbWV0aG9kAGJsaXRfbWV0aG9kAHJlYWRfY29udHJvbGxlcnNfaW5fYmFja2dyb3VuZABtYXBfc2NhbmNvZGVzACVkPSVkAHVzZV93Z2V0ADwKAHcAc291bmRfdm9sdW1lICVkIC8vIDAuLjI1NgoAbXVzaWNfdm9sdW1lICVkIC8vIDAuLjI1NgoALi4AfgBjb2RvX3NhdmVfcG5nIHJlc3VsdDogJWQgIGZpbGU6ICVzCgAKQXNzZXJ0aW9uIGZhaWxlZDogJXMKAENvdWxkIG5vdCBhbGxvY2F0ZSB2ZXJ0ZXgAQ291bGQgbm90IGFsbG9jYXRlIGJvbmVfdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBwb2x5AGFjdG9yJWQAIABJSERSAFBMVEUAYktHRABwSFlzAElEQVQAdElNRQB6VFh0AExvZGVQTkcAMjAxMTAyMjEAaVRYdAB0RVh0AHRSTlMAY29kb19mcmVlIGZhaWwgJXggJXgKACUwOHglMDh4JTA4eCUwOHglMDh4ACJ7cmV0dXJuIGRvY3VtZW50LmhpZGRlbiA/IDEgOiAwO30iAGNvZG9fc291bmRfaW5pdCBtaXhfYnVmZmVyX3NpemU6ICVkCgBjb2RvX3NldF9zY3JlZW4gJWQgJWQgJWQgJXgKAHJldHJpZXZpbmcgZGVza3RvcCByZXNvbHV0aW9uOiAlZCAlZAoAIHdpbmRvdyBzaXplOiAlZCAlZAoAIGRlc2t0b3Agc2l6ZTogJWQgJWQKAG9rCgAlWS0lbS0lZCAlSDolTTolUwAlcy8lcwAqACVkLSVkLSVkICVkOiVkOiVkAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgAxADIAMwA0ADUANgA3ADgAOQAwAFJldHVybgBFc2NhcGUAQmFja3NwYWNlAFRhYgBTcGFjZQAtAD0AWwBdAFNsYXNoACMAOwAnAGAALAAvAENhcHNMb2NrAEYxAEYyAEYzAEY0AEY1AEY2AEY3AEY4AEY5AEYxMABGMTEARjEyAFByaW50U2NyZWVuAFNjcm9sbExvY2sAUGF1c2UASW5zZXJ0AEhvbWUAUGFnZVVwAERlbGV0ZQBFbmQAUGFnZURvd24AUmlnaHQATGVmdABEb3duAFVwAE51bWxvY2sAS2V5cGFkIC8AS2V5cGFkICoAS2V5cGFkIC0AS2V5cGFkICsAS2V5cGFkIEVudGVyAEtleXBhZCAxAEtleXBhZCAyAEtleXBhZCAzAEtleXBhZCA0AEtleXBhZCA1AEtleXBhZCA2AEtleXBhZCA3AEtleXBhZCA4AEtleXBhZCA5AEtleXBhZCAwAEtleXBhZCAuAEFwcGxpY2F0aW9uAFBvd2VyAEtleXBhZCA9AEYxMwBGMTQARjE1AEYxNgBGMTcARjE4AEYxOQBGMjAARjIxAEYyMgBGMjMARjI0AEV4ZWN1dGUASGVscABNZW51AFNlbGVjdABTdG9wAEFnYWluAFVuZG8AQ3V0AENvcHkAUGFzdGUARmluZABNdXRlAFZvbHVtZVVwAFZvbHVtZURvd24AS2V5cGFkICwAS2V5cGFkID0gKEFTNDAwKQBBbHRFcmFzZQBTeXNSZXEAQ2FuY2VsAENsZWFyAFByaW9yAFNlcGFyYXRvcgBPdXQAT3BlcgBDbGVhciAvIEFnYWluAENyU2VsAEV4U2VsAEtleXBhZCAwMABLZXlwYWQgMDAwAFRob3VzYW5kc1NlcGFyYXRvcgBEZWNpbWFsU2VwYXJhdG9yAEN1cnJlbmN5VW5pdABDdXJyZW5jeVN1YlVuaXQAS2V5cGFkICgAS2V5cGFkICkAS2V5cGFkIHsAS2V5cGFkIH0AS2V5cGFkIFRhYgBLZXlwYWQgQmFja3NwYWNlAEtleXBhZCBBAEtleXBhZCBCAEtleXBhZCBDAEtleXBhZCBEAEtleXBhZCBFAEtleXBhZCBGAEtleXBhZCBYT1IAS2V5cGFkIF4AS2V5cGFkICUAS2V5cGFkIDwAS2V5cGFkID4AS2V5cGFkICYAS2V5cGFkICYmAEtleXBhZCB8AEtleXBhZCB8fABLZXlwYWQgOgBLZXlwYWQgIwBLZXlwYWQgU3BhY2UAS2V5cGFkIEAAS2V5cGFkICEAS2V5cGFkIE1lbVN0b3JlAEtleXBhZCBNZW1SZWNhbGwAS2V5cGFkIE1lbUNsZWFyAEtleXBhZCBNZW1BZGQAS2V5cGFkIE1lbVN1YnRyYWN0AEtleXBhZCBNZW1NdWx0aXBseQBLZXlwYWQgTWVtRGl2aWRlAEtleXBhZCArLy0AS2V5cGFkIENsZWFyAEtleXBhZCBDbGVhckVudHJ5AEtleXBhZCBCaW5hcnkAS2V5cGFkIE9jdGFsAEtleXBhZCBEZWNpbWFsAEtleXBhZCBIZXhhZGVjaW1hbABMZWZ0IEN0cmwATGVmdCBTaGlmdABMZWZ0IEFsdABMZWZ0IEdVSQBSaWdodCBDdHJsAFJpZ2h0IFNoaWZ0AFJpZ2h0IEFsdABSaWdodCBHVUkATW9kZVN3aXRjaABBdWRpb05leHQAQXVkaW9QcmV2AEF1ZGlvU3RvcABBdWRpb1BsYXkAQXVkaW9NdXRlAE1lZGlhU2VsZWN0AFdXVwBNYWlsAENhbGN1bGF0b3IAQ29tcHV0ZXIAQUMgU2VhcmNoAEFDIEhvbWUAQUMgQmFjawBBQyBGb3J3YXJkAEFDIFN0b3AAQUMgUmVmcmVzaABBQyBCb29rbWFya3MAQnJpZ2h0bmVzc0Rvd24AQnJpZ2h0bmVzc1VwAERpc3BsYXlTd2l0Y2gAS0JESWxsdW1Ub2dnbGUAS0JESWxsdW1Eb3duAEtCRElsbHVtVXAARWplY3QAU2xlZXAAQXBwMQBBcHAyAEF1ZGlvUmV3aW5kAEF1ZGlvRmFzdEZvcndhcmQAVW5hYmxlIHRvIGluaXRpYWxpemUgU0RMAGlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7IHZhciB2YWwgPSAtMTsgaWYgKGUua2V5Lmxlbmd0aCA9PSAxKSB7IHZhbCA9IGUua2V5LmNoYXJDb2RlQXQoMCk7IH0gZWxzZSB7IGlmIChlLmtleSA9PSAiVGFiIikgdmFsID0gOTsgaWYgKGUua2V5ID09ICJFbnRlciIpIHZhbCA9IDEzOyBpZiAoZS5rZXkgPT0gIkJhY2tzcGFjZSIpIHZhbCA9IDg7IGlmIChlLmtleSA9PSAiRXNjYXBlIikgdmFsID0gMjc7IGlmICh2YWwgPT0gLTEpeyB9IH0gdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgY29kb19rZXlfYnVmZmVyLnB1c2godmFsKTsgfSk7AHZhciBfY29kb190ZXh0X3ZhbHVlID0gIiI7IHZhciBfY29kb19zdHJfb3V0ID0gIiI7IHZhciBjb2RvX3doZWVsX2R4ID0gMDsgdmFyIGNvZG9fd2hlZWxfZHkgPSAwOyBhZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBmdW5jdGlvbihldmVudCl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKSBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSAiY2FudmFzIikgeyBwaWNvOF9zdGF0ZS5jbGlja2VkX291dHNpZGUgPSB0cnVlOyB9IH0pOwBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIGZ1bmN0aW9uKGUpeyBkeCA9IGUuZGVsdGFYOyBpZiAoZHggPCAwKSBkeCA9IC0xOyBpZiAoZHggPiAwKSBkeCA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeCAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R4IC09IGR4OyBkeSA9IGUuZGVsdGFZOyBpZiAoZHkgPCAwKSBkeSA9IC0xOyBpZiAoZHkgPiAwKSBkeSA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeSAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R5IC09IGR5OyB9KTsACgoqKiBGQVRBTCBFUlJPUjogJXMKCgBTREwgRXJyb3I6ICVzCgAie3ZhciByZXQgPSAwOyBpZiAodHlwZW9mIHBpY284X21vdXNlICE9PSAndW5kZWZpbmVkJyAmJiBwaWNvOF9tb3VzZS5sZW5ndGggPiAwKSByZXQ9MTsgcmV0dXJuIHJldDt9IgAie3JldHVybiBwaWNvOF9tb3VzZVswXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzFdfSIAZnVuY3Rpb24gYXVkaW9fbG9nKG1zZykgeyBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7IHdpbmRvdy5jb25zb2xlLmxvZygiW2NvZG9dIGF1ZGlvX2luaXRfd2ViYXVkaW8gIittc2cpOyB9IH0gYXVkaW9fbG9nKCJhdWRpb19pbml0Iik7IHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7IGlmICh0eXBlb2YgTW9kdWxlID09PSAndW5kZWZpbmVkJykgYXVkaW9fbG9nKCIgKioqIE1vZHVsZSB1bmRlZmluZWQiKTsgZWxzZSBpZiAodHlwZW9mIE1vZHVsZS5jY2FsbCA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiogTW9kdWxlLmNjYWxsIHVuZGVmaW5lZCIpOyBlbHNlIHsgdmFyIHdlYkF1ZGlvQVBJID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tb3pBdWRpb0NvbnRleHQgfHwgd2luZG93Lm9BdWRpb0NvbnRleHQgfHwgd2luZG93Lm1zQXVkaW9Db250ZXh0OyBpZiAod2ViQXVkaW9BUEkpIHsgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBwaWNvOF9hdWRpb19jb250ZXh0OyBhdWRpb19sb2coImZvdW5kIHBpY284X2F1ZGlvX2NvbnRleHQiKTsgfSBlbHNlIGlmICh0eXBlb2Ygdm94YXRyb25fYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gdm94YXRyb25fYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCB2b3hhdHJvbl9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSTsgYXVkaW9fbG9nKCJjcmVhdGluZyBvd24gYXVkaW8gY29udGV4dCIpOyB9IGlmIChjb2RvX2F1ZGlvX2NvbnRleHQpIHsgYXVkaW9fbG9nKCJTYW1wbGUgUmF0ZTogIitjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZSk7IGF1ZGlvX2xvZygiQnVmZmVyIFNpemU6ICIrJDApOyBub2RlID0gY29kb19hdWRpb19jb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigkMCwgMSwgMSk7IG5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihlKSB7IHZhciBkYXRhID0gZS5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7IHZhciByID0gMjIwNTAuMCAvIGNvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlOyB2YXIgbGVuMCA9IE1hdGguZmxvb3IoZGF0YS5sZW5ndGggKiByKTsgdmFyIGxlbjEgPSBkYXRhLmxlbmd0aDsgdmFyIHB0ciA9IE1vZHVsZS5jY2FsbCgnbWl4XzAnLCAnbnVtYmVyJywgWydudW1iZXInLCAnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHg6MDsgY29kb193aGVlbF9keCA9IDA7IHJldHVybiB0ZW1wO30iACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keSAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keTowOyBjb2RvX3doZWVsX2R5ID0gMDsgcmV0dXJuIHRlbXA7fSIAInsgaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsgcmV0dXJuICghZWwgfHwgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwidGV4dGFyZWFcIikpOyB9IgAieyBpZiAoKHR5cGVvZiBwaWNvOF9zdGF0ZSkgIT09ICd1bmRlZmluZWQnKSBpZiAocGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlKSB7IHBpY284X3N0YXRlLmNsaWNrZWRfb3V0c2lkZSA9IGZhbHNlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuZm9jdXMoKTsgZWwuc2VsZWN0KCk7IH0AZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuc2VsZWN0KCk7IH0AIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IG1vdW50ZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AFtjb2RvXSBleGl0aW5nIHBvaW50ZXIgbG9jawB7TW9kdWxlWydjYW52YXMnXS5leGl0UG9pbnRlckxvY2soKTt9AEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7IF9jb2RvX3N0cl9vdXQgPSBNb2R1bGUuVVRGOFRvU3RyaW5nKCQwLCAkMSk7IH0AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AHsgTW9kdWxlLnN0cmluZ1RvVVRGOChfY29kb190ZXh0X3ZhbHVlLCAkMCwgJDEpOyB9ACJlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gXCJub25lXCIgJiYgZWwudmFsdWUgIT0gXCJcIikgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAIyNlbmRfcDgAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AX19jaGFuZ2VfbWFza19fAF9fbWV0YToAJTAyeCUwMnglMDJ4JTAyeAAlMDJ4JTF4JTF4JTF4ACUwMnggAAoAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoAX19nZnhfXwoAJXgAX19sYWJlbF9fCgBfX2dmZl9fCgAlMDJ4AF9fbWFwX18KAF9fc2Z4X18KACUwMngleCV4JXgAX19tdXNpY19fCgAlMDJ4JTAyeCUwMnglMDJ4CgBfX2NoYW5nZV9tYXNrX18KAHdiAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XwBAJSQAI14/ACgpe31bXTw+ACFAIyQlXiYqOjsuLH49Ky0vXGAnIgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4=";var tempDoublePtr=3196608;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append(new Uint8Array(byteArray).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){lockPointer=false;console.log("forcing lockPointer to false");Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=false;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};canvas.exitFullscreen=canvas.exitFullscreen.bind(document);Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle}};function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}function _SDL_LockSurface(surf){var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAP32[surf+20>>2]=surfData.buffer}HEAP32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+(new Error).stack}else{HEAPU8.set(surfData.image.data,surfData.buffer)}}return 0}var SDL={defaults:{width:320,height:200,copyOnLock:false,discardOnLock:true,opaqueFrontBuffer:false},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:function(rect){return{x:HEAP32[rect+0>>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect:function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects:function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat:function(fmt){},loadColorToCSSRGB:function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA:function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"},translateRGBAToCSSRGBA:function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"},translateRGBAToColor:function(r,g,b,a){return r|g<<8|b<<16|a<<24},makeSurface:function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:function(flag){return flags&flag}};return surf},copyIndexedColorData:function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+base+x>>0]]}}},freeSurface:function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface:function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent:function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i<event.touches.length;i++){var touch=event.touches[i];if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var i=0;i<touches.length;i++){var touch=touches[i];SDL.events.push({type:event.type,touch:touch})}break}case"touchend":{event.preventDefault();for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];SDL.events.push({type:"touchend",touch:touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.keyCode===8||event.keyCode===9)){}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](false,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent:function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)}case"mousemove":{Browser.calculateMouseEvent(event);break}}},flushEventsToHandler:function(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){Module["dynCall_iii"](SDL.eventHandler,SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent:function(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}else{return SDL.events.length>0}},makeCEvent:function(event,ptr){if(typeof event==="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>0]=down?1:0;HEAP8[ptr+9>>0]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i<cStr.length;++i){HEAP8[ptr+(8+i)>>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break}case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break}case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString:function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth:function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.save();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;tempCtx.restore();return ret},allocateChannels:function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i<num;i++){SDL.channels[i]={audio:null,volume:1}}},setGetVolume:function(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){err("setGetVolume failed to set audio volume: "+e)}}}return ret},setPannerPosition:function(info,x,y,z){if(!info)return;if(info.audio){if(info.audio.webAudioPannerNode){info.audio.webAudioPannerNode["setPosition"](x,y,z)}}},playWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined)abort("Cannot play back audio object that was not loaded");webAudio.onDecodeComplete.push(function(){if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=function(){audio["onended"]()};audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err("playWebAudio failed: "+e)}},pauseWebAudio:function(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err("pauseWebAudio failed: "+e)}}audio.paused=true},openAudioContext:function(){if(!SDL.audioContext){if(typeof AudioContext!=="undefined")SDL.audioContext=new AudioContext;else if(typeof webkitAudioContext!=="undefined")SDL.audioContext=new webkitAudioContext}},webAudioAvailable:function(){return!!SDL.audioContext},fillWebAudioBufferFromHeap:function(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var numChannels=SDL.audio.channels;for(var c=0;c<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!"}if(SDL.audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>1]/32768}}else if(SDL.audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(SDL.audio.format==33056){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAPF32[heapPtr+(j*numChannels+c)*4>>2]}}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}}},debugSurface:function(surfData){console.log("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i<num;i++){console.log(" diagonal "+i+":"+[data[i*surfData.width*4+i*4+0],data[i*surfData.width*4+i*4+1],data[i*surfData.width*4+i*4+2],data[i*surfData.width*4+i*4+3]])}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState:function(joystick,state){var buttons=new Array(state.buttons.length);for(var i=0;i<state.buttons.length;i++){buttons[i]=SDL.getJoystickButtonState(state.buttons[i])}SDL.lastJoystickState[joystick]={buttons:buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState:function(button){if(typeof button==="object"){return button["pressed"]}else{return button>0}},queryJoysticks:function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(state===null)return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp||!state.timestamp){var i;for(i=0;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick:joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick:joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}},joystickAxisValueConversion:function(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)},getGamepads:function(){var fcn=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;if(fcn!==undefined){return fcn.apply(navigator)}else{return[]}},getGamepad:function(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};function _SDL_ClearError(){}function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}function _SDL_GetModState(){return SDL.modState}function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}function _SDL_GetWindowSize(window,width,height){var w=Module["canvas"].width;var h=Module["canvas"].height;if(width)HEAP32[width>>2]=w;if(height)HEAP32[height>>2]=h}function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);_memset(SDL.keyboardState,0,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}function _SDL_LockAudio(){}function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}},recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var len=length?HEAP32[length+i*4>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx&&GL.registerContext(ctx,webGLContextAttributes)},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)};GLctx["drawArraysInstanced"]=function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)};GLctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=function(){return vaoExt["createVertexArrayOES"]()};GLctx["deleteVertexArray"]=function(vao){vaoExt["deleteVertexArrayOES"](vao)};GLctx["bindVertexArray"]=function(vao){vaoExt["bindVertexArrayOES"](vao)};GLctx["isVertexArray"]=function(vao){return vaoExt["isVertexArrayOES"](vao)}}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)}}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})}},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.slice(-1)=="]"){name=name.slice(0,name.lastIndexOf("["))}var loc=GLctx.getUniformLocation(p,name);if(loc){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}}};function _SDL_SetVideoMode(width,height,depth,flags){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach(function(event){Module["canvas"].addEventListener(event,SDL.receiveEvent,true)});var canvas=Module["canvas"];if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push(function(w,h){if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w:w,h:h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen}function _SDL_UnlockAudio(){}function _SDL_UnlockSurface(surf){assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src,src+data32.length))}}}else{var width=Module["canvas"].width;var height=Module["canvas"].height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___lock(){}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(9);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-20}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx<stream.getdents.length&&pos+struct_size<=count){var id;var type;var name=stream.getdents[idx];if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}tempI64=[id>>>0,(tempDouble=id,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(UTF8ToString(url),function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall_viii(onload,arg,buffer,byteArray.length);_free(buffer)},function(){if(onerror)dynCall_vi(onerror,arg)},true)}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _exit(status){exit(status)}var ___tm_current=3196448;var ___tm_timezone=(stringToUTF8("GMT",3196496,4),3196496);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":invoke_vii,"e":_SDL_ClearError,"f":_SDL_GetError,"g":_SDL_GetModState,"h":_SDL_GetMouseState,"i":_SDL_GetTicks,"j":_SDL_GetWindowSize,"k":_SDL_Init,"l":_SDL_LockAudio,"m":_SDL_LockSurface,"n":_SDL_PollEvent,"o":_SDL_SetVideoMode,"p":_SDL_UnlockAudio,"q":_SDL_UnlockSurface,"r":___buildEnvironment,"s":___lock,"t":___setErrNo,"u":___syscall140,"v":___syscall145,"w":___syscall146,"x":___syscall195,"y":___syscall220,"z":___syscall221,"A":___syscall5,"B":___syscall54,"C":___syscall6,"D":___unlock,"E":__addDays,"F":__arraySum,"G":__isLeapYear,"H":_abort,"I":_emscripten_asm_const_i,"J":_emscripten_asm_const_ii,"K":_emscripten_asm_const_iii,"L":_emscripten_asm_const_iiiii,"M":_emscripten_asm_const_iiiiiii,"N":_emscripten_asm_const_iiiiiiiii,"O":_emscripten_async_wget_data,"P":_emscripten_get_heap_size,"Q":_emscripten_get_now,"R":_emscripten_memcpy_big,"S":_emscripten_resize_heap,"T":_emscripten_run_script,"U":_emscripten_set_main_loop,"V":_emscripten_set_main_loop_timing,"W":_exit,"X":_gmtime,"Y":_gmtime_r,"Z":_localtime,"_":_localtime_r,"$":_longjmp,"aa":_strftime,"ab":_time,"ac":_tzset,"ad":abortOnCannotGrowMemory,"ae":tempDoublePtr,"af":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM 134 + var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { 135 + "use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ae|0,i=env.af|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=env.ab,Ga=env.ac,Ha=env.ad,Ia=3196624,Ja=8439504,Ka=0.0; 136 + // EMSCRIPTEN_START_FUNCS 137 + function Uf(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;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2217396)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=63002;c[d+4>>2]=m;Bf(a,1,Td(a,49400,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2217396){Bf(a,2,49420)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0<j>>>0){e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0<j>>>0);c[h>>2]=o+(e+1<<3)}c[h>>2]=j;j=Mc(c[k>>2]|0,n+16|0)|0;n=c[h>>2]|0;c[n+-8>>2]=c[j>>2];c[n+-4>>2]=c[j+4>>2];Ia=b;return 1}function Vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=n;Bf(b,1,Td(b,49400,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2217396){Bf(b,2,49420)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2217396){Bf(b,3,49420)|0;q=c[i>>2]|0;r=c[c[f>>2]>>2]|0}else{q=p;r=o}o=r+8|0;p=r+32|0;if(q>>>0<p>>>0){f=(r+28+(3-q)|0)>>>3;l=q;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<p>>>0);c[i>>2]=q+(f+1<<3)}c[i>>2]=p;p=c[o>>2]|0;f=r+16|0;q=Mc(p,f)|0;if((q|0)==2217396)s=Nc(b,p,f)|0;else s=q;c[s>>2]=c[r+24>>2];c[s+4>>2]=c[r+28>>2];a[(c[o>>2]|0)+6>>0]=0;r=c[i>>2]|0;if(!(c[r+-4>>2]&64)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}if(!(a[(c[r+-8>>2]|0)+5>>0]&3)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}s=c[o>>2]|0;o=s+5|0;q=a[o>>0]|0;if(!(q&4)){t=r;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}r=c[b+12>>2]|0;a[o>>0]=q&-5;q=r+76|0;c[s+24>>2]=c[q>>2];c[q>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2217396){Bf(a,1,49420)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0;j=h;k=h+8|0}else{i=g;j=d;k=e}if(k>>>0>=i>>>0|(k|0)==2217396){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;Qd(a,n)|0;return 1}l=(c[j+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;Qd(a,n)|0;return 1}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2217396)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=63002;c[d+4>>2]=m;Bf(a,1,Td(a,49400,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0<e>>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0<e>>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(uf(a,1)|0){n=2;Ia=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ia=b;return n|0}function Yf(a){a=a|0;Zf(a,49774,0,4);return 3}function Zf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=(Jf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0<n>>>0;if(j){if(!((l|0)==2217396|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=63002;c[i+4>>2]=r;Bf(a,1,Td(a,49400,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0<p>>>0?i+8|0:2217396;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Ia=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ia=g;return}}else{d=o?l:2217396;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)Ac(a,47199,h);if((n&65535)>224)yc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(Ec(a,m,3)|0))Fc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=g;return}}function _f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Ia;Ia=Ia+16|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)?(c[g+20>>2]|0)==3:0)k=(c[h>>2]>>16)+1|0;else k=1;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)==5)l=j;else{m=h+1|0;n=7}}else{m=0;n=7}if((n|0)==7){n=c[16+(m<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=n;Bf(a,1,Td(a,49400,e)|0)|0;l=c[i>>2]|0}e=k<<16;c[l>>2]=e;c[l+4>>2]=3;l=c[i>>2]|0;a=l+8|0;c[i>>2]=a;n=c[c[f>>2]>>2]|0;f=c[(n>>>0<l>>>0?n+8|0:2217396)>>2]|0;n=k+-1|0;a:do if(n>>>0<(c[f+28>>2]|0)>>>0)o=(c[f+12>>2]|0)+(n<<3)|0;else{k=0-e|0;m=(c[f+16>>2]|0)+(((((e|0)<0?((e|0)==(k|0)?0:k):e)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(e|0):0)break;k=c[m+16>>2]|0;if(!k){o=2217396;break a}else m=k}o=m}while(0);c[a>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[i>>2]|0;c[i>>2]=o+8;if((o|0)==2217396){Ia=b;return 2}else{Ia=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function $f(a){a=a|0;Zf(a,49782,1,5);return 3}function ag(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0<j>>>0?h:2217396;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Ia=d;return o|0}break}default:{o=l-h>>3;Ia=d;return o|0}}if((m|0)<=1){kh(3196396);p=Ff(b,2,49791,0)|0;c[e>>2]=p;Cf(b,47850,e)|0}m=g+16|0;g=m>>>0<j>>>0?m:2217396;if((c[g+4>>2]&15|0)!=4)if(!(Kd(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{Oc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2217396;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;kh(q);p=Ff(b,2,49791,0)|0;c[e>>2]=p;Cf(b,47850,e)|0;return 0}function bg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2217396)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=Gf(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)Bf(b,1,49809)|0;k=i-j|0;return k|0}function cg(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2217396?1:b>>>0>=(c[a+8>>2]|0)>>>0)){Lf(a,1,0)|0;return 1}Bf(a,1,49420)|0;Lf(a,1,0)|0;return 1}function dg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0<g>>>0?e:2217396;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=g;k=e;l=i}else{Bf(a,1,49828)|0;j=c[f>>2]|0;k=(c[c[b>>2]>>2]|0)+8|0;l=0}i=eg(a,l,(j-k>>3)+-1|0)|0;k=c[f>>2]|0;if((i|0)<0){c[k>>2]=0;c[k+4>>2]=1;j=c[f>>2]|0;l=j+8|0;c[f>>2]=l;e=l;do{l=e;e=e+-8|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>j>>>0);e=c[f>>2]|0;c[j+-8>>2]=c[e>>2];m=e;n=2;o=j+-4|0;p=m+4|0;q=c[p>>2]|0;c[o>>2]=q;return n|0}c[k>>2]=1;c[k+4>>2]=1;k=(c[f>>2]|0)+8|0;c[f>>2]=k;j=i+1|0;e=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[e>>2]|0;if((c[b+4>>2]|32|0)==54)r=2217396;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2217396:l+16+(i+-1001e3<<3)|0}}else r=k+(~i<<3)|0;while(0);if(k>>>0>r>>>0){i=k;do{e=i;i=i+-8|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[e+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=k;c[r>>2]=c[s>>2];m=s;n=j;o=r+4|0;p=m+4|0;q=c[p>>2]|0;c[o>>2]=q;return n|0}function eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=k;n=e}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(xc(d,2,g)|0)==0:0){o=c[j>>2]|0;l=o;m=o;n=c[g>>2]|0;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{Oc(b);break}while(0);p=bd(b,49847,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);k=i+4|0;i=m+(n<<3)|0;if((c[k>>2]|0)>>>0<i>>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(l|0)==((c[c[h>>2]>>2]|0)+8|0):0){l=c[b+12>>2]|0;i=l+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){n=l+8|0;c[n>>2]=k+1600+(c[n>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);i=bd(b,49885,37)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=i;c[l+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Ia=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,l=c[i>>2]|0,n=0-e|0,m=l+(n<<3)|0,c[i>>2]=m,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[m>>2],c[q+4>>2]=c[l+(n<<3)+4>>2],(e|0)!=1):0){n=1;do{l=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[l+(n<<3)>>2];c[q+4>>2]=c[l+(n<<3)+4>>2];n=n+1|0}while((n|0)!=(e|0))}if((fg(d,b,e)|0)>>>0>=2){if(k){s=-1;Ia=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;n=b+8|0;i=c[n>>2]|0;c[n>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Ia=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;n=c[b+16>>2]|0;l=b+8|0;q=c[l>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(xc(b,2,g)|0)==0:0){t=c[l>>2]|0;u=c[g>>2]|0;break}m=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(m<<3)|0;if(o>>>0<r>>>0){v=(p+(m<<3)+4+(3-o)|0)>>>3;m=o;do{c[m+4>>2]=0;m=m+8|0}while(m>>>0<r>>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;m=c[b+12>>2]|0;p=m+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[m+51>>0]|0)){y=m+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{Oc(b);break}while(0);p=bd(b,49923,35)|0;x=c[l>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[l>>2]=(c[l>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);b=n+4|0;n=t+(u<<3)|0;if((c[b>>2]|0)>>>0<n>>>0)c[b>>2]=n;if(k){s=i;Ia=f;return s|0}k=c[j>>2]|0;n=0-i|0;b=k+(n<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Ia=f;return s|0}u=c[l>>2]|0;c[l>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(n<<3)+4>>2];if((e|0)==8){s=1;Ia=f;return s|0}e=1;do{n=c[j>>2]|0;k=c[l>>2]|0;c[l>>2]=k+8;c[k>>2]=c[n+(e<<3)>>2];c[k+4>>2]=c[n+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Ia=f;return s|0}function fg(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=xc(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Sc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=bd(d,47901,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0<w>>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)zc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=xc(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=bd(d,47901,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function gg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+16|0;h=c[g>>2]|0;if((e[d+38>>1]|0)>199)jg(d,47199,f);i=d+6|0;switch(a[i>>0]|0){case 0:{if((h|0)!=(d+72|0))jg(d,49959,f);if(Ec(d,f+-8|0,-1)|0)return;Fc(d);return}case 1:{a[i>>0]=0;c[h>>2]=(c[d+28>>2]|0)+(c[h+20>>2]|0);i=h+18|0;j=a[i>>0]|0;if(!(j&1)){k=c[h+28>>2]|0;if(!k){l=h;m=f;n=d+8|0}else{a[h+37>>0]=1;a[i>>0]=j|8;j=La[k&255](d)|0;k=d+8|0;l=c[g>>2]|0;m=(c[k>>2]|0)+(0-j<<3)|0;n=k}k=c[l>>2]|0;j=b[l+16>>1]|0;c[g>>2]=c[l+8>>2];a:do if(j<<16>>16){l=m;g=j<<16>>16;i=k;while(1){if(l>>>0>=(c[n>>2]|0)>>>0)break;h=i+8|0;c[i>>2]=c[l>>2];c[i+4>>2]=c[l+4>>2];o=g+-1|0;if(!o){p=h;break a}else{l=l+8|0;g=o;i=h}}if((g|0)>0){l=g;h=i;while(1){o=h+8|0;c[h+4>>2]=0;if((l|0)>1){l=l+-1|0;h=o}else{p=o;break}}}else p=i}else p=k;while(0);c[n>>2]=p}else Fc(d);hg(d,0);return}default:jg(d,49997,f)}}function hg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=La[c[j+28>>2]&255](d)|0;l=c[i>>2]|0;k=c[e>>2]|0;n=c[k>>2]|0;o=b[k+16>>1]|0;c[e>>2]=c[k+8>>2];a:do if(o<<16>>16){k=o<<16>>16;p=0-f|0;if((p|0)<0){q=l+(p<<3)|0;p=k;r=n;while(1){s=r+8|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];t=p+-1|0;if(!t){u=s;break a}q=q+8|0;if(q>>>0>=(c[i>>2]|0)>>>0){v=t;w=s;break}else{p=t;r=s}}}else{v=k;w=n}if((v|0)>0){r=v;p=w;while(1){q=p+8|0;c[p+4>>2]=0;if((r|0)>1){r=r+-1|0;p=q}else{u=q;break}}}else u=w}else u=n;while(0);c[i>>2]=u}else{ig(d);Fc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function ig(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2217396;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2217396;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;Rc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=Rd(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;yc(b,-1)}function kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2217396?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=63802;c[d+4>>2]=j;Bf(a,1,Td(a,49400,d)|0)|0}d=lg(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0<e>>>0?j:2217396;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Ia=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Ia=b;return 1}function lg(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{Oc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Pa[c[j>>2]&3](c[f>>2]|0,0,8,120)|0;if(!g){if(!(a[j+51>>0]|0))yc(d,4);Kc(d,1);h=Pa[c[j>>2]&3](c[f>>2]|0,0,8,120)|0;if(!h)yc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+120;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Pa[c[i>>2]&3](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))yc(d,4);Kc(d,1);l=Pa[c[i>>2]&3](c[e>>2]|0,0,0,320)|0;if(!l)yc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function mg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2217396;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{Bf(b,1,49828)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50026,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50034,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50044,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50051,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50034,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,50051,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2217396?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=Jd(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2217396)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2217396)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=Gf(a,f)|0;else l=h;xf(a,i,g,l);return 1}function og(a){a=a|0;Of(c[(c[a+12>>2]|0)+144>>2]|0);return}function pg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2217396){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)Cf(a,49435,e)|0;n=c[j>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{o=c[k>>2]|0;p=c[f>>2]|0;break}}else{o=l;p=c[j>>2]|0}while(0);j=p>>16;p=o+-8|0;c[k>>2]=p;o=j+1|0;l=c[c[h>>2]>>2]|0;e=p-(l+8)>>3;switch(e|0){case 2:{q=p;r=o;break}case 1:case 0:{m=0;Ia=b;return m|0}default:s=10}if((s|0)==10){i=l+24|0;n=i>>>0<p>>>0;if(!((i|0)==2217396|n^1)?(c[l+28>>2]&15|0)==0:0){t=l;u=p;v=o;w=e}else{e=n?i:2217396;i=c[e+4>>2]|0;do if((i|0)==3){x=e;s=16}else{if((i&15|0)==4?(n=c[e>>2]|0,Wc(n+16|0,c[n+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];x=g;s=16;break}y=0}while(0);if((s|0)==16)y=c[x>>2]>>16;x=c[k>>2]|0;s=c[c[h>>2]>>2]|0;t=s;u=x;v=y;w=x-(s+8)>>3}s=2-w|0;w=s+-1|0;if((s|0)>0){x=t+(s<<3)|0;if(u>>>0<x>>>0){y=(t+(w<<3)+4+(3-u)|0)>>>3;w=u;do{c[w+4>>2]=0;w=w+8|0}while(w>>>0<x>>>0);c[k>>2]=u+(y+1<<3);z=x}else z=x}else z=u+(s<<3)|0;c[k>>2]=z;if((v|0)<1|(o|0)<(v|0))Bf(a,2,50419)|0;if((j|0)>=(v|0)){j=o;do{z=j;j=j+-1|0;s=(c[c[h>>2]>>2]|0)+8|0;u=c[k>>2]|0;x=c[(s>>>0<u>>>0?s:2217396)>>2]|0;s=z+-2|0;a:do if(s>>>0<(c[x+28>>2]|0)>>>0)A=(c[x+12>>2]|0)+(s<<3)|0;else{y=j<<16;w=0-y|0;t=(c[x+16>>2]|0)+(((((y|0)<0?((y|0)==(w|0)?0:w):y)|0)%((1<<(d[x+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==(y|0):0)break;w=c[t+16>>2]|0;if(!w){A=2217396;break a}else t=w}A=t}while(0);c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,z)}while((j|0)>(v|0))}jh(o-v|0);q=c[k>>2]|0;r=v}c[q>>2]=c[q+-8>>2];c[q+4>>2]=c[q+-4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,r);m=1;Ia=b;return m|0}function qg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2217396){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)Cf(a,49435,e)|0;n=c[j>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{o=c[k>>2]|0;p=c[f>>2]|0;break}}else{o=l;p=c[j>>2]|0}while(0);j=p>>16;p=o+-8|0;c[k>>2]=p;o=c[c[h>>2]>>2]|0;l=p-(o+8)|0;if((l|0)==8){e=o+16|0;if(!(e>>>0>=p>>>0|(e|0)==2217396)?(c[o+20>>2]&15|0)!=0:0){e=Gf(a,2)|0;i=c[k>>2]|0;n=c[c[h>>2]>>2]|0;q=n;r=i;s=e;t=i-(n+8)|0;u=13}else v=j}else{q=o;r=p;s=-1;t=l;u=13}if((u|0)==13)if((t|0)>8){t=q+16|0;q=t>>>0<r>>>0?t:2217396;t=c[q+4>>2]|0;do if((t|0)==3){w=q;u=18}else{if((t&15|0)==4?(r=c[q>>2]|0,Wc(r+16|0,c[r+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];w=g;u=18;break}x=0}while(0);if((u|0)==18)x=c[w>>2]>>16;v=x}else v=s;if((v|0)<1|(j|0)<(v|0)){m=0;Ia=b;return m|0}s=(c[c[h>>2]>>2]|0)+8|0;x=c[k>>2]|0;w=c[(s>>>0<x>>>0?s:2217396)>>2]|0;s=v+-1|0;a:do if(s>>>0<(c[w+28>>2]|0)>>>0)y=(c[w+12>>2]|0)+(s<<3)|0;else{u=v<<16;g=0-u|0;f=(c[w+16>>2]|0)+(((((u|0)<0?((u|0)==(g|0)?0:g):u)|0)%((1<<(d[w+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(u|0):0)break;g=c[f+16>>2]|0;if(!g){y=2217396;break a}else f=g}y=f}while(0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[k>>2]=(c[k>>2]|0)+8;jh(j-v|0);if((j|0)>(v|0)){y=v;while(1){x=y;y=y+1|0;w=(c[c[h>>2]>>2]|0)+8|0;s=c[k>>2]|0;u=c[(w>>>0<s>>>0?w:2217396)>>2]|0;b:do if(x>>>0<(c[u+28>>2]|0)>>>0)z=(c[u+12>>2]|0)+(x<<3)|0;else{w=y<<16;g=0-w|0;q=(c[u+16>>2]|0)+(((((w|0)<0?((w|0)==(g|0)?0:g):w)|0)%((1<<(d[u+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[q+12>>2]|0)==3?(c[q+8>>2]|0)==(w|0):0)break;g=c[q+16>>2]|0;if(!g){z=2217396;break b}else q=g}z=q}while(0);c[s>>2]=c[z>>2];c[s+4>>2]=c[z+4>>2];c[k>>2]=(c[k>>2]|0)+8;_d(a,1,x);if((y|0)==(j|0)){A=j;break}}}else A=v;v=c[k>>2]|0;c[v+4>>2]=0;c[k>>2]=v+8;_d(a,1,A);m=1;Ia=b;return m|0}function rg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if(h-k>>3>>>0<2){m=0;Ia=b;return m|0}if((k|0)==2217396|k>>>0>=l>>>0){m=0;Ia=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Qc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)Cf(a,49435,e)|0;h=c[k>>2]|0;if(!(Wc(h+16|0,c[h+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){jh(l);m=0;Ia=b;return m|0}n=k;k=1;while(1){o=(c[c[i>>2]>>2]|0)+8|0;f=c[(o>>>0<n>>>0?o:2217396)>>2]|0;o=k+-1|0;a:do if(o>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(o<<3)|0;else{e=k<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2217396;break a}else j=h}p=j}while(0);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];f=c[g>>2]|0;o=f+8|0;c[g>>2]=o;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0<o>>>0?e:2217396;if((f|0)!=2217396&(h|0)!=2217396?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Tc(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=k;break}}else{c[g>>2]=f;q=f}if((k|0)<(l|0)){n=q;k=k+1|0}else{r=0;break}}jh(l);if(!r){m=0;Ia=b;return m|0}k=(c[c[i>>2]>>2]|0)+8|0;q=c[g>>2]|0;n=c[(k>>>0<q>>>0?k:2217396)>>2]|0;k=r+-1|0;b:do if(k>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(k<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2217396;break b}else h=f}s=h}while(0);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){q=s;n=r;while(1){k=n;n=n+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0<q>>>0?p:2217396)>>2]|0;c:do if(k>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(k<<3)|0;else{p=n<<16;e=0-p|0;o=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==(p|0):0)break;e=c[o+16>>2]|0;if(!e){t=2217396;break c}else o=e}t=o}while(0);c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;_d(a,1,k);f=c[g>>2]|0;if((n|0)==(l|0)){u=f;v=l;break}else q=f}}else{u=s;v=r}c[u+4>>2]=0;c[g>>2]=u+8;_d(a,1,v);m=1;Ia=b;return m|0}function sg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2217396){l=0;Ia=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Ia=b;return l|0}Qc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)Cf(a,49435,e)|0;m=c[i>>2]|0;if(!(Wc(m+16|0,c[m+12>>2]|0,f)|0))Cf(a,49435,e)|0;else{n=c[j>>2]|0;o=c[f>>2]|0;break}}else{n=k;o=c[i>>2]|0}while(0);i=o>>16;k=n+-8|0;c[j>>2]=k;n=c[c[g>>2]>>2]|0;a:do if((k-(n+8)|0)>8)if((o|0)<65536){p=0;q=0}else{f=n;e=k;h=0;m=1;r=0;while(1){s=f+8|0;t=c[(s>>>0<e>>>0?s:2217396)>>2]|0;s=m+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=m<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2217396;break b}else w=x}u=w}while(0);c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0<s>>>0?v:2217396;if(((t|0)!=2217396&(x|0)!=2217396?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Tc(a,t,x)|0)!=0:0)y=r+1|0;else y=r;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((m|0)>=(i|0)){p=t;q=y;break a}f=c[c[g>>2]>>2]|0;e=x;h=t;m=m+1|0;r=y}}else{p=0;q=i}while(0);jh(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Ia=b;return l|0}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Yd(b,g,1);h=c[d>>2]|0;c[h>>2]=f<<13;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=xd(b,49327,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;Ic(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0){j=f>>2;jh(j);return 1}k=(c[c[e>>2]>>2]|0)+8|0;l=k>>>0<h>>>0?k:2217396;c[h>>2]=c[l>>2];c[i+-12>>2]=c[l+4>>2];c[d>>2]=(c[d>>2]|0)+8;_d(b,-2,1);l=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0<l>>>0?i:2217396;c[e>>2]=c[l+-8>>2];c[e+4>>2]=c[l+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8){j=f>>2;jh(j);return 1}d=g;while(1){_d(b,1,d);if((d|0)>2)d=d+-1|0;else break}j=f>>2;jh(j);return 1}function ug(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Ia;Ia=Ia+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2217396)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=63002;c[g+4>>2]=q;Bf(a,1,Td(a,49400,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2217396)?(c[n+20>>2]&15|0)!=0:0){g=Gf(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2217396)?(c[r+28>>2]&15|0)!=0:0)u=Gf(a,3)|0;else{o=r+8|0;Qc(a,s,o>>>0<s>>>0?o:2217396);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)Cf(a,49435,f)|0;n=c[o>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,h)|0))Cf(a,49435,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Ia=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)Cf(a,50056,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(xc(a,2,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}Cf(a,50056,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0<s>>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0<y>>>0?s:2217396)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2217396;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)>(t|0)){y=A;A=t;do{t=A;A=A+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0<y>>>0?e:2217396)>>2]|0;b:do if(t>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(t<<3)|0;else{e=A<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2217396;break b}else a=z}B=a}while(0);c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];y=(c[l>>2]|0)+8|0;c[l>>2]=y}while((A|0)!=(u|0))}jh(w<<1);x=w;Ia=b;return x|0}function vg(){c[554354]=0;return}function wg(){c[554352]=(c[554352]|0)+(c[554353]|0);c[554353]=0;return}function xg(){return (c[554353]|0)+(c[554352]|0)|0}function yg(a){a=a|0;c[554353]=(c[554353]|0)+a;return}function zg(a){a=a|0;c[8722]=a;return}function Ag(){c[554352]=0;c[554353]=0;return}function Bg(){c[554354]=1073741824;return}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[554364]|0;if((e|0)>510)return;f=187248+(e*1320|0)|0;Wv(f|0,0,1320)|0;Ss(f,a,255)|0;Ss(187248+((c[554364]|0)*1320|0)+256|0,b,16)|0;b=c[554364]|0;c[187248+(b*1320|0)+1316>>2]=d;Ss(187248+(b*1320|0)+288|0,3125548,1024)|0;c[554364]=(c[554364]|0)+1;return}function Dg(){c[798389]=0;c[554364]=0;return}function Eg(){var a=0;a=c[554364]|0;return ((a|0)<1?0:187248+((a+-1|0)*1320|0)+256|0)|0}function Fg(){var a=0;a=c[554364]|0;return ((a|0)<1?0:187248+((a+-1|0)*1320|0)|0)|0}function Gg(){var a=0,b=0;a=c[554364]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[187248+(b*1320|0)+1316>>2]|0))return;c[554364]=b;return}function Hg(){var a=0,b=0;a=c[554364]|0;if(!a)return;b=187248+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function Ig(){var a=0;a=c[554364]|0;if((a|0)<1)return;bc(187248+((a+-1|0)*1320|0)|0)|0;c[780900]=1;a=c[554364]|0;Rs(3126573,(a|0)<1?0:187248+((a+-1|0)*1320|0)+288|0)|0;c[780903]=20;a=c[554364]|0;if((a|0)>=1)c[554364]=a+-1;c[485555]=0;return}function Jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[742801]|0)!=0;f=c[780894]|0;if(e&(f|0)==0){qv(b)|0;return}if(!((a[2142448]|0)==0|e^1)){qv(b)|0;return}if((f|0)!=2)ma(21,b|0,bu(b)|0)|0;f=bu(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){ab();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[781024]|0)-h|0;c[781024]=g;e=c[742782]|0;Pn(e,0,g,127,g+5+((((bu(b)|0)+-1|0)>>>5)*6|0)|0,0);Bo(c[742782]|0,b,c[742805]|0,c[781023]|0,c[781024]|0,17,d)|0;c[781024]=(c[781024]|0)+h;ab();return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0;Jg(b,d);d=c[536393]|0;if(!d){e=Aq(16)|0;c[536393]=e;f=e}else f=d;d=bu(c[f+12>>2]|0)|0;Bq(f,d+16+(bu(b)|0)|0)|0;lu(c[(c[536393]|0)+12>>2]|0,b)|0;b=c[(c[536393]|0)+12>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=10;a[d+1>>0]=0;return}function Lg(a){a=a|0;Jg(a,6);return}function Mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;wt(1719968,a,f)|0;Jg(1719968,6);Ia=e;return}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;wt(1719968,a,g)|0;Jg(1719968,e);Ia=f;return}function Og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(bv(b,50292)|0){k=0;Ia=e;return k|0}l=bv(b,50308)|0;if(!l){if(!b){k=0;Ia=e;return k|0}m=xq((bu(b)|0)+1|0)|0;Rs(m,b)|0;n=m+(bu(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=n;q=o;while(1){if((a[q>>0]|0)==58){r=p;s=q;break a}t=q+-1|0;if(t>>>0>m>>>0){u=q;q=t;p=u}else{r=q;s=t;break}}}else{r=n;s=o}while(0);kv(863088,(a[s>>0]|0)==58?r+1|0:s,1023)|0;a[864111]=0;zq(m);k=863088;Ia=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=bv(b,50319)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;Su(m+8|0,50328,h)|0}h=xq((bu(b)|0)+1|0)|0;Rs(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;wt(1719968,50373,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;wt(1719968,50340,g)|0}Kg(1719968,6);g=c[i>>2]|0;if((g|0)>0?(i=c[778919]|0,d=g+-1|0,(Is(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Js(c[c[778919]>>2]|0,d)|0;d=c[778919]|0;c[d+336>>2]=i;Gs(d,52);c[485658]=g}zq(h);k=0;Ia=e;return k|0}function Pg(b){b=b|0;var c=0,d=0;c=vq(8192)|0;Rs(c,b)|0;if(!(bv(b,50385)|0)){if(!(au(b,50442)|0)){zq(c);return}Kg(c,6);zq(c);return}if(bv(b,50402)|0?(Kg(50402,6),a[3195208]|0):0)Kg(3195208,7);d=bv(b,50419)|0;if(!d){zq(c);return}Rs(1719968,d)|0;a[1719968+((bu(1719968)|0)+-1)>>0]=0;Kg(1719968,6);zq(c);return}function Qg(a){a=a|0;var b=0;if(!a){b=xg()|0;return b|0}else{b=c[742778]|0;return b|0}return 0}function Rg(){var a=0;a=c[554361]|0;if(a|0)og(a);a=Mf(2,0)|0;c[554361]=a;c[554360]=a;c[554362]=lg(a)|0;yi(c[554360]|0);sf(c[554360]|0,6,100)|0;sf(c[554360]|0,7,200)|0;return}function Sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=vq(262144)|0;hn(b,e)|0;f=e;g=e}zq(c[554365]|0);if(!g){e=xq(16)|0;c[554365]=e;a[e>>0]=0;zq(f);h=c[554365]|0;return h|0}e=(bu(g)|0)+1|0;b=xq(e>>>0>32?e:32)|0;c[554365]=b;Rs(b,g)|0;g=c[554365]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=b;i=g;j=1;while(1){if((j|0)==(d|0))break;k=e<<24>>24==0;l=i+1|0;if(k^e<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=i;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=o;i=m;j=j+1|0}}j=e;m=i;b:while(1){switch(j<<24>>24){case 0:case 10:{break b;break}default:{}}o=m+1|0;j=a[o>>0]|0;m=o}a[m>>0]=0;zq(f);h=i;return h|0}while(0);Rs(g,50460)|0;zq(f);h=c[554365]|0;return h|0}function Tg(){var b=0,d=0,e=0,f=0,g=0;b=c[781023]|0;d=c[781024]|0;e=xl(0)|0;f=xl(1)|0;g=$k(2971096,c[781999]|0,24375)|0;dl(2971096,c[781999]|0,24320,0,128);_k(2971096,c[781999]|0,24404,0);_k(2971096,c[781999]|0,24405,96);_k(2971096,c[781999]|0,24406,32);_k(2971096,c[781999]|0,24407,128);Mk(0,0)|0;Mk(1,0)|0;Mk(2,0)|0;Mk(3,0)|0;al();c[781023]=b;c[781024]=d;yl(0,e);yl(1,f);_k(2971096,c[781999]|0,24375,g);c[781023]=0;c[781025]=0;c[781022]=6;c[781028]=4;c[781029]=6;c[781036]=15;c[781035]=15;c[781034]=255;c[781039]=0;c[781040]=0;c[781042]=0;c[781031]=0;c[781030]=0;c[780986]=0;c[781002]=0;c[780971]=1;c[780987]=1;c[781003]=1;c[780972]=2;c[780988]=2;c[781004]=18;c[780973]=3;c[780989]=3;c[781005]=19;c[780974]=4;c[780990]=4;c[781006]=36;c[780975]=5;c[780991]=5;c[781007]=21;c[780976]=6;c[780992]=6;c[781008]=214;c[780977]=7;c[780993]=7;c[781009]=103;c[780978]=8;c[780994]=8;c[781010]=72;c[780979]=9;c[780995]=9;c[781011]=73;c[780980]=10;c[780996]=10;c[781012]=154;c[780981]=11;c[780997]=11;c[781013]=59;c[780982]=12;c[780998]=12;c[781014]=220;c[780983]=13;c[780999]=13;c[781015]=93;c[780984]=14;c[781e3]=14;c[781016]=142;c[780985]=15;c[781001]=15;c[781017]=239;c[780970]=16;c[781033]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();c[781038]=0;a[3195208]=0;c[781386]=0;c[535603]=0;c[798391]=0;c[798392]=0;c[798393]=0;c[742775]=0;c[798930]=0;qn();if(c[798799]|0){c[742777]=0;c[781379]=0;wn();c[798466]=0;a[3195728]=0;Uk();Vk();c[781045]=13;return}c[484717]=0;c[484720]=0;c[742777]=0;c[781379]=0;wn();c[798466]=0;a[3195728]=0;Uk();Vk();c[781045]=13;return}function Ug(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=Ia;Ia=Ia+176|0;e=d+152|0;f=d+144|0;g=d+136|0;h=d+128|0;i=d+120|0;j=d+112|0;k=d+104|0;l=d+96|0;m=d+88|0;n=d+80|0;o=d+72|0;p=d+64|0;q=d+56|0;r=d+48|0;s=d+40|0;t=d+32|0;u=d+24|0;v=d+16|0;w=d+8|0;x=d;y=d+160|0;c[y>>2]=0;c[781022]=6;if(ut(b,50466,6)|0)if(!(ut(b,50473,5)|0))z=b+5|0;else{A=b+10|0;if(ut(b,50593,10)|0){B=b+9|0;if(ut(b,50604,9)|0)if(ut(b,50614,10)|0)if(!(ut(b,50625,9)|0))C=B;else{if(ut(b,50803,14)|0)if(ut(b,50818,13)|0){if(!(ut(b,50988,7)|0)){c[x>>2]=y;Su(b+7|0,94793,x)|0;x=c[y>>2]|0;D=(x|0)<256?x:256;x=(D|0)>8?D:8;c[y>>2]=x;c[535610]=x;if(c[555247]|0)c[555247]=x;c[w>>2]=x;wt(1719968,50996,w)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,93198,6)|0)){Jg(51011,14);Jg(51031,12);c[v>>2]=c[535610];c[v+4>>2]=0;wt(1719968,51056,v)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51075,8)|0)){c[u>>2]=y;Su(b+8|0,94793,u)|0;u=c[y>>2]|0;v=(u|0)<30?u:30;u=(v|0)>1?v:1;c[y>>2]=u;c[484701]=u;c[t>>2]=u;wt(1719968,51084,t)|0;Jg(1719968,14);Mh();Ia=d;return}if(!(ut(b,51100,7)|0)){Jg(51108,14);c[s>>2]=c[484701];c[s+4>>2]=0;wt(1719968,51133,s)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51153,15)|0)){c[r>>2]=y;Su(b+15|0,94793,r)|0;r=c[y>>2]|0;s=(r|0)<1?r:1;r=(s|0)>0?s:0;c[y>>2]=r;c[484702]=r;c[q>>2]=r;wt(1719968,51169,q)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51192,14)|0)){Jg(51207,14);Jg(51236,12);Jg(51268,12);Jg(3196396,6);c[p>>2]=c[484702];c[p+4>>2]=0;wt(1719968,51299,p)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51326,12)|0)){c[o>>2]=y;Su(b+12|0,94793,o)|0;o=c[y>>2]|0;p=(o|0)<1?o:1;o=(p|0)>0?p:0;c[y>>2]=o;c[484715]=o;c[n>>2]=o;wt(1719968,51339,n)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51359,10)|0)){c[m>>2]=y;Su(A,94793,m)|0;m=c[y>>2]|0;n=(m|0)<8?m:8;m=(n|0)>1?n:1;c[y>>2]=m;c[484698]=m;c[l>>2]=m;wt(1719968,51370,l)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51388,9)|0)){Jg(51398,14);c[k>>2]=c[484698];c[k+4>>2]=0;wt(1719968,51422,k)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51444,17)|0)){c[j>>2]=y;Su(b+17|0,94793,j)|0;j=c[y>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[y>>2]=j;c[484697]=j;c[i>>2]=j;wt(1719968,51462,i)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51487,16)|0)){Jg(51504,14);c[h>>2]=c[484697];c[h+4>>2]=0;wt(1719968,51535,h)|0;Jg(1719968,6);Ia=d;return}if(!(ut(b,51564,10)|0)){c[g>>2]=y;Su(A,94793,g)|0;g=c[y>>2]|0;h=(g|0)<8?g:8;g=(h|0)>1?h:1;c[y>>2]=g;c[484694]=g;y=((g|0)<4?g:4)<<2;c[(c[778903]|0)+316>>2]=y;c[(c[778904]|0)+316>>2]=y;c[(c[778905]|0)+316>>2]=y;c[(c[778906]|0)+316>>2]=y;c[(c[778907]|0)+316>>2]=y;c[(c[778908]|0)+316>>2]=y;c[(c[778909]|0)+316>>2]=y;c[(c[778910]|0)+316>>2]=y;c[(c[778911]|0)+316>>2]=y;c[(c[778912]|0)+316>>2]=y;c[(c[778913]|0)+316>>2]=y;c[(c[778914]|0)+316>>2]=y;c[(c[778915]|0)+316>>2]=y;c[(c[778916]|0)+316>>2]=y;c[(c[778917]|0)+316>>2]=y;c[(c[778918]|0)+316>>2]=y;c[f>>2]=g;wt(1719968,51575,f)|0;Jg(1719968,14);Ia=d;return}if(!(ut(b,51593,9)|0)){Jg(51603,14);c[e>>2]=c[484694];c[e+4>>2]=0;wt(1719968,51628,e)|0;Jg(1719968,6);Ia=d;return}else{Jg(51650,14);Jg(3196396,6);Jg(51667,12);c[781022]=14;Jg(93198,6);Jg(50473,6);Jg(51100,6);Jg(51192,6);Jg(51388,6);Jg(51487,6);Jg(50818,6);Jg(51593,6);Jg(50604,6);Jg(3196396,6);Ia=d;return}}else E=b+13|0;else E=b+14|0;if(!(ut(E,50635,2)|0)){c[484711]=1;Jg(50832,14);Ia=d;return}if(!(ut(E,50656,3)|0)){c[484711]=0;Jg(50842,14);Ia=d;return}switch(a[E>>0]|0){case 49:{c[484711]=1;Jg(50832,14);Ia=d;return}case 48:{c[484711]=0;Jg(50842,14);Ia=d;return}default:{Jg(50853,14);Jg(3196396,6);Jg(50878,6);Jg(50908,6);Jg(3196396,6);if(!((c[484711]|0)!=0?(Jg(50939,12),(c[484711]|0)!=0):0))Jg(50963,12);Jg(3196396,6);Ia=d;return}}}else C=A;else C=B}else C=A;if(!(ut(C,50635,2)|0)){c[484695]=1;Jg(50638,14);Ia=d;return}if(!(ut(C,50656,3)|0)){c[484695]=0;Jg(50660,14);Ia=d;return}switch(a[C>>0]|0){case 49:{c[484695]=1;Jg(50638,14);Ia=d;return}case 48:{c[484695]=0;Jg(50660,14);Ia=d;return}default:{Jg(50679,14);Jg(3196396,6);Jg(50707,6);Jg(50736,6);Jg(3196396,6);if(!((c[484695]|0)!=0?(Jg(50762,12),(c[484695]|0)!=0):0))Jg(50782,12);Jg(3196396,6);Ia=d;return}}}else z=b+6|0;if(!(ut(z,50479,4)|0)){c[484705]=1;Jg(50484,14);Ia=d;return}if(!(ut(z,50502,4)|0)){c[484705]=0;Jg(50507,14);Ia=d;return}if(!(ut(z,50525,7)|0)){c[484705]=3;Jg(50533,14);Ia=d;return}else{Jg(50554,14);Jg(3196396,6);Jg(50575,12);Jg(50502,6);Jg(50479,6);Jg(50525,6);Jg(3196396,6);Ia=d;return}}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(Xr()|0)/120|0;if((c[536390]|0)==0|(c[742775]|0)<240)return;d=xg()|0;e=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[798455]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=Lv(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[780894]|0)!=1|(f|0)<7864320|(c[780901]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,3,e,5,h,0);Un(a,4,f,((tp(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,3,e,5,h,0);Un(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,5,e,7,h,0);Un(a,6,f,((tp(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,5,e,7,h,0);Un(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){Pn(a,7,e,9,h,0);Un(a,8,f,((tp(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){Pn(a,7,e,9,h,0);Un(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Wg(a){a=a|0;var b=0,d=0,e=0;b=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[798455]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=Lv(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Ia;Ia=Ia+48|0;d=b+16|0;e=b;if(!((c[780894]|0)==1&(c[780901]|0)!=0)){Ia=b;return}Hk(a,60,4,123,26,0);Qn(a,60,4,124,27);f=0;do{h=((c[536387]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2143500+(h<<5)+20>>2]|0;Un(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}Un(a,i,19-(c[2143500+(h<<5)+16>>2]|0)|0,2);l=2143500+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2143500+(h<<5)+12>>2]|0;Un(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(qo(225)|0)){f=c[798455]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[536380]|0)+((c[536372]|0)+((c[536364]|0)+((c[536356]|0)+((c[536348]|0)+((c[536340]|0)+((c[536332]|0)+((c[536324]|0)+((c[536316]|0)+((c[536308]|0)+((c[536300]|0)+((c[536292]|0)+((c[536284]|0)+((c[536276]|0)+((c[536268]|0)+((c[536260]|0)+((c[536252]|0)+((c[536244]|0)+((c[536236]|0)+((c[536228]|0)+((c[536220]|0)+((c[536212]|0)+((c[536204]|0)+((c[536196]|0)+((c[536188]|0)+((c[536180]|0)+((c[536172]|0)+((c[536164]|0)+((c[536156]|0)+((c[536148]|0)+((c[536140]|0)+((c[536132]|0)+((c[536124]|0)+((c[536116]|0)+((c[536108]|0)+((c[536100]|0)+((c[536092]|0)+((c[536084]|0)+((c[536076]|0)+((c[536068]|0)+((c[536060]|0)+((c[536052]|0)+((c[536044]|0)+((c[536036]|0)+((c[536028]|0)+((c[536020]|0)+((c[536012]|0)+((c[536004]|0)+((c[535996]|0)+((c[535988]|0)+((c[535980]|0)+((c[535972]|0)+((c[535964]|0)+((c[535956]|0)+((c[535948]|0)+((c[535940]|0)+((c[535932]|0)+((c[535924]|0)+((c[535916]|0)+((c[535908]|0)+((c[535900]|0)+((c[535892]|0)+((c[535884]|0)+(c[535876]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[798454];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;wt(1719968,51703,d)|0;Bo(a,1719968,c[742805]|0,63,20,1,(c[798454]|0)<(c[798455]|0)?8:13)|0}else{d=c[798455]|0;n=+(c[2143500+(h<<5)+24>>2]|0);c[e>>2]=c[798454];c[e+4>>2]=d;g[e+8>>3]=n;wt(1719968,51687,e)|0;Bo(a,1719968,c[742805]|0,63,20,1,(c[798454]|0)<(c[798455]|0)?8:13)|0}Xn(a);Wn(a,59,3,124,27,0);Ia=b;return}function Yg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[536387]|0;b=(c[798390]|0)+(c[781046]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2143500+(a<<5)>>2]=(d|0)>0?d:0;d=xg()|0;b=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[798455]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=Lv(b|0,d|0,f|0,g|0)|0;G()|0;c[2143500+(a<<5)+4>>2]=h;h=c[742778]|0;d=Rv(h|0,((h|0)<0)<<31>>31|0,16)|0;h=Lv(d|0,G()|0,f|0,g|0)|0;G()|0;c[2143500+(a<<5)+8>>2]=h;c[2143500+(a<<5)+12>>2]=(c[535607]|0)==0?((c[798454]|0)<(e|0)?14:6):7;c[2143500+(a<<5)+20>>2]=c[535606];c[2143500+(a<<5)+24>>2]=Cr()|0;a=((c[536387]|0)+1|0)%64|0;c[536387]=a;e=2143500+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Zg(){var b=0;if(!(c[554363]|0))c[554363]=Xr()|0;b=Xr()|0;if((b|0)<=((c[554363]|0)+6e4|0))return;a[2009716]=0;a[2075252]=0;c[535197]=0;c[535198]=0;c[554363]=Xr()|0;return}function _g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=Ia;Ia=Ia+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[536390]=0;Cq(c[536393]|0);c[536393]=0;if((au(b,86658)|0?au(b,51721)|0:0)?au(b,104528)|0:0){if(au(b,104886)|0?!((a[b>>0]|0)==0&(c[485657]|0)!=0):0){c[485657]=0;ci(c[554360]|0);c[742799]=0;c[742779]=1;c[742779]=(bv(b,59099)|0)==0&1;if(!((bv(b,51748)|0)==0?!(bv(b,59915)|0):0))qs();c[536390]=(bv(b,51756)|0)!=0&1;c[742778]=0;c[742780]=0;Ag();zg(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=xq(262144)|0;a:do if(!(hn(b,n)|0)){do if(!m){if((bu(n)|0)>>>0>65536){Jg(51763,6);c[j>>2]=bu(n)|0;c[j+4>>2]=65536;wt(1719968,51790,j)|0;Jg(1719968,6);zq(n);break a}o=uh(n)|0;if((o|0)>8192){Jg(51805,6);c[i>>2]=o;c[i+4>>2]=8192;wt(1719968,51823,i)|0;Jg(1719968,6);zq(n);break a}else{p=c[554361]|0;c[554360]=p;q=p;r=o*12|0;break}}else{o=c[554362]|0;c[554360]=o;q=o;r=0}while(0);rf(q);Wv(928624,0,262144)|0;Vv(928624+(bu(928624)|0)|0,51839,4075)|0;o=928624+(bu(928624)|0)|0;p=55914;s=o+13|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0));Vv(928624+(bu(928624)|0)|0,55927,358)|0;o=928624+(bu(928624)|0)|0;p=56285;s=o+11|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0));if(!(c[484627]|0))Vv(928624+(bu(928624)|0)|0,56296,639)|0;t=928624+(bu(928624)|0)|0;a[t>>0]=a[56935]|0;a[t+1>>0]=a[56936]|0;a[t+2>>0]=a[56937]|0;if(!((au(3120504,93899)|0)!=0?(au(3120504,56938)|0)!=0:0)){t=928624+(bu(928624)|0)|0;a[t>>0]=a[56944]|0;a[t+1>>0]=a[56945]|0;a[t+2>>0]=a[56946]|0;a[t+3>>0]=a[56947]|0;a[t+4>>0]=a[56948]|0;a[t+5>>0]=a[56949]|0;a[t+6>>0]=a[56950]|0}t=xq(262144)|0;ku(t,n)|0;lu(928624,t)|0;zq(n);zq(t);if(67469){t=67469;u=1088;do{Rs(l,t)|0;v=c[u>>2]|0;if(!(au(b,v)|0)){if(au(67474,l)|0)if(!(au(91165,l)|0)){w=3;x=33}else y=l;else{w=1;x=33}if((x|0)==33){x=0;y=c[1200+(w<<2)>>2]|0}c[h>>2]=51839;c[h+4>>2]=y;wt(928624,56951,h)|0;z=c[u>>2]|0}else z=v;v=bu(b)|0;A=bu(z)|0;b:do if(v>>>0>=(A+2|0)>>>0?(ut(b,z,A)|0)==0:0){B=b+A|0;switch(a[B>>0]|0){case 32:case 0:break;default:break b}if((a[b+(A+1)>>0]|0)==34)break;if(au(67474,l)|0)if(!(au(91165,l)|0)){C=3;x=41}else D=l;else{C=1;x=41}if((x|0)==41){x=0;D=c[1200+(C<<2)>>2]|0}c[g>>2]=51839;c[g+4>>2]=D;c[g+8>>2]=B+1;wt(928624,56959,g)|0}while(0);u=u+4|0;t=c[u>>2]|0}while((t|0)!=0)}if(!(au(b,92375)|0)){o=928624;p=56971;s=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(s|0))}if((ut(b,61998,6)|0)==0?(a[b+6>>0]|0)<33:0){Ug(b+7|0);Rs(928624,3196396)|0}lu(928624,m?56980:57004)|0;c[798388]=1;p=If(c[554360]|0,928624)|0;c[798388]=0;c[798390]=r;if(!p){nl();c[798462]=0;if((c[780900]|0)==1)Tg();c[780894]=1;c[780901]=d;break}c[781022]=6;c:do if(m){Kg(58234,14);E=0;F=d}else{p=$g(c[8721]|0,k)|0;do if((p|0)>0){o=c[778919]|0;s=p+-1|0;if((Is(c[o>>2]|0,c[o+336>>2]|0)|0)==(s|0))break;o=Js(c[c[778919]>>2]|0,s)|0;s=c[778919]|0;c[s+336>>2]=o;Gs(s,52);c[485658]=p}else{if(p|0)break;Kg(58234,14);E=0;F=d;break c}while(0);s=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=s;wt(1719968,58247,f)|0;Kg(1719968,14);s=Sg(b,(c[8721]|0)+-2|0,1)|0;if(!s){E=0;F=0;break}Kg(s,7);E=s;F=0}while(0);s=Og(Jd(c[554360]|0,-1,0)|0,F)|0;do if(s|0){if(!((E|0)!=0&(au(s,58277)|0)==0)){Kg(s,6);break}if(!(bv(E,63997)|0)){Kg(58306,6);break}else{Kg(s,6);break}}while(0);c[485554]=1}else zq(n);while(0);Ia=e;return}n=c[554361]|0;if((n|0)!=0&(c[536391]|0)!=0){c[554360]=n;c[554964]=0;c[780901]=1;c[780894]=1;nl();c[485657]=1;c[798454]=c[798455];Ia=e;return}else{Jg(51730,6);Ia=e;return}}n=c[554361]|0;if((n|0)!=0&(c[536391]|0)!=0){c[554360]=n;c[554964]=0;c[780901]=1;c[780894]=1;nl();c[485657]=0;Ia=e;return}else{Jg(51730,6);Ia=e;return}}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ia;Ia=Ia+16|0;e=d;f=a+-2|0;a=vq(262144)|0;hn(c[c[778903]>>2]|0,a)|0;g=Is(a,1048576)|0;zq(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=vq(262144)|0;hn(c[c[778904]>>2]|0,a)|0;h=Is(a,1048576)|0;zq(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=vq(262144)|0;hn(c[c[778905]>>2]|0,a)|0;i=Is(a,1048576)|0;zq(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=vq(262144)|0;hn(c[c[778906]>>2]|0,a)|0;j=Is(a,1048576)|0;zq(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=vq(262144)|0;hn(c[c[778907]>>2]|0,a)|0;k=Is(a,1048576)|0;zq(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=vq(262144)|0;hn(c[c[778908]>>2]|0,a)|0;l=Is(a,1048576)|0;zq(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=vq(262144)|0;hn(c[c[778909]>>2]|0,a)|0;m=Is(a,1048576)|0;zq(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=vq(262144)|0;hn(c[c[778910]>>2]|0,a)|0;n=Is(a,1048576)|0;zq(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=vq(262144)|0;hn(c[c[778911]>>2]|0,a)|0;o=Is(a,1048576)|0;zq(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=vq(262144)|0;hn(c[c[778912]>>2]|0,a)|0;p=Is(a,1048576)|0;zq(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=vq(262144)|0;hn(c[c[778913]>>2]|0,a)|0;q=Is(a,1048576)|0;zq(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=vq(262144)|0;hn(c[c[778914]>>2]|0,a)|0;r=Is(a,1048576)|0;zq(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=vq(262144)|0;hn(c[c[778915]>>2]|0,a)|0;s=Is(a,1048576)|0;zq(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=vq(262144)|0;hn(c[c[778916]>>2]|0,a)|0;t=Is(a,1048576)|0;zq(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=vq(262144)|0;hn(c[c[778917]>>2]|0,a)|0;u=Is(a,1048576)|0;zq(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=vq(262144)|0;hn(c[c[778918]>>2]|0,a)|0;v=Is(a,1048576)|0;zq(a);if((u|0)>(v+2|0)){if(!b){w=0;Ia=d;return w|0}c[b>>2]=0;w=0;Ia=d;return w|0}else{x=u;y=15}}else{x=t;y=14}}else{x=s;y=13}}else{x=r;y=12}}else{x=q;y=11}}else{x=p;y=10}}else{x=o;y=9}}else{x=n;y=8}}else{x=m;y=7}}else{x=l;y=6}}else{x=k;y=5}}else{x=j;y=4}}else{x=i;y=3}}else{x=h;y=2}}else{x=g;y=1}}else{x=f;y=0}if(b|0)c[b>>2]=y;if((jn()|0)<=0){w=x;Ia=d;return w|0}y=0;b=x;while(1){if((x|0)>(kn(y)|0)?(x|0)<=(ln(y)|0):0)break;if((x|0)>(ln(y)|0)){f=ln(y)|0;z=b+1-f+(kn(y)|0)|0}else z=b;f=y+1|0;if((f|0)<(jn()|0)){y=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Ia=d;return w|0}A=mn(y)|0;z=x-(kn(y)|0)|0;c[e>>2]=A;c[e+4>>2]=z;wt(1719968,58329,e)|0;Jg(1719968,9);w=1-x+b+(kn(y)|0)|0;Ia=d;return w|0}function ah(){var b=0,d=0,e=0;if((c[742800]|0)>0)return;b=(c[780901]|0)!=0;if(b){c[554361]=c[554360];c[554964]=1;c[742799]=0;$l()|0;if(!(($k(2971096,c[781999]|0,24366)|0)&1)){c[780986]=0;c[780987]=1;c[780988]=2;c[780989]=3;c[780990]=4;c[780991]=5;c[780992]=6;c[780993]=7;c[780994]=8;c[780995]=9;c[780996]=10;c[780997]=11;c[780998]=12;c[780999]=13;c[781e3]=14;c[781001]=15}if(!(($k(2971096,c[781999]|0,24366)|0)&2))_k(2971096,c[781999]|0,24415,0);if(!(($k(2971096,c[781999]|0,24366)|0)&4)){c[781382]=0;c[781383]=0;c[781384]=0;c[781385]=0}if(!(($k(2971096,c[781999]|0,24366)|0)&8)){c[781036]=15;c[781035]=15;c[781034]=255}if(!(($k(2971096,c[781999]|0,24366)|0)&16)){_k(2971096,c[781999]|0,24408,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24409,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24410,0);if(!(a[3152374]&16))_k(2971096,c[781999]|0,24411,0)}if(!(($k(2971096,c[781999]|0,24366)|0)&32))c[781038]=0;if(!(($k(2971096,c[781999]|0,24366)|0)&64))c[781022]=6;if(!(($k(2971096,c[781999]|0,24366)|0)&128)){_k(2971096,c[781999]|0,24404,0);_k(2971096,c[781999]|0,24405,96)}Vm();if(!(c[485554]|0))c[485554]=1}c[780894]=0;c[742797]=0;c[781031]=0;c[781030]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();Nk(0);c[781023]=0;c[781025]=0;d=c[781024]|0;e=(d|0)<122?d:122;c[781024]=(e|0)>0?e:0;if(b?no()|0:0)do oo()|0;while((no()|0)!=0);if(c[742801]|0)c[554811]=1;c[484717]=0;Xn(c[742782]|0);return}function bh(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[778921]|0;d=(a[c[c[778903]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[778904]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[778905]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[778906]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[778907]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[778908]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[778909]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[778910]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[778911]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[778912]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[778913]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[778914]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[778915]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[778916]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[778917]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[778918]>>2]>>0]|0)!=0;a[c[c[26544]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;lu(c[c[26544]>>2]|0,c[c[778903]>>2]|0)|0;if((t|0)>0){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778904]>>2]|0)|0;if((t|0)>1){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778905]>>2]|0)|0;if((t|0)>2){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778906]>>2]|0)|0;if((t|0)>3){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778907]>>2]|0)|0;if((t|0)>4){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778908]>>2]|0)|0;if((t|0)>5){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778909]>>2]|0)|0;if((t|0)>6){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778910]>>2]|0)|0;if((t|0)>7){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778911]>>2]|0)|0;if((t|0)>8){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778912]>>2]|0)|0;if((t|0)>9){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778913]>>2]|0)|0;if((t|0)>10){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778914]>>2]|0)|0;if((t|0)>11){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778915]>>2]|0)|0;if((t|0)>12){d=c[c[26544]>>2]|0;b=d+(bu(d)|0)|0;a[b>>0]=a[58341]|0;a[b+1>>0]=a[58342]|0;a[b+2>>0]=a[58343]|0;a[b+3>>0]=a[58344]|0;a[b+4>>0]=a[58345]|0;a[b+5>>0]=a[58346]|0;a[b+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778916]>>2]|0)|0;if((t|0)>13){b=c[c[26544]>>2]|0;d=b+(bu(b)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0}lu(c[c[26544]>>2]|0,c[c[778917]>>2]|0)|0;if((t|0)<=14){u=c[26544]|0;v=c[u>>2]|0;w=c[778918]|0;x=c[w>>2]|0;lu(v,x)|0;return}t=c[c[26544]>>2]|0;d=t+(bu(t)|0)|0;a[d>>0]=a[58341]|0;a[d+1>>0]=a[58342]|0;a[d+2>>0]=a[58343]|0;a[d+3>>0]=a[58344]|0;a[d+4>>0]=a[58345]|0;a[d+5>>0]=a[58346]|0;a[d+6>>0]=a[58347]|0;u=c[26544]|0;v=c[u>>2]|0;w=c[778918]|0;x=c[w>>2]|0;lu(v,x)|0;return}function ch(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[778903]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778904]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778905]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778906]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778907]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778908]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778909]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778910]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778911]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778912]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778913]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778914]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778915]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778916]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778917]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[778918]|0)+4>>2]|0;Wv(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[c[26544]>>2]|0;b=0;while(1){if((b|0)!=15){d=bv(a,58341)|0;e=c[c[3115612+(b<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{Vv(e|0,a|0,d-a|0)|0;h=d+6|0;i=b+1|0}}else{f=c[c[778918]>>2]|0;g=6}if((g|0)==6){g=0;Rs(f,a)|0;h=a;i=16}if((i|0)<16){a=h;b=i}else break}return}function dh(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ia;Ia=Ia+1024|0;d=c;Wv(1190768,0,1024)|0;Rs(d,b)|0;a[1190768]=0;b=Ts(d,93459)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ia=c;return 1190768}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}Rs(1190768,f>>>0>d>>>0?e:f)|0;Ia=c;return 1190768}function eh(a){a=a|0;return 1}function fh(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+2064|0;e=d+2048|0;f=d+1024|0;g=d;bh();Rs(3125548,3126573)|0;c[f>>2]=c[484611];c[f+4>>2]=3126573;vv(58361,f)|0;if(!(c[484611]|0))a[3126573]=0;a[3120504]=0;a[3121528]=0;Rs(g,3118768)|0;c[485554]=0;h=(bv(g,58348)|0)!=0;do if(!(h&(c[484611]|0)!=0)?(ds(58356,f),(bv(g,f)|0)==0):0)if(!(bv(g,3115688)|0)){Rs(3121528,g)|0;break}else{Rs(3121528,g+(bu(3115688)|0)|0)|0;break}else i=7;while(0);if((i|0)==7){Wv(1190768,0,1024)|0;Rs(f,g)|0;a[1190768]=0;g=Ts(f,93459)|0;if((g|0)!=0&g>>>0>f>>>0){a[g>>0]=0;i=g;a:while(1){j=i+-1|0;g=a[j>>0]|0;if(!((g+-97&255)<26|(g+-48&255)<10))switch(g<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>f>>>0)i=j;else break}Rs(1190768,j>>>0>f>>>0?i:j)|0}Rs(3120504,1190768)|0;c[535872]=0}c[e>>2]=3118768;c[e+4>>2]=3121528;c[e+8>>2]=3120504;wt(1715360,58436,e)|0;Cn(1715360);a[3122552]=0;Rg();el(2971096,c[781999]|0,0,0,17152);a[3127598]=0;a[3127662]=0;a[3127726]=0;a[3127790]=0;a[3127854]=0;a[3127918]=0;Wv(3119920,0,261)|0;b[1563991]=0;b[1563992]=0;b[1563993]=0;e=Fa(0)|0;zl((Xr()|0)+e|0);_g(c[c[26544]>>2]|0,0);or();lr(0,0);c[781382]=0;c[781383]=0;c[781384]=0;c[781385]=0;c[798454]=30;c[798455]=30;nl();Kb(c[26544]|0,3119833);c[780904]=0;c[485657]=0;c[536391]=1;Nk(0);Ia=d;return}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ia;Ia=Ia+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Wd(b,61302);be(c[554360]|0,0,1,0,0,0)|0;k=Jd(b,-1,0)|0;if(!k){Ia=d;return}zd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ia=d;return}l=b;b=k;k=0;while(1){if(k>>>0>=10){m=23;break}k=k+1|0;n=l;o=b;a:while(1){switch(n<<24>>24){case 10:case 0:{break a;break}default:{}}p=o+1|0;n=a[p>>0]|0;o=p}Wv(h|0,0,512)|0;kv(h,b,o-b|0)|0;b=(a[o>>0]|0)==10?o+1|0:o;b:do if((bv(h,58509)|0)==0?(bv(h,58525)|0)==0:0){n=h;c:while(1){switch(a[n>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}n=n+1|0}c[i>>2]=0;c[g>>2]=i;Su(n+1|0,94793,g)|0;p=c[i>>2]|0;if((p|0)>0){q=bv(h,58536)|0;if(!q){if(!(bv(h,58573)|0))break;r=$g(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;wt(1719968,58587,e)|0;Kg(1719968,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;n=$g(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=n;c[f+8>>2]=r;wt(1719968,58550,f)|0;Jg(1719968,13)}}while(0);l=a[b>>0]|0;if(!(l<<24>>24)){m=23;break}}if((m|0)==23){Ia=d;return}}function hh(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;g=(c[484611]|0)==0;sf(c[554360]|0,1,0)|0;if(sf(c[554360]|0,9,0)|0){h=c[554360]|0;if((c[798466]|0)>64)sf(h,2,0)|0;else sf(h,5,200)|0}h=g?2359296:2113536;if(((c[798390]|0)+(c[781046]|0)|0)>(h|0)?sf(c[554360]|0,9,0)|0:0){g=c[742775]|0;if((c[554366]|0)!=(g|0)){c[798466]=(c[798466]|0)+1;c[554366]=g}sf(c[554360]|0,2,0)|0;g=c[781046]|0;i=(c[798390]|0)+g|0;if((i|0)>(h|0)){if(!(sf(c[554360]|0,9,0)|0))Cn(58607);else Kc(c[554360]|0,1);j=c[798390]|0;k=(c[781046]|0)+j|0;c[e>>2]=j+g;c[e+4>>2]=k;c[e+8>>2]=j;wt(1715360,58663,e)|0;Cn(1715360);l=(c[798390]|0)+(c[781046]|0)|0}else l=i;if((l|0)>(h|0)){Rg();ah();Jg(58704,6);Ia=b;return}}sf(c[554360]|0,0,0)|0;if((c[780894]|0)!=1|(c[780895]|0)!=0){Ia=b;return}vg();a:do switch(fg(c[554360]|0,0,0)|0){case 0:{ah();if((c[554360]|0)==(c[554361]|0))c[536391]=0;break}case 1:{c[780894]=1;break}default:if((c[742800]|0)<=0){ah();do if(c[780901]|0){h=c[554351]|0;if((h|0)>2){l=Sg(c[c[26544]>>2]|0,h+-2|0,1)|0;i=$g(h,f)|0;h=c[f>>2]|0;if((h|0)>=(Eh()|0)){Kg(58747,14);break}h=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=h;wt(1719968,58718,d)|0;Kg(1719968,14);if(l|0)Kg(l,7);if((i|0)>0?(l=c[778919]|0,h=i+-1|0,(Is(c[l>>2]|0,c[l+336>>2]|0)|0)!=(h|0)):0){l=Js(c[c[778919]>>2]|0,h)|0;h=c[778919]|0;c[h+336>>2]=l;Gs(h,52);c[485658]=i}}}else Kg(58747,14);while(0);Pg(Jd(c[554360]|0,-1,0)|0);if(a[3195208]|0)Kg(3195208,6);if(c[798467]|0){c[798467]=0;break a}if(c[780901]|0)gh(c[554360]|0)}}while(0);if(!(c[798463]|0)){Ia=b;return}d=Xr()|0;if((d|0)<=((c[798464]|0)+1e3|0)){Ia=b;return}$l()|0;c[798464]=Xr()|0;Ia=b;return}function ih(){var a=0,b=0;Xr()|0;zg(8388608/(c[798454]|0)|0);wg();c[485558]=0;if(Wk()|0)return;a=1;while(1){c[781386]=(c[781386]|0)+1;c[798465]=0;hh();if(!(c[798465]|0)){b=5;break}if(a>>>0<8192)a=a+1|0;else{b=5;break}}if((b|0)==5)return}function jh(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[742778]=(c[742778]|0)+b;yg(b);return}function kh(b){b=b|0;a[3195208]=0;if(!b)return;kv(3195208,b,254)|0;a[3195463]=0;return}function lh(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[536387]|0;c[798424]=c[798425];c[798425]=c[798426];c[798426]=c[798427];c[798427]=c[798428];c[798428]=c[798429];c[798429]=c[798430];c[798430]=c[798431];c[798431]=c[798432];c[798432]=c[798433];c[798433]=c[798434];c[798434]=c[798435];c[798435]=c[798436];c[798436]=c[798437];c[798437]=c[798438];c[798438]=c[798439];c[798439]=c[798440];c[798440]=c[798441];c[798441]=c[798442];c[798442]=c[798443];c[798443]=c[798444];c[798444]=c[798445];c[798445]=c[798446];c[798446]=c[798447];c[798447]=c[798448];c[798448]=c[798449];c[798449]=c[798450];c[798450]=c[798451];c[798451]=c[798452];c[798452]=c[798453];c[798453]=Cr()|0;b=c[798424]|0;d=c[798425]|0;e=c[798426]|0;f=c[798427]|0;g=c[798428]|0;h=c[798429]|0;i=c[798430]|0;j=c[798431]|0;k=c[798432]|0;l=c[798433]|0;m=c[798434]|0;n=c[798435]|0;o=c[798436]|0;p=c[798437]|0;q=c[798438]|0;r=c[798439]|0;s=c[798440]|0;t=c[798441]|0;u=c[798442]|0;v=c[798443]|0;w=c[798444]|0;x=c[798445]|0;y=c[798446]|0;z=c[798447]|0;A=c[798448]|0;B=c[798449]|0;C=c[798450]|0;D=c[798451]|0;E=c[798452]|0;F=c[798453]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[798458]|0;J=c[798456]|0;if((I|0)>(J|0)){K=I-J|0;J=Rv(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[798455]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=Lv(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[798395]|0;c[798394]=L;c[798395]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[798461]|0;K=c[798459]|0;if((I|0)<(K|0))return;L=c[535605]|0;J=I-K+(c[798392]|0)+((L|0)>0?L:0)|0;L=(c[535471]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[798454]|0;b=c[798455]|0;if((c[535607]|0)!=0&(H|0)==(b|0)){c[2143500+(a<<5)+28>>2]=9;c[798454]=(H|0)/2|0;c[535607]=0;return}c[535607]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2143500+(a<<5)+28|0;c[d>>2]=8;c[798454]=30;if(ns()|0?(e=Xr()|0,(e-(c[798393]|0)|0)<2e3):0){c[d>>2]=10;d=(c[798392]|0)+1|0;c[798392]=(d|0)<5?d:5}c[798393]=Xr()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2143500+(a<<5)+28>>2]=11;c[798454]=b;return}if((M|0)>=63488)return;c[2143500+(a<<5)+28>>2]=2;return}function mh(){c[297948]=0;c[554367]=0;return}function nh(a){a=a|0;Rs(1191792+(c[554367]<<6)|0,a)|0;c[554367]=(c[554367]|0)+1;return}function oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,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;d=Ia;Ia=Ia+128|0;e=d;f=c[554369]|0;if((f|4|0)!=-995)c[554370]=f;a[1208176]=0;c[554369]=0;g=b;a:while(1){h=a[g>>0]|0;switch(h<<24>>24){case 0:{i=6;break a;break}case 45:{i=7;break a;break}case 126:{i=18;break a;break}case 13:case 9:case 8:case 32:break;default:{j=h;k=0;break a}}g=g+1|0}if((i|0)==6){c[554369]=-1e3;l=g;Ia=d;return l|0}else if((i|0)==7){b=a[g+1>>0]|0;if(b<<24>>24==45){c[554369]=-995;m=g+2|0;if((a[m>>0]|0)==91){n=0;while(1){o=n+1|0;p=a[m+o>>0]|0;if(n>>>0<60&p<<24>>24==61)n=o;else break}if(p<<24>>24==91?(p=n+2|0,Vv(e|0,m|0,p|0)|0,a[e>>0]=93,a[e+o>>0]=93,a[e+p>>0]=0,p=bv(g+4+n|0,e)|0,p|0):0){l=p+2+n|0;Ia=d;return l|0}}n=g;b:while(1){switch(a[n>>0]|0){case 0:case 10:{l=n;break b;break}default:{}}n=n+1|0}Ia=d;return l|0}else{q=b;r=45;i=19}}else if((i|0)==18){q=a[g+1>>0]|0;r=126;i=19}do if((i|0)==19){if((q+-48&255)>9){if(q<<24>>24!=46){j=r;k=0;break}if(((a[g+2>>0]|0)+-48&255)>9){j=r;k=0;break}}b=c[554370]|0;j=r;k=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-965|((b|0)==61|((b|0)==-966|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==-954|((b|1|0)==-955|((b|1|0)==-957|((b|0)==-953|((b|0)==124|((b|0)==38|((b|0)==92|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))))))))&1}while(0);if(a[1232+(j&255)>>0]|0){c[554369]=0;r=c[8726]|0;q=h<<24>>24;if(!(a[1488+(q&255)>>0]|0)){s=r;t=0;u=g}else{b=h;n=q;q=r;r=0;p=g;while(1){o=(B(n,q)|0)&8191^7266;m=r+1|0;a[1208176+r>>0]=b;v=p+1|0;b=a[v>>0]|0;n=b<<24>>24;if(!(a[1488+(n&255)>>0]|0)){s=o;t=m;u=v;break}else{q=o;r=m;p=v}}}a[1208176+t>>0]=0;switch(f|0){case 46:case 58:break;default:{f=c[1273712+(s*20|0)+16>>2]|0;if(f|0?(au(1273712+(s*20|0)|0,1208176)|0)==0:0){c[554369]=f;l=u;Ia=d;return l|0}}}c[554369]=-998;l=u;Ia=d;return l|0}if((j+-48&255)>9)if(j<<24>>24==46)w=((a[g+1>>0]|0)+-48&255)<10&1;else w=0;else w=1;if(w|k|0){switch(j<<24>>24){case 126:case 45:{a[1208176]=j;k=g+1|0;x=a[k>>0]|0;y=k;break}default:{x=h;y=g}}c[554369]=0;c:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)i=48;else{z=0;A=y}else{k=a[y+1>>0]|0;switch((k|32)<<24>>24){case 120:break;case 98:{a[1208176]=48;a[1208177]=k;w=0;u=y+2|0;while(1){f=a[u>>0]|0;switch(f<<24>>24){case 46:case 48:case 49:break;default:{z=w;A=u;break c}}a[1208176+w>>0]=f;w=w+1|0;u=u+1|0}break}default:{i=48;break c}}a[1208176]=48;a[1208177]=k;u=0;w=y+2|0;while(1){f=a[w>>0]|0;if(!((f+-48&255)<10|(f+-97&255)<6))switch(f<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{z=u;A=w;break c}}a[1208176+u>>0]=f;u=u+1|0;w=w+1|0}}while(0);if((i|0)==48){w=x;x=0;u=y;while(1){y=x+1|0;a[1208176+x>>0]=w;k=u+1|0;w=a[k>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){z=y;A=k;break}else{x=y;u=k}}}a[1208176+z>>0]=0;c[554369]=-997;l=A;Ia=d;return l|0}d:do switch(j<<24>>24){case 91:{A=g+1|0;z=a[A>>0]|0;switch(z<<24>>24){case 61:case 91:break;default:{C=z;D=A;E=0;i=95;break d}}c[554369]=-996;a[1208176]=0;if((a[g>>0]|0)==91){A=0;while(1){F=A+1|0;G=a[g+F>>0]|0;if(A>>>0<60&G<<24>>24==61)A=F;else break}if(G<<24>>24==91?(z=A+2|0,Vv(e|0,g|0,z|0)|0,a[e>>0]=93,a[e+F>>0]=93,a[e+z>>0]=0,z=bv(g+2+A|0,e)|0,z|0):0){l=z+2+A|0;Ia=d;return l|0}}l=g+(bu(g)|0)|0;Ia=d;return l|0}case 34:{a[1208176]=34;z=1;u=g;e:while(1){x=u+1|0;w=a[x>>0]|0;switch(w<<24>>24){case 34:{i=65;break e;break}case 10:case 0:{H=z;I=x;break e;break}case 92:{k=u+2|0;a[1208176+z>>0]=92;J=a[k>>0]|0;K=z+1|0;L=k;break}default:{J=w;K=z;L=x}}a[1208176+K>>0]=J;z=K+1|0;u=L}if((i|0)==65){a[1208176+z>>0]=34;H=z+1|0;I=u+2|0}a[1208176+H>>0]=0;c[554369]=-996;l=I;Ia=d;return l|0}case 39:{a[1208176]=39;A=1;x=g;f:while(1){w=x+1|0;k=a[w>>0]|0;switch(k<<24>>24){case 39:{i=71;break f;break}case 10:case 0:{M=A;N=w;break f;break}case 92:{y=x+2|0;a[1208176+A>>0]=92;O=a[y>>0]|0;P=A+1|0;Q=y;break}default:{O=k;P=A;Q=w}}a[1208176+P>>0]=O;A=P+1|0;x=Q}if((i|0)==71){a[1208176+A>>0]=39;M=A+1|0;N=x+2|0}a[1208176+M>>0]=0;c[554369]=-996;l=N;Ia=d;return l|0}case 10:{c[554371]=(c[554371]|0)+1;c[554369]=-999;l=g+1|0;Ia=d;return l|0}case 58:{u=g+1|0;z=a[u>>0]|0;if(z<<24>>24==58){c[554369]=-960;l=g+2|0;Ia=d;return l|0}else{R=z;S=u;T=0;i=79}break}case 46:{u=g+1|0;z=a[u>>0]|0;if(z<<24>>24==46)if((a[g+2>>0]|0)==46){c[554369]=-961;l=g+3|0;Ia=d;return l|0}else{C=46;D=u;E=1;i=95}else{R=z;S=u;T=1;i=79}break}default:{u=g+1|0;R=a[u>>0]|0;S=u;T=0;i=79}}while(0);g:do if((i|0)==79)if(R<<24>>24==61)do switch(j<<24>>24){case 60:{c[554369]=-970;l=g+2|0;Ia=d;return l|0}case 62:{c[554369]=-969;l=g+2|0;Ia=d;return l|0}case 126:{c[554369]=-967;l=g+2|0;Ia=d;return l|0}case 33:{c[554369]=-967;l=g+2|0;Ia=d;return l|0}case 61:{c[554369]=-966;l=g+2|0;Ia=d;return l|0}case 43:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 45:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 42:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 47:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 92:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 37:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 38:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 124:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}case 94:{c[554369]=-965;l=g+2|0;Ia=d;return l|0}default:{U=S;break g}}while(0);else{C=R;D=S;E=T;i=95}while(0);h:do if((i|0)==95){T=C<<24>>24==0;i:do if(!(j<<24>>24==0|T)?(a[g+2>>0]|0)==61:0){if(E&C<<24>>24==46){c[554369]=-965;l=g+3|0;Ia=d;return l|0}switch(j<<24>>24){case 60:{if(C<<24>>24!=60){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}case 62:{if(C<<24>>24!=62){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}case 94:{if(C<<24>>24!=94){U=D;break h}c[554369]=-965;l=g+3|0;Ia=d;return l|0}default:break i}}else i=106;while(0);if((i|0)==106){j:do switch(j<<24>>24){case 60:case 62:{if((!T?(S=a[g+2>>0]|0,S<<24>>24):0)?(a[g+3>>0]|0)==61:0){R=j<<24>>24==62&C<<24>>24==62;if(R&S<<24>>24==60){c[554369]=-965;l=g+4|0;Ia=d;return l|0}x=S<<24>>24==62;if(j<<24>>24==60&C<<24>>24==60&x){c[554369]=-965;l=g+4|0;Ia=d;return l|0}if(!(R&x)){U=D;break h}c[554369]=-965;l=g+4|0;Ia=d;return l|0}switch(j<<24>>24){case 62:break;case 60:{if(C<<24>>24!=60)break j;x=g+2|0;if((a[x>>0]|0)==62){c[554369]=-955;l=g+3|0;Ia=d;return l|0}else{c[554369]=-958;l=x;Ia=d;return l|0}break}default:break j}if(C<<24>>24==62){x=g+2|0;switch(a[x>>0]|0){case 62:{if((a[g+3>>0]|0)==61){c[554369]=-965;l=g+4|0;Ia=d;return l|0}else{c[554369]=-956;l=g+3|0;Ia=d;return l|0}break}case 60:{c[554369]=-954;l=g+3|0;Ia=d;return l|0}default:{c[554369]=-957;l=x;Ia=d;return l|0}}}break}case 94:{if(C<<24>>24==94){c[554369]=-953;l=g+2|0;Ia=d;return l|0}break}default:{}}while(0);if(E&C<<24>>24==46){c[554369]=-964;l=g+2|0;Ia=d;return l|0}}if(j<<24>>24==47&C<<24>>24==47){c[554369]=-995;T=h;x=g;k:while(1){switch(T<<24>>24){case 0:case 10:{l=x;break k;break}default:{}}R=x+1|0;T=a[R>>0]|0;x=R}Ia=d;return l|0}else U=D}while(0);if(ut(g,94207,9)|0){c[554369]=j<<24>>24;l=U;Ia=d;return l|0}c[554369]=-962;U=h;h=g;l:while(1){switch(U<<24>>24){case 0:case 10:{l=h;break l;break}default:{}}g=h+1|0;U=a[g>>0]|0;h=g}Ia=d;return l|0}function ph(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((bu(b)|0)>>>0>15){Ia=e;return}h=c[8726]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=i;i=h;h=b;while(1){l=(B(i,k<<24>>24)|0)&8191^7266;h=h+1|0;k=a[h>>0]|0;if(!(k<<24>>24)){j=l;break}else i=l}}i=1273712+(j*20|0)+16|0;k=1273712+(j*20|0)|0;if((c[i>>2]|0)==0?(a[k>>0]|0)==0:0){c[i>>2]=d;Rs(k,b)|0;Ia=e;return}c[g>>2]=k;c[g+4>>2]=b;vv(58761,g)|0;c[f>>2]=k;c[f+4>>2]=b;wt(1715360,58761,f)|0;Cn(1715360);ya(0)}function qh(a){a=a|0;if(c[554368]|0)return;c[554368]=1;c[8726]=a;Wv(1273712,0,163840)|0;ph(63802,-993);ph(63997,-992);ph(64883,-991);ph(64580,-990);ph(64583,-989);ph(64595,-988);ph(64588,-987);ph(64043,-986);ph(65855,-974);ph(65848,-973);ph(65852,-972);ph(64175,-985);ph(92620,-983);ph(63811,-982);ph(64364,-981);ph(64371,-980);ph(58792,-979);ph(58797,-978);ph(65112,-963);ph(65117,-963);ph(65123,-963);ph(64887,-984);ph(85841,-977);ph(85704,-977);ph(87864,-977);ph(85986,-977);ph(58803,-977);if((c[554367]|0)<=0)return;a=0;do{ph(1191792+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[554367]|0));return}function rh(b){b=b|0;var c=0;c=oh(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function sh(b){b=b|0;var d=0,e=0;qh(c[8726]|0);c[554369]=0;c[554370]=0;c[554372]=b;d=oh(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function th(){return c[554369]|0}function uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=0;e=-1;while(1){if((e|0)==-1){qh(c[8726]|0);c[554369]=0;c[554370]=0;c[554372]=b;f=oh(b)|0;if(!f){g=0;h=0}else{g=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f;h=0}}else{if(!(a[d>>0]|0))break;f=oh(d)|0;if(!f){g=0;h=e}else{g=(f|0)==(d|0)&(a[f>>0]|0)!=0?f+1|0:f;h=e}}switch(c[554369]|0){case -960:case -962:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=h;break}default:i=h+1|0}d=g;e=i}return e|0}function vh(){var a=0,b=0,d=0,e=0,f=0;a=gn(c[(c[26544]|0)+4>>2]|0,0)|0;b=c[26544]|0;d=c[b+45868>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}Ps(a,d,e)|0;Gp(c[(c[26544]|0)+4>>2]|0,c[(c[766828]|0)+20>>2]|0,0,0,0,0,128,128);c[484610]=1;return}function wh(a){a=a|0;return}function xh(){return}function yh(){return}function zh(){return}function Ah(a){a=a|0;return}function Bh(){return}function Ch(){return}function Dh(){return}function Eh(){var b=0;b=c[778921]|0;return (((b|0)==15?1:(a[c[c[778918]>>2]>>0]|0)!=0)?16:((b|0)==14?1:(a[c[c[778917]>>2]>>0]|0)!=0)?15:((b|0)==13?1:(a[c[c[778916]>>2]>>0]|0)!=0)?14:((b|0)==12?1:(a[c[c[778915]>>2]>>0]|0)!=0)?13:((b|0)==11?1:(a[c[c[778914]>>2]>>0]|0)!=0)?12:((b|0)==10?1:(a[c[c[778913]>>2]>>0]|0)!=0)?11:((b|0)==9?1:(a[c[c[778912]>>2]>>0]|0)!=0)?10:((b|0)==8?1:(a[c[c[778911]>>2]>>0]|0)!=0)?9:((b|0)==7?1:(a[c[c[778910]>>2]>>0]|0)!=0)?8:((b|0)==6?1:(a[c[c[778909]>>2]>>0]|0)!=0)?7:((b|0)==5?1:(a[c[c[778908]>>2]>>0]|0)!=0)?6:((b|0)==4?1:(a[c[c[778907]>>2]>>0]|0)!=0)?5:((b|0)==3?1:(a[c[c[778906]>>2]>>0]|0)!=0)?4:((b|0)==2?1:(a[c[c[778905]>>2]>>0]|0)!=0)?3:((b|0)==1?1:(a[c[c[778904]>>2]>>0]|0)!=0)?2:((b|0)==0?1:(a[c[c[778903]>>2]>>0]|0)!=0)&1)|0}function Fh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+12|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Gh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+12|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Hh(){var b=0,d=0,e=0,f=0,g=0,h=0;b=a[3152406]|0;d=(b&255)<<8;e=a[3152407]|0;f=e<<24>>24==0?256:e&255;if(b<<24>>24>-1){e=(b&-16)<<24>>24==16?d+8192|0:d;b=(e+-8192|0)>>>0>7936?8192:e;g=b;h=(16384-b|0)/(f|0)|0}else{g=d;h=((65536-d|0)>>>0)/(f>>>0)|0}c[554373]=f;c[554374]=h;c[554375]=g;Mk(0,c[798384]|0)|0;Mk(1,c[798385]|0)|0;Mk(2,c[798386]|0)|0;Mk(3,c[798387]|0)|0;Nk(c[798931]|0);return}function Ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if((b|0)>=0?(f=c[554373]|0,(e|0)>-1&(f|0)>(b|0)&(c[554374]|0)>(e|0)):0){g=c[554375]|0;if(!(g&32768))h=(c[(c[(c[781999]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)|0;else h=3128e3+g|0;i=d[h+((B(f,e)|0)+b)>>0]|0;return i|0}if(!(a[3152374]&16)){i=0;return i|0}i=$k(2971096,c[781999]|0,24410)|0;return i|0}function Jh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((b|0)<0)return;f=c[554373]|0;if(!((d|0)>-1&(f|0)>(b|0)&(c[554374]|0)>(d|0)))return;g=c[554375]|0;if(g&32768|0){a[3128e3+g+((B(f,d)|0)+b)>>0]=e;return}h=(B(f,d)|0)+b|0;a[(c[(c[(c[781999]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)+h>>0]=e;if((h|0)<=4095)return;_k(2971096,c[781999]|0,h,e);return}function Kh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=Ia;Ia=Ia+1808|0;g=f+1800|0;h=f+1792|0;i=f+768|0;j=f;k=f+1804|0;c[k>>2]=0;if(!(c[554377]|0)){c[554377]=1;Wv(1437552,0,3600)|0}if(!(c[554376]|0)){l=9;Ia=f;return l|0}ku(i,hc(58810,e)|0)|0;e=Rl(i,0,k)|0;if(!e){c[h>>2]=c[k>>2];c[h+4>>2]=i;wt(1715360,58814,h)|0;Cn(1715360);l=1;Ia=f;return l|0}c[g>>2]=i;wt(1715360,58848,g)|0;Cn(1715360);g=(b|0)>0?b:c[484698]|0;b=(g|0)<8?g:8;g=(b|0)>1?b:1;b=((g|0)<3?g:3)<<7;g=Sn(b,b,8)|0;if((c[554376]|0)>0){b=18;h=0;while(1){k=1437552+(h<<2)|0;m=c[k>>2]|0;if(!m){n=Sn(128,128,8)|0;c[k>>2]=n;o=n}else o=m;m=c[o+12>>2]|0;p=b;n=0;do{p=(d[m+n>>0]|0)>15?256:p;n=n+1|0}while((n|0)!=16384);h=h+1|0;if((h|0)>=(c[554376]|0))break;else b=p}if((p|0)>0){q=p;r=14}else s=p}else{q=18;r=14}if((r|0)==14){r=c[742761]|0;p=0;do{a[j+(p*3|0)>>0]=a[r+(p*3|0)>>0]|0;a[j+(p*3|0)+1>>0]=a[r+(p*3|0)+1>>0]|0;a[j+(p*3|0)+2>>0]=a[r+(p*3|0)+2>>0]|0;p=p+1|0}while((p|0)!=(q|0));s=q}q=Ql(1<<(Zl(s)|0),j)|0;j=c[g>>2]|0;c[e>>2]=j;p=g+4|0;r=c[p>>2]|0;c[e+4>>2]=r;c[e+8>>2]=s;c[e+12>>2]=0;c[e+20>>2]=q;a:do if((c[554376]|0)>0){b=g+16|0;h=j;o=r;n=0;while(1){m=1437552+(n<<2)|0;_n(c[m>>2]|0,g,0,0,h,o,0);k=_l(e,0)|0;c[k>>2]=0;c[k+4>>2]=0;t=c[g>>2]|0;c[k+8>>2]=t;u=c[p>>2]|0;c[k+12>>2]=u;a[k+16>>0]=0;v=(n|0)!=0;c[k+20>>2]=v?0:q;w=Ol(B(u,t)|0)|0;t=k+24|0;c[t>>2]=w;Wv(w|0,0,B(c[p>>2]|0,c[g>>2]|0)|0)|0;w=c[p>>2]|0;if((w|0)>0){u=c[g>>2]|0;x=w;y=0;while(1){if((u|0)>0){z=u;A=0;do{a[(c[t>>2]|0)+((B(z,y)|0)+A)>>0]=(d[(c[(c[b>>2]|0)+(y<<2)>>2]|0)+A>>0]|0)%(s|0)|0;A=A+1|0;z=c[g>>2]|0}while((A|0)<(z|0));C=c[p>>2]|0;D=z}else{C=x;D=u}y=y+1|0;if((y|0)>=(C|0)){E=C;break}else{u=D;x=C}}}else E=w;if(v&(E|0)>0){x=1437552+(n+-1<<2)|0;u=c[g>>2]|0;y=0;while(1){if((u|0)>0){A=u;F=0;while(1){G=c[484698]|0;H=(y|0)/(G|0)|0;I=(F|0)/(G|0)|0;if((a[(c[(c[(c[x>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)==(a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)){I=(B(A,y)|0)+F|0;a[(c[t>>2]|0)+I>>0]=17;J=c[g>>2]|0}else J=A;F=F+1|0;if((F|0)>=(J|0)){K=J;break}else A=J}}else K=u;y=y+1|0;if((y|0)>=(c[p>>2]|0))break;else u=K}}u=(n|0)==0;y=u?3:1;t=k+28|0;c[t>>2]=y;m=Ol(y*12|0)|0;y=k+32|0;c[y>>2]=m;Wv(m|0,0,(c[t>>2]|0)*12|0)|0;if(u){u=c[y>>2]|0;c[u+8>>2]=255;c[u>>2]=11;t=Ol(12)|0;c[u+4>>2]=t;Rs(t,58867)|0;t=c[y>>2]|0;c[t+20>>2]=0;c[t+12>>2]=3;u=Ol(3)|0;m=t+16|0;c[m>>2]=u;a[u>>0]=1;a[(c[m>>2]|0)+1>>0]=0;a[(c[m>>2]|0)+2>>0]=0;L=2}else L=0;m=c[y>>2]|0;c[m+(L*12|0)+8>>2]=249;c[m+(L*12|0)>>2]=4;y=Ol(4)|0;u=m+(L*12|0)+4|0;c[u>>2]=y;a[y>>0]=1;a[(c[u>>2]|0)+1>>0]=3;a[(c[u>>2]|0)+2>>0]=0;a[(c[u>>2]|0)+3>>0]=17;u=n+1|0;if((u|0)>=(c[554376]|0))break a;h=c[g>>2]|0;o=c[p>>2]|0;n=u}}while(0);p=Yl(e)|0;Tn(g)|0;Nb(i,58810,128,128);Pl();i=(p|0)==0;if(i)Cn(58879);l=i&1;Ia=f;return l|0}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;if(!(c[554377]|0)){c[554377]=1;Wv(1437552,0,3600)|0}if(!(c[484714]|c[484701])){Ia=b;return}cs(b+8|0,b+4|0,d);Xr()|0;d=c[484714]|0;e=c[484701]|0;if((e|0)>0|(d|0)!=0){f=e;e=d;d=0;while(1){g=1437552+(d<<2)|0;if(!(c[g>>2]|0)){c[g>>2]=Sn(128,128,8)|0;h=c[484714]|0;i=c[484701]|0}else{h=e;i=f}d=d+1|0;g=(h|0)==0?i*30|0:900;j=(g|0)<900?g:900;if(d>>>0>=((j|0)>0?j:0)>>>0)break;else{f=i;e=h}}}Gp(a,c[1437552+(c[554376]<<2)>>2]|0,0,0,0,0,128,128);a=Xr()|0;if((a|0)<(c[535872]|0))rb(c[1437552+(c[554376]<<2)>>2]|0);a=c[554376]|0;h=(c[484714]|0)==0?(c[484701]|0)*30|0:900;e=(h|0)<900;if((a|0)<(((h|0)<0?-1:e?h+-1|0:899)|0)){c[554376]=a+1;Ia=b;return}a=c[359388]|0;i=e?h:900;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{f=e;e=e+1|0;c[1437552+(f<<2)>>2]=c[1437552+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1437552+(k<<2)>>2]=a;Ia=b;return}function Mh(){c[554376]=0;c[484703]=0;return}function Nh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=Fu(a,96074)|0;if(!g){h=1;Ia=e;return h|0}a=xq(1048576)|0;i=tv(a,1,1048576,g)|0;Lu(g)|0;g=Fu(b,96789)|0;if(!g){h=2;Ia=e;return h|0}hv(58904,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];_u(g,104626,f)|0;b=b+1|0}while((b|0)!=(i|0))}hv(58911,7,1,g)|0;Lu(g)|0;h=0;Ia=e;return h|0}function Oh(a){a=a|0;Tn(c[(c[26544]|0)+45856>>2]|0)|0;a=Sn(128,128,8)|0;c[(c[26544]|0)+45856>>2]=a;Gp(c[742795]|0,a,0,0,0,0,128,128);return 0}function Ph(){return}function Qh(){return ((c[554376]|0)+15|0)/30|0|0}function Rh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function Sh(b){b=b|0;var d=0;if(b<<24>>24>63){d=61;return d|0}d=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;return d|0}function Th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=e;j=b;k=h;l=2;break}case 1:{m=e;n=b;o=h;l=6;break}case 2:{p=e;q=b;r=h;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((j|0)==(g|0)){t=0;u=i;v=k;break}h=a[j>>0]|0;b=h>>>2&63;if((b&255)<<24>>24>63)w=61;else w=a[((c[537424]|0)==0?58919:58984)+b>>0]|0;a[i>>0]=w;m=i+1|0;n=j+1|0;o=h<<4&48;l=6;continue}else if((l|0)==6){l=0;if((n|0)==(g|0)){t=1;u=m;v=o;break}h=a[n>>0]|0;b=h>>>4&15|o&255;if((b&255)<<24>>24>63)x=61;else x=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;a[m>>0]=x;p=m+1|0;q=n+1|0;r=h<<2&60;l=10;continue}else if((l|0)==10){l=0;if((q|0)==(g|0)){t=2;u=p;v=r;break}h=a[q>>0]|0;b=h>>>6&3|r&255;if((b&255)<<24>>24>63)y=61;else y=a[((c[537424]|0)==0?58919:58984)+(b<<24>>24)>>0]|0;a[p>>0]=y;b=h&63;h=b&255;if(h<<24>>24>63)z=61;else z=a[((c[537424]|0)==0?58919:58984)+b>>0]|0;a[p+1>>0]=z;b=f+8|0;A=(c[b>>2]|0)+1|0;c[b>>2]=(A|0)==18?0:A;i=p+2|0;j=q+1|0;k=h;l=2;continue}a[d>>0]=v;c[f>>2]=t;s=u-e|0;return s|0}function Uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[((c[537424]|0)==0?58919:58984)+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=3;h=b+2|0;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[((c[537424]|0)==0?58919:58984)+(f<<24>>24)>>0]|0;a[b>>0]=i;g=2;h=b+1|0;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[h>>0]=61;j=b+g|0;k=j;l=b;m=k-l|0;return m|0}function Vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[537424]|0;if((c[8727]|0)!=(d|0)){Wv(1441152,-1,1024)|0;e=(d|0)==0?58919:58984;f=0;do{if((f&255)<<24>>24>63)g=61;else g=a[e+(f<<24>>24)>>0]|0;c[1441152+(g<<24>>24<<2)>>2]=f;f=f+1|0}while((f|0)!=64);c[8727]=d}if(b<<24>>24<0){h=-1;return h|0}h=c[1441152+(b<<24>>24<<2)>>2]|0;return h|0}function Wh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;return}function Xh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=g+4|0;a[f>>0]=a[h>>0]|0;switch(c[g>>2]|0){case 0:{i=b+e|0;j=b;k=f;l=6;break}case 1:{m=b+e|0;n=b;o=f;l=18;break}case 2:{p=b+e|0;q=b;r=f;l=30;break}case 3:{s=b+e|0;t=b;u=f;l=42;break}default:{v=0;return v|0}}a:while(1)if((l|0)==6){l=0;b=j;do{if((b|0)==(i|0)){w=0;x=k;break a}e=b;b=b+1|0;y=a[e>>0]|0;e=c[537424]|0;if((c[8727]|0)!=(e|0)){Wv(1441152,-1,1024)|0;z=(e|0)==0?58919:58984;A=0;do{if((A&255)<<24>>24>63)B=61;else B=a[z+(A<<24>>24)>>0]|0;c[1441152+(B<<24>>24<<2)>>2]=A;A=A+1|0}while((A|0)!=64);c[8727]=e}if(y<<24>>24<0)C=-1;else C=c[1441152+(y<<24>>24<<2)>>2]|0}while((C&128|0)!=0);a[k>>0]=C<<2;m=i;n=b;o=k;l=18;continue}else if((l|0)==18){l=0;A=n;do{if((A|0)==(m|0)){w=1;x=o;break a}z=A;A=A+1|0;D=a[z>>0]|0;z=c[537424]|0;if((c[8727]|0)!=(z|0)){Wv(1441152,-1,1024)|0;E=(z|0)==0?58919:58984;F=0;do{if((F&255)<<24>>24>63)G=61;else G=a[E+(F<<24>>24)>>0]|0;c[1441152+(G<<24>>24<<2)>>2]=F;F=F+1|0}while((F|0)!=64);c[8727]=z}if(D<<24>>24<0)H=-1;else H=c[1441152+(D<<24>>24<<2)>>2]|0}while((H&128|0)!=0);b=o+1|0;a[o>>0]=H>>>4&3|(d[o>>0]|0);a[b>>0]=H<<4;p=m;q=A;r=b;l=30;continue}else if((l|0)==30){l=0;b=q;do{if((b|0)==(p|0)){w=2;x=r;break a}F=b;b=b+1|0;E=a[F>>0]|0;F=c[537424]|0;if((c[8727]|0)!=(F|0)){Wv(1441152,-1,1024)|0;y=(F|0)==0?58919:58984;e=0;do{if((e&255)<<24>>24>63)I=61;else I=a[y+(e<<24>>24)>>0]|0;c[1441152+(I<<24>>24<<2)>>2]=e;e=e+1|0}while((e|0)!=64);c[8727]=F}if(E<<24>>24<0)J=-1;else J=c[1441152+(E<<24>>24<<2)>>2]|0}while((J&128|0)!=0);A=r+1|0;a[r>>0]=J>>>2&15|(d[r>>0]|0);a[A>>0]=J<<6;s=p;t=b;u=A;l=42;continue}else if((l|0)==42){l=0;A=t;do{if((A|0)==(s|0)){w=3;x=u;break a}e=A;A=A+1|0;y=a[e>>0]|0;e=c[537424]|0;if((c[8727]|0)!=(e|0)){Wv(1441152,-1,1024)|0;D=(e|0)==0?58919:58984;z=0;do{if((z&255)<<24>>24>63)K=61;else K=a[D+(z<<24>>24)>>0]|0;c[1441152+(K<<24>>24<<2)>>2]=z;z=z+1|0}while((z|0)!=64);c[8727]=e}if(y<<24>>24<0)L=-1;else L=c[1441152+(y<<24>>24<<2)>>2]|0}while((L&128|0)!=0);a[u>>0]=L&63|(d[u>>0]|0);i=s;j=A;k=u+1|0;l=6;continue}c[g>>2]=w;a[h>>0]=a[x>>0]|0;v=x-f|0;return v|0}function Yh(){return}function Zh(){return}function _h(){return 0}function $h(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ia;Ia=Ia+16|0;e=d;f=d+4|0;g=c[781022]&15;c[f>>2]=0;h=yd(b)|0;if(!h){i=0;Ia=d;return i|0}j=Cd(b,1)|0;do if((j+-3|0)>>>0>=2)if((j|0)==1){k=(Id(b,1)|0)==0;l=k?65117:65112;c[f>>2]=bu(l)|0;m=l;break}else{c[e>>2]=Dd(b,j)|0;wt(1719968,59094,e)|0;c[f>>2]=bu(1719968)|0;m=1719968;break}else m=Jd(b,1,f)|0;while(0);if((h|0)==2){e=c[781022]&255;if((yd(b)|0)>=2){j=Fd(b,2,0)|0;l=j>>>16&255;c[781022]=l;if(j&268435456){k=c[781043]|0;if(k&1|0?(n=j>>>8,o=n&65536|j&65535|n&131072,c[781038]=o,j&67108864|0):0)c[781038]=o|262144;if(k&2){c[781044]=j&134217728;p=0;q=l}else{p=0;q=l}}else{p=0;q=l}}else{p=0;q=e}}else if((h|0)>2){e=(Fd(b,2,0)|0)>>16;l=(Fd(b,3,0)|0)>>16;c[781023]=e;c[781025]=e;c[781024]=l;if((h|0)!=3){l=c[781022]&255;if((yd(b)|0)>=4){e=Fd(b,4,0)|0;j=e>>>16&255;c[781022]=j;if(e&268435456){k=c[781043]|0;if(k&1|0?(o=e>>>8,n=o&65536|e&65535|o&131072,c[781038]=n,e&67108864|0):0)c[781038]=n|262144;if(k&2){c[781044]=e&134217728;p=1;q=j}else{p=1;q=j}}else{p=1;q=j}}else{p=1;q=l}}else{p=1;q=g}}else{p=0;q=g}g=(h|0)<3?32:0;h=g|16;l=(a[3152374]|0)<0?h:p|(c[780901]|0)!=0?g:h;c[554378]=c[781023];c[554379]=c[781024];if(!(Xk(c[742782]|0,m,c[f>>2]|0,l,q)|0)){Od(b,c[554378]<<16);Od(b,c[554379]<<16);i=2;Ia=d;return i|0}Yg();b=c[798454]|0;if((b|0)==30){Yg();r=c[798454]|0}else r=b;if((r|0)==15){Yg();Yg()}wb();ol();c[742797]=0;rn();Ag();c[742778]=0;if(c[485657]|0){c[780900]=2;c[781024]=0;c[781023]=0;c[781025]=0}if(c[484703]|0){ob(0);Lh(c[742795]|0)}Bg();i=0;Ia=d;return i|0}function ai(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+2048|0;h=g+1024|0;i=g;if((b|0)==0|(d|0)==0){j=1;Ia=g;return j|0}k=bu(b)|0;l=bu(3115688)|0;if((e|0)>1023|(k+4+l+(bu(3116712)|0)|0)>>>0>=e>>>0){j=1;Ia=g;return j|0}Ss(h,b,1023)|0;a[h+1023>>0]=0;if(bv(h,96845)|0){j=1;Ia=g;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=b;l=h;b:while(1){if(!((e+-97&255)<26|(e+-48&255)<10))switch(e<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}l=l+1|0;e=a[l>>0]|0;if(!(e<<24>>24))break a}Ia=g;return j|0}while(0);Zo(h,0,0,i);if(59049){b=59049;e=1744;l=0;do{k=(au(i,b)|0)==0;l=k?1:l;e=e+4|0;b=c[e>>2]|0}while((b|0)!=0);if(!l)m=13}else m=13;if((m|0)==13){m=h+(bu(h)|0)|0;a[m>>0]=a[59049]|0;a[m+1>>0]=a[59050]|0;a[m+2>>0]=a[59051]|0;a[m+3>>0]=a[59052]|0;a[m+4>>0]=a[59053]|0}if(!f){sc(h,d);j=0;Ia=g;return j|0}else{fs(h,d);j=0;Ia=g;return j|0}return 0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=(a+-46|0)>>>0<11;d=b?a+-30|0:a;if(b){if((d&-8|0)==16?(b=d&3,a=c[1942244+(b*24|0)+8>>2]|0,(a|0)!=0):0){e=d&-4;if((e|0)==16){f=c[781999]|0;g=0;h=-65536;while(1){i=(a|0)==(f+16+(g*680|0)|0)?g<<16:h;g=g+1|0;if((g|0)==64){j=i;break}else h=i}}else j=-65536;if((e|0)==20)k=c[1942244+(b*24|0)+12>>2]<<16;else k=j}else k=-65536;if((d+-24|0)>>>0>=3){l=k;return l|0}if(!(c[485587]|0)){l=-65536;return l|0}if((d|0)!=26){l=(d|0)==25?c[485590]<<16:(d|0)==24?c[485589]<<16:-65536;return l|0}l=c[485586]<<16;return l|0}k=d&-4;if((k|0)==16){j=cr(d+-16|0)|0;b=c[781999]|0;e=0;h=-65536;do{h=(j|0)==(b+16+(e*680|0)|0)?e<<16:h;e=e+1|0}while((e|0)!=64);if((h|0)==-65536){e=cr(d+-12|0)|0;b=c[781999]|0;j=0;g=-65536;while(1){f=(e|0)==(b+16+(j*680|0)|0)?j<<16:g;j=j+1|0;if((j|0)==64){m=f;break}else g=f}}else m=h}else m=-65536;do if((k|0)==20){h=cr(d+-20|0)|0;if(!h){g=cr(d+-16|0)|0;if(!g){n=m;break}else o=g}else o=h;n=(br(o)|0)<<16}else n=m;while(0);if(!(nr()|0)){l=n;return l|0}if((d|0)!=26){l=(d|0)==25?c[554970]<<16:(d|0)==24?c[554971]<<16:n;return l|0}l=(rr()|0)<<16;return l|0}function ci(a){a=a|0;Ud(a,6,0);Zd(a,59099);Ud(a,7,0);Zd(a,59114);Ud(a,8,0);Zd(a,59124);Ud(a,9,0);Zd(a,59135);Ud(a,10,0);Zd(a,59142);Ud(a,11,0);Zd(a,59150);Ud(a,12,0);Zd(a,59159);Ud(a,13,0);Zd(a,59167);Ud(a,14,0);Zd(a,59174);Ud(a,15,0);Zd(a,59183);Ud(a,15,0);Zd(a,59196);Ud(a,16,0);Zd(a,59205);Ud(a,17,0);Zd(a,59212);Ud(a,18,0);Zd(a,59221);Ud(a,19,0);Zd(a,59232);Ud(a,20,0);Zd(a,59258);Ud(a,21,0);Zd(a,59261);Ud(a,22,0);Zd(a,86293);Ud(a,23,0);Zd(a,91162);Ud(a,24,0);Zd(a,91573);Ud(a,13,0);Zd(a,89329);Ud(a,25,0);Zd(a,89701);Ud(a,26,0);Zd(a,67469);Ud(a,27,0);Zd(a,91250);Ud(a,28,0);Zd(a,86860);Ud(a,29,0);Zd(a,91017);Ud(a,29,0);Zd(a,59267);Ud(a,30,0);Zd(a,90642);Ud(a,31,0);Zd(a,90290);Ud(a,32,0);Zd(a,90056);return}function di(a){a=a|0;var b=0;if(!(c[742779]|0))return 0;b=Fd(a,1,0)|0;if((b|0)<-1114112)return 0;c[554353]=(c[554353]|0)+(b>>16<<1);return 0}function ei(a){a=a|0;if((c[742800]|0)>0)return 0;$l()|0;c[780900]=2;c[781031]=0;c[781030]=0;$h(a)|0;Bg();return 0}function fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=d+2088|0;k=d+2084|0;c[j>>2]=0;if(!(yd(b)|0)){Ia=d;return 0}l=Cd(b,1)|0;do if((l+-3|0)>>>0>=2)if((l|0)==1){m=(Id(b,1)|0)==0;n=m?65117:65112;c[j>>2]=bu(n)|0;o=n;break}else{c[g>>2]=Dd(b,l)|0;wt(1719968,59094,g)|0;c[j>>2]=bu(1719968)|0;o=1719968;break}else o=Jd(b,1,j)|0;while(0);if((yd(b)|0)<=1){g=Hs(o,0,1)|0;qv(g)|0;Nu(c[8745]|0)|0;zq(g);Ia=d;return 0}c[k>>2]=0;g=Jd(b,2,k)|0;a:do if(!((g|0)==0|(c[k>>2]|0)>>>0>127)){if((yd(b)|0)>2)p=Id(b,3)|0;else p=0;if(!(au(g,59915)|0)){l=Hs(o,0,1)|0;os(l)|0;if((ps(l)|0)==0?(qo(-5)|0)==0:0)fb(60970,1500);n=c[485560]|0;if(n|0)zq(n);c[485560]=l;break}if((yd(b)|0)>3)q=Id(b,4)|0;else q=0;if(ai(g,h,1023,q)|0){Cb(61e3)|0;break}l=c[535197]|0;n=(bu(o)|0)+l|0;if(n>>>0>10485759){Cb(61026)|0;break}c[535197]=n;c[f>>2]=h;wt(i,61063,f)|0;do if(!(bv(2075252,i)|0)){n=0;l=0;b:while(1){switch(a[2075252+l>>0]|0){case 0:{break b;break}case 124:{r=n+1|0;break}default:r=n}n=r;l=l+1|0}if((n|0)>63){Cb(61067)|0;break a}else{lu(2075252,i)|0;break}}while(0);l=Fu(h,(p|0)==0?61089:96789)|0;if(!l){fb(61095,1500);break}m=Hs(o,0,1)|0;s=bu(o)|0;if(s>>>0<(c[j>>2]|0)>>>0)gv(m,l)|0;else{c[e>>2]=m;_u(l,61091,e)|0}Lu(l)|0;zq(m)}while(0);Ia=d;return 0}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=Cd(a,1)|0;jh(2);if(!(yd(a)|0)){Qd(a,3196396)|0;Ia=b;return 1}switch(h|0){case 4:{zd(a,1);Ia=b;return 1}case 3:{do if((yd(a)|0)>1){if((Cd(a,2)|0)==1)i=(Id(a,2)|0)!=0&1;else i=(Fd(a,2,0)|0)>>16;if(!(i&1)){if(!(i&2))break;c[e>>2]=Fd(a,1,0)|0;wt(1719968,94793,e)|0;Qd(a,1719968)|0;Ia=b;return 1}j=Fd(a,1,0)|0;if(!(i&2)){c[f>>2]=j>>>16;c[f+4>>2]=j&65535;wt(1719968,60958,f)|0}else{c[g>>2]=j;wt(1719968,60951,g)|0}Qd(a,1719968)|0;Ia=b;return 1}while(0);Qd(a,Jd(a,1,0)|0)|0;Ia=b;return 1}case 1:{g=(Id(a,1)|0)==0;Qd(a,g?65117:65112)|0;Ia=b;return 1}default:{c[d>>2]=Dd(a,h)|0;wt(1719968,59094,d)|0;Qd(a,1719968)|0;Ia=b;return 1}}return 0}function hi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ia;Ia=Ia+6176|0;e=d+6160|0;f=d+6144|0;g=d+5120|0;h=d+4096|0;i=d+3072|0;j=d+2048|0;k=d+1024|0;l=d;m=d+6172|0;c[m>>2]=255;if((c[742800]|0)>0){n=0;Ia=d;return n|0}$l()|0;if((Cd(b,1)|0)!=4){n=0;Ia=d;return n|0}if((yd(b)|0)>1){o=Jd(b,2,0)|0;if(!o)p=0;else{q=(bu(o)|0)>>>0>16;p=q?0:o}}else if(!(c[780901]|0)){Dg();p=0}else p=0;if(((yd(b)|0)>2?(o=Jd(b,3,0)|0,(o|0)!=0):0)?(bu(o)|0)>>>0<=1024:0){o=Jd(b,3,0)|0;if(!o)r=0;else{q=(bu(o)|0)>>>0>1024;r=q?0:o}ku(3126573,r)|0}else a[3126573]=0;if((yd(b)|0)<=0){n=0;Ia=d;return n|0}r=Jd(b,1,m)|0;if((r|0)==0|(c[m>>2]|0)>>>0>512){n=0;Ia=d;return n|0}c[484720]=0;Ss(k,3118768,1023)|0;a[k+1023>>0]=0;Ss(g,r,1023)|0;a[g+1023>>0]=0;a:do switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=45;else s=30;break}case 35:{c[484717]=0;c[484720]=0;if(!(c[780901]|0))Mg(60691,0,0);m=r+1|0;o=a[m>>0]|0;b:do if(o<<24>>24){q=o;t=m;c:while(1){if(!((q+-48&255)<10|((q&-33)+-65&255)<26))switch(q<<24>>24){case 45:case 95:break;default:break c}t=t+1|0;q=a[t>>0]|0;if(!(q<<24>>24))break b}Cb(60706)|0;break a}while(0);o=Qm()|0;c[f>>2]=93381;c[f+4>>2]=o;c[f+8>>2]=m;wt(l,60723,f)|0;Om(l,wm(m)|0,0);c[780903]=30;if(p|0?(bu(p)|0)>>>0>1:0)Cg(k,p,1);Bg();Vd(b,0);n=1;Ia=d;return n|0}default:s=30}while(0);d:do if((s|0)==30){do if(!(au(r,60772)|0)){l=c[536394]|0;if(!l){s=45;break d}Zb(l,60781);c[536394]=0;Ss(3118768,3196396,1023)|0;a[3119791]=0;Mg(60792,bu(c[c[26544]>>2]|0)|0,0)}else{if(((au(r,59915)|0?au(r,59921)|0:0)?au(r,59930)|0:0)?au(r,59940)|0:0){if(bc(g)|0){s=45;break d}Zo(3118768,h,i,j);l=bu(c[c[26544]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=l;wt(1719968,60850,e)|0;if(c[780901]|0)break;Lg(1719968);break}Lg(60820);break d}while(0);if(p|0?(bu(p)|0)>>>0>1:0)Cg(k,p,0);Tg();m=c[778919]|0;l=m+336|0;c[m+324>>2]=0;c[m+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;el(2971096,c[781999]|0,0,0,17152);jh(8388608);if((c[742801]|0)==0&(c[780901]|0)!=0?(c[780900]=1,au(3118768,k)|0):0)c[780903]=30;Vd(b,1);n=1;Ia=d;return n|0}while(0);if((s|0)==45?(c[780901]|0)==0:0){switch(c[779979]|0){case 1:{Lg(60873);break}case 2:{Lg(60904);break}default:Lg(60936)}c[779979]=0}Vd(b,0);n=1;Ia=d;return n|0}function ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=Jd(b,1,0)|0;if(!g)h=0;else{i=(bu(g)|0)>>>0>128;h=i?0:g}g=Jd(b,2,0)|0;if(!g)j=0;else{i=(bu(g)|0)>>>0>128;j=i?0:g}g=(Fd(b,2,0)|0)>>16;i=(Fd(b,3,0)|0)>>16;if(!h){Ia=d;return 0}if(!(au(h,60348)|0)){ob(0);Oh(c[742795]|0)|0;fb(60354,1500);Ia=d;return 0}if(!(au(h,60366)|0)){ob(0);if(gc(c[742795]|0,g,i)|0){fb(60373,1500);Ia=d;return 0}if(!i){fb(60414,1500);Ia=d;return 0}else{fb(60402,1500);Ia=d;return 0}}if(!(au(h,60435)|0)){Mh();Ia=d;return 0}if(!(au(h,60439)|0)){Mh();c[484703]=1;Ia=d;return 0}if(!(au(h,60450)|0)){c[484703]=0;ob(0);b=Kh(g,i)|0;k=c[554376]|0;c[f>>2]=b;c[f+4>>2]=k;vv(60456,f)|0;if((b|0)==9){fb(60501,1500);Ia=d;return 0}if((b|0)>0){fb(60530,1500);Ia=d;return 0}b=Qh()|0;if(!i){Ab(60572,1500,b,0);Ia=d;return 0}else{Ab(60552,1500,b,0);Ia=d;return 0}}if(!(au(h,60596)|0)){pr();Ia=d;return 0}if(!(au(h,60606)|0)){fm(g);Ia=d;return 0}if(!(au(h,60616)|0)){c[485555]=1;vb();if(g|0){Ia=d;return 0}c[485557]=0;Ia=d;return 0}if(!(au(h,60622)|0)){c[485555]=3;vb();c[485557]=0;Ia=d;return 0}if(!(au(h,86860)|0)){if(c[742800]|0){Ia=d;return 0}g=Xr()|0;if((g|0)<=((c[535608]|0)+500|0)){Ia=d;return 0}c[742800]=1;c[535608]=Xr()|0;Ia=d;return 0}if(!((au(h,60631)|0)!=0?(au(h,60642)|0)!=0:0))l=41;if((l|0)==41?Fg()|0:0){Ig();Bg();Ia=d;return 0}if(!(au(h,91017)|0)){c[780900]=2;Bg();Ia=d;return 0}l=(j|0)!=0;if(l&(au(h,60650)|0)==0){zn(j);Ia=d;return 0}if(au(h,60660)|0){c[e>>2]=h;wt(1719968,60673,e)|0;fb(1719968,2e3);Ia=d;return 0}if(l){Ss(3195728,j,63)|0;a[3195791]=0}else a[3195728]=0;j=3195728;a:while(1){switch(a[j>>0]|0){case 0:{break a;break}case 46:{a[j>>0]=0;break}default:{}}j=j+1|0}Ia=d;return 0}function ji(a){a=a|0;return dg(a)|0}function ki(a){a=a|0;var b=0;if((yd(a)|0)==1?(Cd(a,1)|0)==3:0){c[a+116>>2]=(Fd(a,1,0)|0)>>16;b=0;return b|0}Vd(a,c[a+116>>2]|0);b=1;return b|0}function li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+3936|0;e=d+3104|0;f=d+3088|0;g=d+3080|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;l=d+3112|0;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=d;return 0}_o(3115688,k);if(((yd(b)|0)>0?(m=Jd(b,1,0)|0,m|0):0)?(bu(m)|0)>>>0<=512:0){if((a[m>>0]|0)==47){c[g>>2]=k;c[g+4>>2]=m+1;wt(i,60299,g)|0}else{c[f>>2]=k;c[f+4>>2]=3116712;c[f+8>>2]=m;wt(i,60305,f)|0}_o(i,j);if((a[k>>0]|0)!=46?(bv(j,k)|0)==0:0){Jg(60313,7);Ia=d;return 0}i=Dr(j,97321,l,-1)|0;Fr(l)|0;if(i|0){Jg(60324,7);Ia=d;return 0}if((a[k>>0]|0)==46)Ss(3116712,j,1023)|0;else Ss(3116712,j+(bu(k)|0)|0,1023)|0;a[3117735]=0;if(!(au(3116712,97471)|0))a[3116712]=0;c[e>>2]=3116712;wt(1719968,60344,e)|0;Jg(1719968,12);Ia=d;return 0}c[h>>2]=3116712;wt(1719968,60284,h)|0;Jg(1719968,12);Ia=d;return 0}function mi(a){a=a|0;var b=0,d=0,e=0;b=Ia;Ia=Ia+1024|0;d=b;do if(!((c[742801]|0)==0&(c[780901]|0)!=0)){if((yd(a)|0)<1){Lg(60239);break}e=Jd(a,1,0)|0;if(e|0?(bu(e)|0)>>>0<=512:0)if(!(cp(e)|0)){Lg(60252);break}else{ku(d,rc(e)|0)|0;hs(d)|0;break}}while(0);Ia=b;return 0}function ni(b){b=b|0;var d=0,e=0,f=0;if((c[742800]|0)>0)return 0;$l()|0;if(((yd(b)|0)>0?(d=Jd(b,1,0)|0,(d|0)!=0):0)?(bu(d)|0)>>>0<=1024:0){d=Jd(b,1,0)|0;if(!d)e=0;else{b=(bu(d)|0)>>>0>1024;e=b?0:d}ku(3126573,e)|0}else f=8;if((f|0)==8?(c[780901]|0)==0:0){a[3126573]=0;a[3125548]=0}c[742800]=3;Bg();return 0}function oi(d){d=d|0;var e=0,f=0;c[798798]=17;a[2140800]=0;if(c[780901]|0)return 0;if((yd(d)|0)>0?(Cd(d,1)|0)==4:0){e=Jd(d,1,0)|0;if(!e)f=0;else{d=(bu(e)|0)>>>0>512;f=d?0:e}if(a[f>>0]|0?(a[f+((bu(f)|0)+-1)>>0]|0)==42:0)b[1070400]=42;ub(f);return 0}ub(3196396);return 0}function pi(a){a=a|0;Lg(60221);Nd(a);return 1}function qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+4112|0;e=d+4096|0;f=d+4104|0;g=d+3072|0;h=d+2048|0;i=d+1024|0;j=d;c[f>>2]=255;k=(c[742801]|0)==0;if(k&(c[780901]|0)!=0){Lg(59865);Ia=d;return 0}if(!k){k=0;do{l=c[26544]|0;_k(0,l,k,$k(2971096,c[781999]|0,k)|0);k=k+1|0}while((k|0)!=17152)}if((yd(b)|0)>0?(Cd(b,1)|0)==4:0){k=Jd(b,1,f)|0;if((k|0)==0|(c[f>>2]|0)>>>0>512){Lg(59892);Ia=d;return 0}f=a[k>>0]|0;if(f<<24>>24){if(!(au(k,59910)|0)){bh();tc(c[26544]|0);Ia=d;return 0}if(((au(k,59915)|0?au(k,59921)|0:0)?au(k,59930)|0:0)?au(k,59940)|0:0){b=f;l=k;m=f<<24>>24!=45&1;do{m=b<<24>>24>122|(b<<24>>24==96|((b+-91&255)<4|((b+-58&255)<6|b<<24>>24<45&b<<24>>24!=32)))?0:m;l=l+1|0;b=a[l>>0]|0}while(b<<24>>24!=0);if(m|0?cp(k)|0:0){Vb(rc(k)|0,g);do if((c[742801]|0)==0?Gr(g)|0:0){if(c[798800]|0){c[798800]=0;break}Lg(60158);Jg(60178,14);c[798800]=1;Ia=d;return 0}while(0);if(!(Yb(g)|0)){Ss(3118768,g,1023)|0;a[3119791]=0;Zo(g,h,i,j);c[e>>2]=i;c[e+4>>2]=j;wt(1719968,60195,e)|0;Lg(1719968);Mb(g);Ia=d;return 0}else{Lg(60206);Ia=d;return 0}}Jg(60124,9);Jg(60140,14);Lg(k);Ia=d;return 0}bh();if(!(c[(c[26544]|0)+45856>>2]|0)){Jg(59953,9);Jg(59977,10)}ds(60008,h);if(((Qb(c[26544]|0,h)|0)==0?(ds(60021,g),(Nh(h,g)|0)==0):0)?(ss(g)|0)==0:0){qs();h=Vo(g)|0;if(h|0){Jo(0,h);ps(c[h+12>>2]|0)|0;Cq(h)}Lg(60038);Lg(60067);Ia=d;return 0}Lg(60096);Ia=d;return 0}}ec(1);Mb(3118768);Ia=d;return 0}function ri(a){a=a|0;var b=0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if((yd(a)|0)<=0){Lg(3196396);Jg(59494,12);Lg(3196396);Lg(59503);Lg(59536);Lg(59560);Lg(59584);Lg(59604);Lg(59637);Lg(59669);Jg(59698,14);Lg(3196396);Lg(59731);Jg(67647,12);Lg(3196396);Lg(59744);Lg(59776);Lg(59807);Lg(59836);Lg(3196396);return 0}b=Jd(a,1,0)|0;if((b|0?(bu(b)|0)>>>0<=32:0)?(Cd(a,1)|0)==4:0){il(b);return 0}Jg(59462,13);Jg(62163,6);return 0}function si(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if(nc(59434)|0)return 0;if(lc()|0)Xb(3118768,0)|0;c[780900]=3;c[484608]=0;Bg();return 0}function ti(a){a=a|0;var b=0,e=0,f=0;a=c[781023]|0;b=c[781025]|0;e=c[781024]|0;f=0;do{_k(2971096,c[781999]|0,f+24320|0,d[1792+f>>0]|0);f=f+1|0}while((f|0)!=128);f=Fa(0)|0;zl((Xr()|0)+f|0);c[781023]=a;c[781025]=b;c[781024]=e;jh(16);return 0}function ui(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;if(nc(59380)|0)return 0;if(lc()|0)Xb(3118768,0)|0;c[554811]=1;qv(59410)|0;c[484610]=0;Bg();return 0}function vi(b){b=b|0;var d=0,e=0,f=0;b=Ia;Ia=Ia+3088|0;d=b+3072|0;e=b+1024|0;f=b;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=b;return 0}Zo(3118768,b+2048|0,e,f);if(a[3118768]|0){if(!(a[f>>0]|0)){Ss(f,93459,1023)|0;a[f+1023>>0]=0}c[d>>2]=e;c[d+4>>2]=f;wt(1719968,59272,d)|0;Jg(1719968,14)}bh();d=xq(131072)|0;if(hn(c[c[26544]>>2]|0,d)|0){zq(d);Ia=b;return 0}f=xq(131072)|0;e=Ml(d,f,bu(d)|0)|0;zq(f);f=uh(d)|0;Ng(59283,f,8192,(f|0)<8193?6:9);f=bu(d)|0;Ng(59305,f,65535,f>>>0<65536?6:9);Ng(59326,e,15616,(e|0)<15617?6:9);if(lc()|0)Mg(59347,0,0);if(mc()|0)Mg(59363,0,0);zq(d);Ia=b;return 0}function wi(a){a=a|0;return 0}function xi(a){a=a|0;return 0}function yi(a){a=a|0;mh();Ud(a,33,0);Zd(a,85511);nh(85511);Ud(a,34,0);Zd(a,85042);nh(85042);Ud(a,35,0);Zd(a,85302);nh(85302);Ud(a,36,0);Zd(a,61124);nh(61124);Ud(a,37,0);Zd(a,75588);nh(75588);Ud(a,37,0);Zd(a,61130);Ud(a,38,0);Zd(a,61137);Ud(a,28,0);Zd(a,86860);nh(86860);Ud(a,39,0);Zd(a,75819);nh(75819);Ud(a,40,0);Zd(a,75917);nh(75917);Ud(a,41,0);Zd(a,76068);nh(76068);Ud(a,42,0);Zd(a,90758);Ud(a,23,0);Zd(a,91162);nh(91162);Ud(a,23,0);Zd(a,91165);Ud(a,20,0);Zd(a,59258);Ud(a,21,0);Zd(a,59261);Ud(a,43,0);Zd(a,61150);Ud(a,44,0);Zd(a,61157);Ud(a,45,0);Zd(a,61171);Ud(a,46,0);Zd(a,61185);Ud(a,47,0);Zd(a,91350);Ud(a,48,-3333);Zd(a,8e4);nh(8e4);Ud(a,49,-3333);Zd(a,79995);nh(79995);Ud(a,50,0);Zd(a,76159);nh(76159);Ud(a,10,0);Zd(a,80056);nh(80056);Ud(a,11,0);Zd(a,80416);nh(80416);Ud(a,12,0);Zd(a,84459);nh(84459);Ud(a,12,0);Zd(a,59159);Ud(a,10,0);Zd(a,59142);Ud(a,11,0);Zd(a,59150);Ud(a,51,0);Zd(a,80747);nh(80747);Ud(a,52,0);Zd(a,84696);nh(84696);Ud(a,53,0);Zd(a,79382);nh(79382);Ud(a,54,0);Zd(a,79657);nh(79657);Ud(a,55,-3333);Zd(a,77519);nh(77519);Ud(a,56,-3333);Zd(a,77524);nh(77524);Ud(a,57,0);Zd(a,77690);nh(77690);Ud(a,58,0);Zd(a,77696);nh(77696);Ud(a,59,0);Zd(a,77953);nh(77953);Ud(a,60,0);Zd(a,77958);nh(77958);Ud(a,61,0);Zd(a,77828);nh(77828);Ud(a,62,0);Zd(a,77833);nh(77833);Ud(a,63,0);Zd(a,77378);nh(77378);Ud(a,64,0);Zd(a,78930);nh(78930);Ud(a,65,0);Zd(a,76508);nh(76508);Ud(a,66,0);Zd(a,76657);nh(76657);Ud(a,67,0);Zd(a,77028);nh(77028);Ud(a,68,0);Zd(a,61195);nh(61195);Ud(a,68,0);Zd(a,78116);nh(78116);Ud(a,69,0);Zd(a,78430);nh(78430);Ud(a,70,0);Zd(a,78435);nh(78435);Ud(a,71,0);Zd(a,78564);nh(78564);Ud(a,72,0);Zd(a,78569);nh(78569);Ud(a,73,0);Zd(a,79897);nh(79897);Ud(a,74,0);Zd(a,79902);nh(79902);Ud(a,75,0);Zd(a,94593);nh(94593);Ud(a,76,0);Zd(a,62384);nh(62384);Ud(a,77,0);Zd(a,88683);nh(88683);Ud(a,78,0);Zd(a,81568);nh(81568);Ud(a,79,0);Zd(a,81408);nh(81408);Ud(a,80,0);Zd(a,81788);nh(81788);Ud(a,81,0);Zd(a,82100);nh(82100);Ud(a,82,0);Zd(a,68343);nh(68343);Ud(a,83,-3333);Zd(a,68517);nh(68517);Ud(a,84,-3333);Zd(a,68875);nh(68875);Ud(a,85,-3333);Zd(a,69126);nh(69126);Ud(a,86,-3333);Zd(a,69208);nh(69208);Ud(a,87,-3333);Zd(a,93421);nh(93421);Ud(a,88,-3333);Zd(a,67869);nh(67869);Ud(a,89,-3333);Zd(a,67873);nh(67873);Ud(a,90,-3333);Zd(a,68300);nh(68300);Ud(a,91,-3333);Zd(a,68111);nh(68111);Ud(a,92,-3333);Zd(a,69413);nh(69413);Ud(a,93,-3333);Zd(a,68871);nh(68871);Ud(a,94,-3333);Zd(a,69669);nh(69669);Ud(a,95,-3333);Zd(a,69936);nh(69936);Ud(a,96,-3333);Zd(a,70137);nh(70137);Ud(a,97,-3333);Zd(a,70452);nh(70452);Ud(a,98,-3333);Zd(a,70576);nh(70576);Ud(a,99,-3333);Zd(a,70780);nh(70780);Ud(a,100,-3333);Zd(a,70931);nh(70931);Ud(a,101,-3333);Zd(a,71039);nh(71039);Ud(a,102,-3333);Zd(a,68676);nh(68676);Ud(a,103,-3333);Zd(a,68672);nh(68672);Ud(a,104,0);Zd(a,80854);nh(80854);Ud(a,105,0);Zd(a,80859);nh(80859);Ud(a,106,0);Zd(a,80865);nh(80865);Ud(a,107,-3333);Zd(a,81190);nh(81190);Ud(a,108,-3333);Zd(a,81195);nh(81195);Ud(a,109,-3333);Zd(a,81201);nh(81201);Ud(a,13,0);Zd(a,59167);Ud(a,13,0);Zd(a,89329);nh(89329);Ud(a,25,0);Zd(a,89701);Ud(a,22,0);Zd(a,86293);nh(86293);Ud(a,9,0);Zd(a,86465);nh(86465);Ud(a,27,0);Zd(a,91250);Ud(a,29,0);Zd(a,91017);Ud(a,29,0);Zd(a,59267);Ud(a,30,0);Zd(a,90642);Ud(a,31,0);Zd(a,90290);Ud(a,32,0);Zd(a,90056);Ud(a,26,0);Zd(a,67469);Ud(a,110,0);Zd(a,87727);nh(87727);Ud(a,110,0);Zd(a,87732);Ud(a,111,0);Zd(a,82249);nh(82249);Ud(a,14,0);Zd(a,88915);nh(88915);Ud(a,14,0);Zd(a,59174);Ud(a,112,0);Zd(a,61203);nh(61203);Ud(a,113,0);Zd(a,66739);nh(66739);Ud(a,114,0);Zd(a,67175);nh(67175);Ud(a,115,0);Zd(a,61218);Ud(a,116,0);Zd(a,82643);nh(82643);Ud(a,117,0);Zd(a,83028);nh(83028);Ud(a,118,0);Zd(a,83033);nh(83033);Ud(a,119,0);Zd(a,88284);nh(88284);Ud(a,120,0);Zd(a,83323);nh(83323);Ud(a,121,0);Zd(a,83694);nh(83694);Ud(a,122,0);Zd(a,83827);nh(83827);Ud(a,123,0);Zd(a,84123);nh(84123);Ud(a,7,0);Zd(a,59114);Ud(a,8,0);Zd(a,59124);Ud(a,124,0);Zd(a,94273);nh(94273);Ud(a,4,0);Zd(a,61228);nh(61228);Ud(a,5,0);Zd(a,61233);nh(61233);Ud(a,125,0);Zd(a,61239);nh(61239);Ud(a,126,0);Zd(a,61252);nh(61252);Ud(a,127,0);Zd(a,61265);nh(61265);Ud(a,128,0);Zd(a,61274);nh(61274);Ud(a,129,0);Zd(a,61281);nh(61281);Ud(a,130,0);Zd(a,61288);nh(61288);Ud(a,131,0);Zd(a,61295);nh(61295);Ud(a,132,0);Zd(a,87273);nh(87273);Ud(a,18,0);Zd(a,87264);nh(87264);Ud(a,133,0);Zd(a,87153);nh(87153);Ud(a,134,0);Zd(a,87626);nh(87626);Ud(a,135,0);Zd(a,74182);nh(74182);Ud(a,136,0);Zd(a,74189);nh(74189);Ud(a,17,0);Zd(a,74175);nh(74175);Ud(a,137,0);Zd(a,61302);Ud(a,137,0);Zd(a,61310);Ud(a,138,0);Zd(a,61316);Ud(a,138,0);Zd(a,61326);Ud(a,139,0);Zd(a,61338);Ud(a,140,0);Zd(a,61362);Ud(a,141,0);Zd(a,61378);Ud(a,142,0);Zd(a,61396);Ud(a,143,0);Zd(a,61417);Ud(a,144,0);Zd(a,61426);Ud(a,145,0);Zd(a,61436);Ud(a,6,0);Zd(a,59099);return}function zi(a){a=a|0;var b=0;Yg();a=c[798454]|0;if((a|0)==30){Yg();b=c[798454]|0}else b=a;if((b|0)==15){Yg();Yg()}wb();ol();c[742797]=0;rn();Ag();c[742778]=0;if(c[485657]|0){c[780900]=2;c[781024]=0;c[781023]=0;c[781025]=0}if(!(c[484703]|0)){Bg();return 0}ob(0);Lh(c[742795]|0);Bg();return 0}function Ai(a){a=a|0;Bg();return 0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0;b=$k(2971096,c[781999]|0,24360)|0;d=(($k(2971096,c[781999]|0,24361)|0)<<8)+b|0;b=$k(2971096,c[781999]|0,24362)|0;e=(($k(2971096,c[781999]|0,24363)|0)<<8)+b|0;b=Fd(a,1,0)|0;f=Fd(a,2,0)|0;_k(2971096,c[781999]|0,24360,b>>>16&255);_k(2971096,c[781999]|0,24361,b>>24);_k(2971096,c[781999]|0,24362,f>>>16&255);_k(2971096,c[781999]|0,24363,f>>24);Od(a,d<<16);Od(a,e<<16);return 2}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[781018]|0;d=c[781019]|0;e=c[781020]|0;f=e-b|0;g=c[781021]|0;h=g-d|0;if((yd(a)|0)>3){i=(Fd(a,1,0)|0)>>16;j=(Fd(a,2,0)|0)>>16;k=(Fd(a,3,0)|0)>>16;l=(Fd(a,4,0)|0)>>16;m=k;n=i;o=j}else{l=128;m=128;n=0;o=0}if((yd(a)|0)>4){j=(Id(a,5)|0)==0;c[781018]=n;c[781019]=o;i=n+m|0;c[781020]=i;k=o+l|0;c[781021]=k;if(j){p=k;q=n;r=o;s=i}else{j=(n|0)<(e|0)?n:e;t=(b|0)>(j|0)?b:j;c[781018]=t;j=(o|0)<(g|0)?o:g;u=(d|0)>(j|0)?d:j;c[781019]=u;j=(i|0)<(e|0)?i:e;e=(b|0)>(j|0)?b:j;c[781020]=e;j=(k|0)<(g|0)?k:g;v=e;w=u;x=t;y=(d|0)>(j|0)?d:j;z=7}}else{c[781018]=n;c[781019]=o;j=n+m|0;c[781020]=j;v=j;w=o;x=n;y=o+l|0;z=7}if((z|0)==7){c[781021]=y;p=y;q=x;r=w;s=v}v=(q|0)<128?q:128;c[781018]=(v|0)>0?v:0;v=(r|0)<128?r:128;c[781019]=(v|0)>0?v:0;v=(s|0)<128?s:128;c[781020]=(v|0)>0?v:0;v=(p|0)<128?p:128;c[781021]=(v|0)>0?v:0;Lk();Od(a,b<<16);Od(a,d<<16);Od(a,f<<16);Od(a,h<<16);return 4}function Di(a){a=a|0;var b=0;if((yd(a)|0)>0)b=(Fd(a,1,0)|0)>>16;else b=0;c[781024]=0;c[781025]=0;c[781023]=0;c[781019]=0;c[781018]=0;c[781021]=128;c[781020]=128;Lk();Pn(c[742782]|0,0,0,127,127,b);jh(1024);return 0}function Ei(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ia;Ia=Ia+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=d;return 0}c[g>>2]=0;h=Jd(b,1,g)|0;b=c[g>>2]|0;g=b>>>0>512?0:h;do if(b>>>0<=127){if(g){a[f>>0]=0;if(!(au(g,61990)|0))ds(61150,f);if(!(au(g,61998)|0))ds(3196396,f);if(!(au(g,92888)|0))ds(92888,f);if(!(au(g,94635)|0))fs(3196396,f);if(a[f>>0]|0){h=f+((bu(f)|0)+-1)|0;if((a[h>>0]|0)==47){a[h>>0]=0;i=16}else i=16}}else{c[e>>2]=3115688;c[e+4>>2]=3116712;wt(f,104363,e)|0;i=16}if((i|0)==16?a[f>>0]|0:0)break;Jg(62005,14);Jg(62031,6);Jg(62042,6)}while(0);Ia=d;return 0}function Fi(a){a=a|0;var b=0,d=0,e=0;a=Ia;Ia=Ia+2064|0;b=a+2048|0;d=a+1024|0;e=a;if((c[742801]|0)==0&(c[780901]|0)!=0){Ia=a;return 0}Xb(3118768,0)|0;Zo(3118768,0,d,e);c[b>>2]=d;c[b+4>>2]=e;wt(1719968,61975,b)|0;Lg(1719968);Ia=a;return 0}function Gi(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;en();return 0}function Hi(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;Jg(61947,14);om();fn();pm();return 0}function Ii(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;gm();c[798799]=1;nl();return 0}function Ji(a){a=a|0;if((c[742801]|0)==0&(c[780901]|0)!=0)return 0;Lg(61906);Lg(61930);return 0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2)return 0;e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)!=3){g=Gd(h)|0;f=c[b>>2]|0;if((f|0)>1){i=f;j=g;k=5}else{l=0;m=g}}else{i=d;j=c[h>>2]|0;k=5}do if((k|0)==5){h=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[h+4>>2]|0)==3){l=c[h>>2]|0;m=j;break}else{l=Gd(h)|0;m=j;break}}while(0);j=qk(a,3)|0;wk(c[742782]|0,m-(c[781030]<<16)>>16,l-(c[781031]<<16)>>16,j,c[781038]|0);return 0}function Li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;if((e|0)<2){f=0;return f|0}g=b+8|0;b=c[g>>2]|0;h=0-e|0;i=b+(h<<3)|0;if((c[b+(h<<3)+4>>2]|0)!=3){h=Gd(i)|0;b=c[d>>2]|0;if((b|0)>1){j=b;k=h;l=5}else{m=0;n=h}}else{j=e;k=c[i>>2]|0;l=5}do if((l|0)==5){i=(c[g>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){m=c[i>>2]|0;n=k;break}else{m=Gd(i)|0;n=k;break}}while(0);k=n-(c[781030]<<16)|0;n=k>>16;j=m-(c[781031]<<16)|0;m=j>>16;if(a[3152374]&16?(j|0)>8388607|((k|0)>8388607|(j|k|0)<0):0){f=($k(2971096,c[781999]|0,24411)|0)<<16;return f|0}f=(ao(c[742782]|0,n,m)|0)<<16&983040;return f|0}function Mi(a){a=a|0;var b=0;b=c[781022]|0;if(!(yd(a)|0))c[781022]=6;pk(a,1,1)|0;Od(a,b<<16);return 1}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[781023]|0;d=c[781024]|0;e=c[781022]|0;f=(Fd(a,1,0)|0)>>16;g=(Fd(a,2,0)|0)>>16;c[781023]=f;c[781025]=f;c[781024]=g;pk(a,3,1)|0;Od(a,b<<16);Od(a,d<<16);Od(a,e<<16);return 3}function Oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=d+8|0;g=d+4|0;c[f>>2]=0;h=Cd(b,1)|0;c[g>>2]=0;if((yd(b)|0)>1)i=(Fd(b,2,0)|0)>>16;else i=0;switch(h|0){case 3:{h=Fd(b,1,0)|0;c[f>>2]=h;Od(b,h);j=1;Ia=d;return j|0}case 1:{h=(Id(b,1)|0)==0;Od(b,h?0:(i&2|0)==0?65536:1);j=1;Ia=d;return j|0}case 4:{jh(2);c[g>>2]=1;a:do if(!(i&3))k=18;else{h=Jd(b,1,0)|0;l=a[h>>0]|0;if(!(l<<24>>24))m=0;else{n=l;l=h;h=0;while(1){o=h<<4;p=n<<24>>24;do if((n+-48&255)>=10)if((n+-97&255)<6){q=p+-87|0;break}else{q=(n+-65&255)<6?p+-55|0:0;break}else q=p+-48|0;while(0);p=q|o;l=l+1|0;n=a[l>>0]|0;if(!(n<<24>>24)){m=p;break}else h=p}}switch(i&3){case 3:{c[f>>2]=m;k=23;break a;break}case 1:{c[f>>2]=m<<16;k=23;break a;break}default:{k=18;break a}}}while(0);do if((k|0)==18){if(!(i&2)){c[g>>2]=0;c[f>>2]=Fd(b,1,g)|0;m=c[g>>2]|0;if((i&4|0)==0|(m|0)!=0)r=m;else{c[f>>2]=0;c[g>>2]=1;s=0;break}}else{m=Jd(b,1,0)|0;c[e>>2]=f;Su(m,94793,e)|0;r=c[g>>2]|0}if(!r){j=0;Ia=d;return j|0}else k=23}while(0);if((k|0)==23)s=c[f>>2]|0;Od(b,s);j=1;Ia=d;return j|0}default:{j=0;Ia=d;return j|0}}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=yd(a)|0;l=(Fd(a,1,0)|0)>>16;m=Fd(a,2,0)|0;n=Fd(a,3,0)|0;if(l>>>0>255){Ia=b;return 0}if((k|0)>3){o=Fd(a,4,0)|0;p=Fd(a,5,0)|0;if((k|0)>5){k=Id(a,6)|0;q=k;r=Id(a,7)|0;s=p;t=o}else{q=0;r=0;s=p;t=o}}else{q=0;r=0;s=65536;t=65536}o=t>>13;p=s>>13;if((t|0)<8192|(s|0)<8192){Ia=b;return 0}s=(o|0)<128?o:128;o=(p|0)<128?p:128;p=m-(c[781030]<<16)>>16;m=n-(c[781031]<<16)>>16;n=c[554383]|0;do if(!n)u=10;else{if((c[n>>2]|0)==(s|0)?(c[n+4>>2]|0)==(o|0):0){v=o;w=s;x=n;break}Tn(n)|0;u=10}while(0);if((u|0)==10){u=Sn(s,o,8)|0;c[554383]=u;v=c[u+4>>2]|0;w=c[u>>2]|0;x=u}wq(c[x+12>>2]|0,16,B(v,w)|0);rk(c[(c[781999]|0)+8>>2]|0,c[554383]|0,l<<3&120,l>>>4<<3,0,0,s,o,q,r,3123880);tk(c[554383]|0,c[742782]|0,0,0,p,m,s,o);c[d>>2]=s;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=m;m=0-s|0;if((s|0)<0){c[g>>2]=s;c[d>>2]=m;y=m}else y=s;s=0-o|0;if((o|0)<0){c[h>>2]=o;c[e>>2]=s;z=s}else z=o;c[f>>2]=y;c[f+4>>2]=z;Vn(f,c[742782]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;jh((d|j|0)<0?0:e);Ia=b;return 0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=yd(a)|0;l=(Fd(a,1,0)|0)>>16;m=(Fd(a,2,0)|0)>>16;n=Fd(a,3,0)|0;o=n>>16;p=Fd(a,4,0)|0;q=p>>16;r=Fd(a,5,0)|0;s=Fd(a,6,0)|0;if((k|0)>6){t=(Fd(a,7,0)|0)>>16;u=(Fd(a,8,0)|0)>>16;if((k|0)>8){v=Id(a,9)|0;if((k|0)==9){w=v;x=0;y=u;z=t}else{w=v;x=Id(a,10)|0;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Ia=b;return 0}if((z|0)==0|(y|0)==0){Ia=b;return 0}n=(z|0)<0;p=(r-(c[781030]<<16)>>16)+(n?z:0)|0;r=n?0-z|0:z;z=n?(w|0)==0&1:w;w=(y|0)<0;n=(s-(c[781031]<<16)>>16)+(w?y:0)|0;s=w?0-y|0:y;y=w?(x|0)==0&1:x;x=c[554382]|0;do if(!x)A=11;else{if((c[x>>2]|0)==(o|0)?(c[x+4>>2]|0)==(q|0):0){C=q;D=o;E=x;break}Tn(x)|0;A=11}while(0);if((A|0)==11){A=Sn(o,q,8)|0;c[554382]=A;C=c[A+4>>2]|0;D=c[A>>2]|0;E=A}wq(c[E+12>>2]|0,16,B(C,D)|0);rk(c[(c[781999]|0)+8>>2]|0,c[554382]|0,l,m,0,0,o,q,z,y,3123880);sk(c[554382]|0,c[742782]|0,p,n,r,s);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;F=n}else F=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;G=r}else G=s;c[f>>2]=F;c[f+4>>2]=G;Vn(f,c[742782]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;jh((d|j|0)<0?0:e);Ia=b;return 0}function Ri(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;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=i;l=c[g>>2]|0}else{h=Gd(g)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0}else{g=Gd(h)|0;m=c[b>>2]|0;n=g}if((m|0)>3){g=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[g+4>>2]|0)==3){o=l;p=n;q=c[g>>2]|0;r=j;break}else{o=l;p=n;q=Gd(g)|0;r=j;break}}else{o=l;p=n;q=0;r=j}}else{o=l;p=0;q=0;r=j}}else{o=0;p=0;q=0;r=j}}else{o=0;p=0;q=0;r=0}while(0);j=qk(a,5)|0;a=c[781030]<<16;l=r-a>>16;r=c[781031]<<16;n=o-r>>16;o=p-a>>16;a=q-r>>16;r=xk(c[742782]|0,l,o,n,j)|0;if((a|0)==(n|0))s=r;else s=(xk(c[742782]|0,l,o,a,j)|0)+r|0;r=(a|0)<(n|0);q=r?a:n;p=r?n:a;if((p|0)<=(q|0)){t=s;u=(t|0)/16|0;jh(u);return 0}a=q+1|0;q=p+-1|0;p=(Kk(c[742782]|0,l,a,q,j)|0)+s|0;t=p+(Kk(c[742782]|0,o,a,q,j)|0)|0;u=(t|0)/16|0;jh(u);return 0} 138 + function Vl(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=Ia;Ia=Ia+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Ia=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ia=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;do if(m){if(c[p>>2]|0)c[p>>2]=0;r=Ql(c[i>>2]|0,c[i+12>>2]|0)|0;c[p>>2]=r;if(r|0){s=c[n>>2]|0;break}c[b+64>>2]=7;q=0;Ia=j;return q|0}else{c[p>>2]=0;s=o}while(0);a[l>>0]=44;r=c[s+64>>2]|0;if(!r)nv(44,c[s+56>>2]|0)|0;else Oa[r&7](b,l,1)|0;a[k>>0]=d;r=k+1|0;a[r>>0]=d>>>8;d=c[n>>2]|0;s=c[d+64>>2]|0;if(!s)hv(k,1,2,c[d+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=e;a[r>>0]=e>>>8;e=c[n>>2]|0;s=c[e+64>>2]|0;if(!s)hv(k,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=f;a[r>>0]=f>>>8;s=c[n>>2]|0;e=c[s+64>>2]|0;if(!e)hv(k,1,2,c[s+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;a[k>>0]=g;a[r>>0]=g>>>8;r=c[n>>2]|0;e=c[r+64>>2]|0;if(!e)hv(k,1,2,c[r+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);a:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)nv(h<<24>>24,c[r+56>>2]|0)|0;else Oa[s&7](b,l,1)|0;if((c[i>>2]|0)>0){s=i+12|0;r=l+1|0;h=l+2|0;d=0;while(1){t=c[s>>2]|0;a[l>>0]=a[t+(d*3|0)>>0]|0;a[r>>0]=a[t+(d*3|0)+1>>0]|0;a[h>>0]=a[t+(d*3|0)+2>>0]|0;t=c[n>>2]|0;u=c[t+64>>2]|0;if(!u)v=hv(l,1,3,c[t+56>>2]|0)|0;else v=Oa[u&7](b,l,3)|0;d=d+1|0;if((v|0)!=3)break;if((d|0)>=(c[i>>2]|0))break a}c[b+64>>2]=2;q=0;Ia=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){nv(e<<24>>24,c[d+56>>2]|0)|0;break}else{Oa[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Ia=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)nv(e<<24>>24,c[f+56>>2]|0)|0;else Oa[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<<e;n=f+12|0;c[n>>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<<e;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Wv(c[f+24900>>2]|0,-1,32768)|0;if(!(Wl(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ia=j;return q|0}function Wl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=c[k>>2]|0;n=1;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=hv(j,1,256,c[p+56>>2]|0)|0;else r=Oa[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=m;u=n}m=(c[k>>2]|0)>>>8;c[k>>2]=m;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else n=u}}else v=1;c[h>>2]=0;n=a[j>>0]|0;if(n<<24>>24){m=(n&255)+1|0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)w=hv(j,1,m,c[n+56>>2]|0)|0;else w=Oa[k&7](b,j,m)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)y=hv(j,1,1,c[m+56>>2]|0)|0;else y=Oa[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;m=c[k>>2]|e<<i;c[k>>2]=m;n=(c[g+24>>2]|0)+i|0;c[h>>2]=n;if((n|0)>7){n=g+68|0;l=b+64|0;o=m;m=1;while(1){q=a[n>>0]|0;do if(q<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=hv(n,1,256,c[p+56>>2]|0)|0;else A=Oa[z&7](b,n,256)|0;if((A|0)==((d[n>>0]|0)+1|0)){a[n>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=q;t=32}while(0);if((t|0)==32){t=0;q=B+1<<24>>24;a[n>>0]=q;a[(q&255)+(g+68)>>0]=o;C=m}o=(c[k>>2]|0)>>>8;c[k>>2]=o;q=c[h>>2]|0;c[h>>2]=q+-8;if((q|0)<=15){x=C;break}else m=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<<g;return x|0}function Xl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[a+72>>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=d[b>>0]|0;k=1}else{j=i;k=0}a:do if((k|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=j;r=k;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=w;A=v;B=x;while(1){if((B|0)==(t|0))break;A=A+1&8191;C=c[g+(A<<2)>>2]|0;B=C>>>12;if((B|0)==1048575){y=10;break c}else z=C}D=z&4095}while(0);do if((y|0)==10){y=0;if(!(Wl(a,q)|0)){y=11;break b}x=c[i>>2]|0;if((x|0)>4094){if(!(Wl(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;v=(c[n>>2]|0)+1|0;c[o>>2]=v;c[p>>2]=1<<v;Wv(g|0,-1,32768)|0;D=s;break}c[i>>2]=x+1;v=u;while(1){w=v&8191;E=g+(w<<2)|0;if((c[E>>2]|0)>>>0<4294963200)v=w+1|0;else break}c[E>>2]=x&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=j;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(Wl(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(Wl(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(Wl(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;d=Ia;Ia=Ia+16|0;e=d;f=b+20|0;if(!(Ul(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[f>>2]|0)|0)){g=0;Ia=d;return g|0}h=b+24|0;a:do if((c[h>>2]|0)>0){i=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[i>>2]|0;o=c[n+(m*36|0)+12>>2]|0;p=c[n+(m*36|0)+8>>2]|0;q=n+(m*36|0)+24|0;c:do if(c[q>>2]|0){r=c[n+(m*36|0)+32>>2]|0;s=c[n+(m*36|0)+28>>2]|0;if((r|0)!=0&(s|0)>0){t=s+-1|0;u=0;do{v=r+(u*12|0)|0;w=c[r+(u*12|0)+8>>2]|0;if(w|0){x=c[j>>2]|0;if(!(c[x>>2]&1)){y=13;break b}a[e>>0]=33;a[k>>0]=w;w=c[x+64>>2]|0;if(!w)hv(e,1,2,c[x+56>>2]|0)|0;else Oa[w&7](b,e,2)|0}w=c[v>>2]|0;x=c[r+(u*12|0)+4>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=21;break b}a[e>>0]=w;A=c[z+64>>2]|0;if(!A)nv(w<<24>>24,c[z+56>>2]|0)|0;else Oa[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)hv(x,1,w,c[A+56>>2]|0)|0;else Oa[z&7](b,x,w)|0;if(!((u|0)!=(t|0)?!(c[v+12+8>>2]|0):0)){v=c[j>>2]|0;if(!(c[v>>2]&1)){y=29;break b}a[e>>0]=0;w=c[v+64>>2]|0;if(!w)nv(0,c[v+56>>2]|0)|0;else Oa[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!(Vl(b,c[n+(m*36|0)>>2]|0,c[n+(m*36|0)+4>>2]|0,p,o,(a[s>>0]|0)!=0,c[n+(m*36|0)+20>>2]|0)|0)){g=0;y=118;break b}if(!(a[s>>0]|0)){if((o|0)<=0)break;if(!p){s=0;while(1){u=c[q>>2]|0;t=c[j>>2]|0;if(!(c[t>>2]&1)){y=70;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0<r>>>0){y=72;break b}c[w>>2]=v-r;v=a[92006+(c[t+8>>2]|0)>>0]|0;if((r|0)>0){t=0;do{w=u+t|0;a[w>>0]=a[w>>0]&v;t=t+1|0}while((t|0)!=(r|0))}s=s+1|0;if(!(Xl(b,u,r)|0)){g=0;y=118;break b}if((s|0)>=(o|0))break c}}else{s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(B(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=70;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=72;break b}c[x>>2]=z-p;z=a[92006+(c[w+8>>2]|0)>>0]|0;if(s){w=0;do{x=v+w|0;a[x>>0]=a[x>>0]&z;w=w+1|0}while((w|0)!=(p|0))}t=t+1|0;if(!(Xl(b,v,p)|0)){g=0;y=118;break b}if((t|0)>=(o|0))break c}}}t=(o|0)>0;if(!p){if(!t)break;s=0;do{w=c[q>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}r=c[l>>2]|0;u=z+52|0;x=c[u>>2]|0;if(x>>>0<r>>>0){y=50;break b}c[u>>2]=x-r;x=a[92006+(c[z+8>>2]|0)>>0]|0;if((r|0)>0){z=0;do{u=w+z|0;a[u>>0]=a[u>>0]&x;z=z+1|0}while((z|0)!=(r|0))}if(!(Xl(b,w,r)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0));if((o|0)>4){s=4;do{z=c[q>>2]|0;x=c[j>>2]|0;if(!(c[x>>2]&1)){y=48;break b}v=c[l>>2]|0;u=x+52|0;A=c[u>>2]|0;if(A>>>0<v>>>0){y=50;break b}c[u>>2]=A-v;A=a[92006+(c[x+8>>2]|0)>>0]|0;if((v|0)>0){x=0;do{u=z+x|0;a[u>>0]=a[u>>0]&A;x=x+1|0}while((x|0)!=(v|0))}if(!(Xl(b,z,v)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=2;do{x=c[q>>2]|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=48;break b}r=c[l>>2]|0;w=A+52|0;u=c[w>>2]|0;if(u>>>0<r>>>0){y=50;break b}c[w>>2]=u-r;u=a[92006+(c[A+8>>2]|0)>>0]|0;if((r|0)>0){A=0;do{w=x+A|0;a[w>>0]=a[w>>0]&u;A=A+1|0}while((A|0)!=(r|0))}if(!(Xl(b,x,r)|0)){g=0;y=118;break b}s=s+4|0}while((s|0)<(o|0))}if((o|0)<=1)break;s=1;do{A=c[q>>2]|0;u=c[j>>2]|0;if(!(c[u>>2]&1)){y=48;break b}v=c[l>>2]|0;z=u+52|0;w=c[z>>2]|0;if(w>>>0<v>>>0){y=50;break b}c[z>>2]=w-v;w=a[92006+(c[u+8>>2]|0)>>0]|0;if((v|0)>0){u=0;do{z=A+u|0;a[z>>0]=a[z>>0]&w;u=u+1|0}while((u|0)!=(v|0))}if(!(Xl(b,A,v)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}else{if(!t)break;s=(p|0)>0;u=0;do{w=(c[q>>2]|0)+(B(u,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}x=r+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[x>>2]=z-p;z=a[92006+(c[r+8>>2]|0)>>0]|0;if(s){r=0;do{x=w+r|0;a[x>>0]=a[x>>0]&z;r=r+1|0}while((r|0)!=(p|0))}if(!(Xl(b,w,p)|0)){g=0;y=118;break b}u=u+8|0}while((u|0)<(o|0));if((o|0)>4){u=(p|0)>0;s=4;do{t=(c[q>>2]|0)+(B(s,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}z=r+52|0;v=c[z>>2]|0;if(v>>>0<p>>>0){y=50;break b}c[z>>2]=v-p;v=a[92006+(c[r+8>>2]|0)>>0]|0;if(u){r=0;do{z=t+r|0;a[z>>0]=a[z>>0]&v;r=r+1|0}while((r|0)!=(p|0))}if(!(Xl(b,t,p)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=(p|0)>0;u=2;do{r=(c[q>>2]|0)+(B(u,p)|0)|0;v=c[j>>2]|0;if(!(c[v>>2]&1)){y=48;break b}w=v+52|0;z=c[w>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[w>>2]=z-p;z=a[92006+(c[v+8>>2]|0)>>0]|0;if(s){v=0;do{w=r+v|0;a[w>>0]=a[w>>0]&z;v=v+1|0}while((v|0)!=(p|0))}if(!(Xl(b,r,p)|0)){g=0;y=118;break b}u=u+4|0}while((u|0)<(o|0))}if((o|0)<=1)break;u=(p|0)>0;s=1;do{v=(c[q>>2]|0)+(B(s,p)|0)|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}t=z+52|0;w=c[t>>2]|0;if(w>>>0<p>>>0){y=50;break b}c[t>>2]=w-p;w=a[92006+(c[z+8>>2]|0)>>0]|0;if(u){z=0;do{t=v+z|0;a[t>>0]=a[t>>0]&w;z=z+1|0}while((z|0)!=(p|0))}if(!(Xl(b,v,p)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}}while(0);m=m+1|0;if((m|0)>=(c[h>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==21){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==29){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==48){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==50){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==70){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==72){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==118){Ia=d;return g|0}}while(0);h=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((h|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;i=0;while(1){o=h+(i*12|0)|0;p=c[h+(i*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=87;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)hv(e,1,2,c[q+56>>2]|0)|0;else Oa[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[h+(i*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=95;break}a[e>>0]=p;s=c[n+64>>2]|0;if(!s)nv(p<<24>>24,c[n+56>>2]|0)|0;else Oa[s&7](b,e,1)|0;s=c[l>>2]|0;n=c[s+64>>2]|0;if(!n)hv(q,1,p,c[s+56>>2]|0)|0;else Oa[n&7](b,q,p)|0;if(!((i|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=103;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)nv(0,c[o+56>>2]|0)|0;else Oa[p&7](b,e,1)|0}i=i+1|0;if((i|0)>=(m|0)){C=l;break d}}if((y|0)==87){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==95){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==103){c[b+64>>2]=10;g=0;Ia=d;return g|0}}else C=b+72|0;while(0);y=c[C>>2]|0;do if(y|0?c[y>>2]&1|0:0){C=c[y+56>>2]|0;a[e>>0]=59;m=c[y+64>>2]|0;if(!m)nv(59,C)|0;else Oa[m&7](b,e,1)|0;m=b+48|0;if(c[m>>2]|0)c[m>>2]=0;if(c[f>>2]|0)c[f>>2]=0;if(C|0?Lu(C)|0:0)break;g=1;Ia=d;return g|0}while(0);g=0;Ia=d;return g|0}function Zl(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<<b|0)<(a|0))b=b+1|0;else break;return b|0}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+52|0;f=c[e>>2]|0;a:do if(!f){c[554434]=(c[554434]|0)+36;g=_s(36,1)|0;h=c[554433]|0;c[1462656+(h<<2)>>2]=g;c[554433]=h+((h|0)<16384&1);i=g}else{g=((c[b+24>>2]|0)*36|0)+36|0;h=c[554433]|0;b:do if((h|0)>0){j=0;while(1){k=1462656+(j<<2)|0;if((c[k>>2]|0)==(f|0))break;j=j+1|0;if((j|0)>=(h|0))break b}j=$s(f,g)|0;c[k>>2]=j;i=j;break a}while(0);i=$s(f,g)|0}while(0);c[e>>2]=i;if(!i){l=0;return l|0}f=b+24|0;b=c[f>>2]|0;c[f>>2]=b+1;k=i+(b*36|0)|0;h=k;j=h+36|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));if(!d){l=k;return l|0}h=k;m=d;j=h+36|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(j|0));m=i+(b*36|0)+20|0;if(c[m>>2]|0?(h=c[d+20>>2]|0,j=Ql(c[h>>2]|0,c[h+12>>2]|0)|0,c[m>>2]=j,(j|0)==0):0){j=c[e>>2]|0;if(!j){l=0;return l|0}m=(c[f>>2]|0)+-1|0;c[f>>2]=m;h=j+(m*36|0)+20|0;if(c[h>>2]|0)c[h>>2]=0;h=j+(m*36|0)+32|0;if(!(c[h>>2]|0)){l=0;return l|0}c[h>>2]=0;c[j+(m*36|0)+28>>2]=0;l=0;return l|0}m=d+12|0;j=d+8|0;h=B(c[j>>2]|0,c[m>>2]|0)|0;n=(c[554434]|0)+h|0;c[554434]=n;o=_s(h,1)|0;h=c[554433]|0;c[1462656+(h<<2)>>2]=o;p=h+((h|0)<16384&1)|0;c[554433]=p;c[i+(b*36|0)+24>>2]=o;if(!o){h=c[e>>2]|0;if(!h){l=0;return l|0}q=(c[f>>2]|0)+-1|0;c[f>>2]=q;r=h+(q*36|0)+20|0;if(c[r>>2]|0)c[r>>2]=0;r=h+(q*36|0)+32|0;if(!(c[r>>2]|0)){l=0;return l|0}c[r>>2]=0;c[h+(q*36|0)+28>>2]=0;l=0;return l|0}Vv(o|0,c[d+24>>2]|0,B(c[j>>2]|0,c[m>>2]|0)|0)|0;m=i+(b*36|0)+32|0;if(!(c[m>>2]|0)){l=k;return l|0}b=d+28|0;i=(c[b>>2]|0)*12|0;c[554434]=i+n;n=_s(i,1)|0;c[1462656+(p<<2)>>2]=n;c[554433]=p+((p|0)<16384&1);c[m>>2]=n;if(n|0){Vv(n|0,c[d+32>>2]|0,(c[b>>2]|0)*12|0)|0;l=k;return l|0}k=c[e>>2]|0;if(!k){l=0;return l|0}e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=k+(e*36|0)+20|0;if(c[f>>2]|0)c[f>>2]=0;f=k+(e*36|0)+32|0;if(!(c[f>>2]|0)){l=0;return l|0}c[f>>2]=0;c[k+(e*36|0)+28>>2]=0;l=0;return l|0}function $l(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[798463]=0;Wv(n|0,0,521)|0;if((c[780894]|0)!=1|(c[780901]|0)==0|(a[3120180]|0)==0){o=0;Ia=b;return o|0}if((bu(3120180)|0)>>>0>64){o=0;Ia=b;return o|0}c[l>>2]=3117736;c[l+4>>2]=3120180;wt(m,92015,l)|0;l=Po(m,104706)|0;if(!l){o=1;Ia=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[3120248+(q<<2)>>2];wt(n+p|0,92028,k)|0;a[r>>0]=10;c[j>>2]=c[3120248+((q|1)<<2)>>2];wt(n+(p+8)|0,92028,j)|0;a[r>>0]=10;c[i>>2]=c[3120248+((q|2)<<2)>>2];wt(n+(p+16)|0,92028,i)|0;a[r>>0]=10;c[h>>2]=c[3120248+((q|3)<<2)>>2];wt(n+(p+24)|0,92028,h)|0;a[r>>0]=10;c[g>>2]=c[3120248+((q|4)<<2)>>2];wt(n+(p+32)|0,92028,g)|0;a[r>>0]=10;c[f>>2]=c[3120248+((q|5)<<2)>>2];wt(n+(p+40)|0,92028,f)|0;a[r>>0]=10;c[e>>2]=c[3120248+((q|6)<<2)>>2];wt(n+(p+48)|0,92028,e)|0;a[r>>0]=10;c[d>>2]=c[3120248+((q|7)<<2)>>2];wt(n+(p+56)|0,92028,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);Ho(n,1,520,l)|0;Ro(l);o=0;Ia=b;return o|0}function am(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ia=d;return j|0}if(!((c[780894]|0)==1&(c[780901]|0)!=0)){j=1;Ia=d;return j|0}do if(au(3119920,b)|0){if(a[3119920]|0){if(!(au(3119985,b)|0))break;if(a[3119985]|0){if(!(au(3120050,b)|0))break;if(a[3120050]|0){if(!(au(3120115,b)|0))break;if(!(a[3120115]|0))k=3120115;else{Cb(92033)|0;j=2;Ia=d;return j|0}}else k=3120050}else k=3119985}else k=3119920;ku(k,b)|0}while(0);k=a[b>>0]|0;if(k<<24>>24?(l=bu(b)|0,l>>>0<=64):0){a:do if(l|0){m=k;n=0;b:while(1){o=m<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=n+1|0;if(o>>>0>=l>>>0)break a;m=a[b+o>>0]|0;n=o}Cb(92076)|0;j=2;Ia=d;return j|0}while(0);if(au(3120180,b)|0){$l()|0;Rs(3120180,b)|0}Wv(3120248,0,256)|0;c[f>>2]=3117736;c[f+4>>2]=3120180;wt(g,92015,f)|0;f=Po(g,96074)|0;if(!f){j=1;Ia=d;return j|0}wq(h,0,1024);Fo(h,1,1024,f)|0;Ro(f);wq(i,0,513);f=0;g=0;while(1){b=a[h+f>>0]|0;if((b+-48&255)<10)p=29;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=29;break}default:q=g}if((p|0)==29){p=0;a[i+g>>0]=b;q=g+1|0}f=f+1|0;if(!(f>>>0<1024&(q|0)<512))break;else g=q}q=0;do{c[e>>2]=3120248+(q<<2);Su(i+(q<<3)|0,92028,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ia=d;return j|0}Cb(92059)|0;j=2;Ia=d;return j|0}function bm(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+1024|0;d=b;sc(a,d);if((Ts(a,92099)|0)==0?(Ts(a,92104)|0)==0:0){Lg(92109);Ia=b;return}if((c[780896]|0)==5){cm(d,c[798588]|0);Ia=b;return}else{cm(d,-1);Ia=b;return}}function cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ia;Ia=Ia+1040|0;f=e+1032|0;g=e+1024|0;h=e;i=c[798504]|0;if((d|0)==-1){j=bu(b)|0;a:do if((j|0)>0){k=j+-1|0;l=0;m=0;while(1){if((a[b+m>>0]|0)==37){if((m|0)==(k|0)){n=11;break a}o=m+1|0;if((a[b+o>>0]|0)!=100){n=11;break a}p=l+1|0;q=o}else{p=l;q=m+1|0}if((q|0)<(j|0)){l=p;m=q}else break}if((p|0)==1){r=0;s=63}else n=11}else n=11;while(0);if((n|0)==11){r=i;s=i}if((r|0)>(s|0)){Mb(h);t=32;u=0}else{v=s;w=r;n=14}}else{v=i;w=i;n=14}do if((n|0)==14){i=w;r=0;while(1){x=r+1|0;c[g>>2]=i;wt(h,b,g)|0;if(!(Ts(h,92104)|0))y=0;else{s=Po(h,104706)|0;if(!s)break;dm(s,i,d);y=s}if(Ts(h,92099)|0)em(h,i,d);if(y|0)Ro(y);if((i|0)<(v|0)){i=i+1|0;r=x}else{n=24;break}}if((n|0)==24){Mb(h);t=(r|0)==0?32:115;u=x;break}Lg(92131);Ia=e;return}while(0);c[f>>2]=u;c[f+4>>2]=t;wt(1719968,92151,f)|0;Lg(1719968);Ia=e;return}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[26544]|0;f=e+16+(b*680|0)|0;g=c[e+16+(b*680|0)+8>>2]|0;e=(g|0)<1?32:g<<5;g=xq(366)|0;Wv(g|0,0,366)|0;h=(d|0)==-1;if(h)Mg(92192,b,e);else Mg(92211,d,0);or();lr(0,0);Rq();b=c[26544]|0;if(!h){fr(b,d,0);c[554964]=1;d=0;do{Jq(0,g,366);Ho(g,1,366,a)|0;d=d+1|0}while((nr()|0)!=0&d>>>0<32768);c[554964]=0;or();zq(g);Sq();return}_q(f,b);c[554964]=1;if((e|0)<=0){c[554964]=0;or();zq(g);Sq();return}b=0;do{Jq(0,g,366);Ho(g,1,366,a)|0;nr()|0;b=b+1|0}while((b|0)!=(e|0));c[554964]=0;or();zq(g);Sq();return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=(d|0)==-2;if(f){g=qr()|0;if(!g){Lg(92167);return}else h=g}else{g=Aq(1048576)|0;dm(g,d,e);h=g}g=c[h+16>>2]|0;e=Po(b,104706)|0;if(!e){Lg(92131);return}d=g+36|0;a[3460]=d;a[3461]=d>>>8;a[3462]=d>>>16;a[3463]=d>>>24;a[3496]=g;a[3497]=g>>>8;a[3498]=g>>>16;a[3499]=g>>>24;Ho(3456,1,44,e)|0;Ho(c[h+12>>2]|0,1,g,e)|0;Ro(e);Mb(b);if(f)return;Cq(h);return}function fm(a){a=a|0;em(hc(92222,a)|0,-2,-2);return}function gm(){var a=0,b=0,d=0;c[554435]=0;c[554436]=0;a=1938644;b=1938516;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function hm(){var a=0,b=0,d=0;if((c[554435]|0)>=13)return;a=1938516;b=1938644;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function im(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[554435]|0)<13){a=1938516;d=1938644;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));jm(c[742782]|0)}if(b)c[798799]=0;if((c[554435]|0)<=12)return;c[798799]=0;c[781024]=120;return}function jm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;Pn(b,0,0,127,127,1);Pn(b,4,41,123,124,6);Pn(b,0,0,127,6,7);Bo(b,92226,c[742805]|0,6,1,1,12)|0;g=c[c[742804]>>2]|0;h=c[554435]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;Rn(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[742805]|0;if((c[554435]|0)>12){Bo(b,92244,i,60,12,1,11)|0;Bo(b,92258,c[742805]|0,60,22,1,12)|0;Bo(b,92271,c[742805]|0,60,29,1,12)|0}else{Bo(b,92283,i,60,12,1,6)|0;Bo(b,c[3504+(c[554435]<<2)>>2]|0,c[742805]|0,60,19,1,7)|0;Bo(b,92298,c[742805]|0,60,26,1,13)|0;Bo(b,92314,c[742805]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1938516+(i<<2)>>2]|0;j=c[3504+(i<<2)>>2]|0;if(!g){k=c[3568+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;wt(1719968,92328,f)|0}else{k=(g|0)<255?g:255;g=Or((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;wt(1719968,92328,e)|0}g=a[1719968]|0;if(g<<24>>24){j=g;g=1719968;do{if((j+-65&255)<26)a[g>>0]=(j&255)+32;g=g+1|0;j=a[g>>0]|0}while(j<<24>>24!=0)}if((i|0)==(c[554435]|0)){Pn(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Bo(b,1719968,c[742805]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ia=d;return}function km(){var a=0,b=0,d=0;if(!(c[554436]|0)){c[554436]=1;a=0;do{if(qo(a)|0)c[554436]=0;a=a+1|0}while((a|0)!=512);if((c[554435]|0)<=12)return;c[554436]=0;return}a=0;do{if(qo(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[554435]|0;c[1938516+(d<<2)>>2]=b;c[554436]=0;c[554435]=d+1;if((d|0)>11?no()|0:0)do oo()|0;while((no()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function lm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+16|0;j=i;if(e>>>0>6){Ia=i;return}if(!(ml(e,f)|0))k=(kl(e,f)|0)>128&1;else k=1;Rn(c[(c[c[742804]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[92551+e>>0]|0)+31;a[j+1>>0]=0;Bo(b,j,c[742805]|0,g,k+h|0,1,7)|0;Ia=i;return}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=Ia;Ia=Ia+1056|0;e=d+1024|0;f=d+1040|0;g=d+1036|0;h=d+1032|0;i=d;cs(g,h,d+1028|0);j=c[(c[c[742804]>>2]|0)+984>>2]|0;k=j+4|0;l=(c[j>>2]|0)/2|0;m=64-l|0;n=(c[k>>2]|0)/2|0;o=64-n|0;Hk(b,63-l|0,63-n|0,l+64|0,n+64|0,1);Wn(b,m,o,l+63|0,n+63|0,7);Rn(j,b,0,0,m,o,c[j>>2]|0,c[k>>2]|0);Wv(i|0,0,1024)|0;Rs(i,92558)|0;k=i+256|0;Rs(k,92566)|0;j=i+512|0;Rs(j,92574)|0;n=i+768|0;Rs(n,92582)|0;if(!((c[484629]|c[484630]|c[484631]|c[484632]|0)==0|(c[484629]|0)==80&(c[484630]|0)==79&(c[484631]|0)==82&(c[484632]|0)==81)){Rs(i,92590)|0;l=c[484629]|0;if(l|0){p=(l|0)<255?l:255;l=Or((p|0)>0?p:0)|0;if((l|0)!=0?(bu(l)|0)==1:0){p=a[l>>0]|0;l=p<<24>>24;q=(p+-65&255)<26?l+32|0:l}else q=16;a[i>>0]=q}q=c[484630]|0;if(q|0){l=(q|0)<255?q:255;q=Or((l|0)>0?l:0)|0;if((q|0)!=0?(bu(q)|0)==1:0){l=a[q>>0]|0;q=l<<24>>24;r=(l+-65&255)<26?q+32|0:q}else r=16;a[i+2>>0]=r}r=c[484631]|0;if(r|0){q=(r|0)<255?r:255;r=Or((q|0)>0?q:0)|0;if((r|0)!=0?(bu(r)|0)==1:0){q=a[r>>0]|0;r=q<<24>>24;s=(q+-65&255)<26?r+32|0:r}else s=16;a[i+4>>0]=s}s=c[484632]|0;if(s|0){r=(s|0)<255?s:255;s=Or((r|0)>0?r:0)|0;if((s|0)!=0?(bu(s)|0)==1:0){r=a[s>>0]|0;s=r<<24>>24;t=(r+-65&255)<26?s+32|0:s}else t=16;a[i+6>>0]=t}}if(c[484633]|c[484634]|0){Rs(k,92590)|0;t=c[484633]|0;if(t|0){s=(t|0)<255?t:255;t=Or((s|0)>0?s:0)|0;if((t|0)!=0?(bu(t)|0)==1:0){s=a[t>>0]|0;t=s<<24>>24;u=(s+-65&255)<26?t+32|0:t}else u=16;a[i+256>>0]=u}u=c[484634]|0;if(u|0){t=(u|0)<255?u:255;u=Or((t|0)>0?t:0)|0;if((u|0)!=0?(bu(u)|0)==1:0){t=a[u>>0]|0;u=t<<24>>24;v=(t+-65&255)<26?u+32|0:u}else v=16;a[i+258>>0]=v}}if(c[484635]|c[484636]|c[484637]|c[484638]|0){Rs(j,92590)|0;v=c[484635]|0;if(v|0){u=(v|0)<255?v:255;v=Or((u|0)>0?u:0)|0;if((v|0)!=0?(bu(v)|0)==1:0){u=a[v>>0]|0;v=u<<24>>24;w=(u+-65&255)<26?v+32|0:v}else w=16;a[i+512>>0]=w}w=c[484636]|0;if(w|0){v=(w|0)<255?w:255;w=Or((v|0)>0?v:0)|0;if((w|0)!=0?(bu(w)|0)==1:0){v=a[w>>0]|0;w=v<<24>>24;x=(v+-65&255)<26?w+32|0:w}else x=16;a[i+514>>0]=x}x=c[484637]|0;if(x|0){w=(x|0)<255?x:255;x=Or((w|0)>0?w:0)|0;if((x|0)!=0?(bu(x)|0)==1:0){w=a[x>>0]|0;x=w<<24>>24;y=((w+-65&255)<26?x+32|0:x)&255}else y=16;a[i+516>>0]=y}y=c[484638]|0;if(y|0){x=(y|0)<255?y:255;y=Or((x|0)>0?x:0)|0;if((y|0)!=0?(bu(y)|0)==1:0){x=a[y>>0]|0;y=x<<24>>24;z=((x+-65&255)<26?y+32|0:y)&255}else z=16;a[i+518>>0]=z}}if(c[484639]|c[484640]|0){Rs(n,92590)|0;z=c[484639]|0;if(z|0){y=(z|0)<255?z:255;z=Or((y|0)>0?y:0)|0;if((z|0)!=0?(bu(z)|0)==1:0){y=a[z>>0]|0;z=y<<24>>24;A=((y+-65&255)<26?z+32|0:z)&255}else A=16;a[i+768>>0]=A}A=c[484640]|0;if(A|0){z=(A|0)<255?A:255;A=Or((z|0)>0?z:0)|0;if((A|0)!=0?(bu(A)|0)==1:0){z=a[A>>0]|0;A=z<<24>>24;B=((z+-65&255)<26?A+32|0:A)&255}else B=16;a[i+770>>0]=B}}B=c[742805]|0;Bo(b,i,B,90-((bu(i)|0)<<1)|0,34,1,13)|0;i=c[742805]|0;Bo(b,k,i,90-((bu(k)|0)<<1)|0,44,1,13)|0;k=c[742805]|0;Bo(b,j,k,90-((bu(j)|0)<<1)|0,61,1,13)|0;j=c[742805]|0;Bo(b,n,j,90-((bu(n)|0)<<1)|0,72,1,13)|0;n=m+18|0;j=o+14|0;lm(b,0,0,n,j);k=m+26|0;lm(b,1,0,k,j);i=m+34|0;lm(b,2,0,i,j);B=m+42|0;lm(b,3,0,B,j);j=o+25|0;if(!(ml(4,0)|0))C=(kl(4,0)|0)>128&1;else C=1;Rn(c[(c[c[742804]>>2]|0)+(C+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;A=f+1|0;a[A>>0]=0;Bo(b,f,c[742805]|0,n,C+j|0,1,7)|0;C=m+26|0;if(!(ml(5,0)|0))D=(kl(5,0)|0)>128&1;else D=1;Rn(c[(c[c[742804]>>2]|0)+(D+247<<2)>>2]|0,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;Bo(b,f,c[742805]|0,C,D+j|0,1,7)|0;j=o+41|0;lm(b,0,1,n,j);lm(b,1,1,k,j);lm(b,2,1,i,j);lm(b,3,1,B,j);j=o+52|0;if(!(ml(4,1)|0))E=(kl(4,1)|0)>128&1;else E=1;Rn(c[(c[c[742804]>>2]|0)+(E+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;a[A>>0]=0;Bo(b,f,c[742805]|0,n,E+j|0,1,7)|0;if(ml(5,1)|0){F=1;G=c[742804]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;Rn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[742805]|0;M=F+j|0;Bo(b,f,L,C,M,1,7)|0;N=c[535611]|0;c[e>>2]=N;wt(1719968,92598,e)|0;O=c[742805]|0;P=m+5|0;Q=o+80|0;Bo(b,1719968,O,P,Q,1,13)|0;R=c[742804]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;Rn(U,b,0,0,Y,ba,W,$);Ia=d;return}F=(kl(5,1)|0)>128&1;G=c[742804]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;Rn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[742805]|0;M=F+j|0;Bo(b,f,L,C,M,1,7)|0;N=c[535611]|0;c[e>>2]=N;wt(1719968,92598,e)|0;O=c[742805]|0;P=m+5|0;Q=o+80|0;Bo(b,1719968,O,P,Q,1,13)|0;R=c[742804]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;Rn(U,b,0,0,Y,ba,W,$);Ia=d;return}function nm(b){b=b|0;var c=0,d=0,e=0,f=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((bu(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=d;d=b;do{if((c+-65&255)<26)a[d>>0]=(c&255)+32;d=d+1|0;c=a[d>>0]|0}while(c<<24>>24!=0);c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;c=b;do{if(tb(d<<24>>24)|0){if((a[c>>0]|0)==124){f=95;e=13}}else{f=32;e=13}if((e|0)==13){e=0;a[c>>0]=f}c=c+1|0;d=a[c>>0]|0}while(d<<24>>24!=0);return}function om(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+1056|0;b=a+1024|0;d=a;ds(94185,d);e=Fu(d,96789)|0;if(!e){Ia=a;return}d=c[382608]|0;if((d|0)>0){f=d;d=0;while(1){g=c[382341]|0;if((c[g+(d*696|0)+688>>2]|0)==1){h=c[g+(d*696|0)+644>>2]|0;c[b>>2]=g+(d*696|0)+388;c[b+4>>2]=g+(d*696|0)+516;c[b+8>>2]=h;c[b+12>>2]=g+(d*696|0)+132;c[b+16>>2]=g+(d*696|0)+260;c[b+20>>2]=g+(d*696|0)+4;_u(e,92813,b)|0;i=c[382608]|0}else i=f;d=d+1|0;if((d|0)>=(i|0))break;else f=i}}Lu(e)|0;Ia=a;return}function pm(){var a=0,b=0;a=Ia;Ia=Ia+1024|0;b=a;ds(94185,b);qm(1529360,b);Ia=a;return}function qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+528|0;f=e+520|0;g=e+512|0;h=e;i=Po(d,104528)|0;if(!i){c[g>>2]=d;wt(1715360,92852,g)|0;Cn(1715360);Ia=e;return}a:do if(!(No(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;So(h,511,i)|0;do if((a[h>>0]|0)==124){Bq(c[b>>2]|0,((c[g>>2]|0)*696|0)+696|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*696|0)|0;Wv(n|0,0,696)|0;m=n+688|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;Rs(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;Rs(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;Su(r,94793,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;Rs(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;Rs(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;Rs(n+4|0,q)|0;rm(n);r=sm(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(Ts(p,92808)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(No(i)|0))}while(0);Ro(i);Ia=e;return}function rm(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(bu(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(bu(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(bu(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(bu(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=g;i=e;do{if((h+-65&255)<26)a[i>>0]=(h&255)+32;i=i+1|0;h=a[i>>0]|0}while(h<<24>>24!=0);h=a[e>>0]|0;if(h<<24>>24){i=h;h=e;do{if(!((i+-97&255)<26|(i+-48&255)<10))a[h>>0]=95;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0)}}while(0);if((bu(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){i=f;while(1){h=(bu(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else i=h}h=i;g=e;do{if((h+-65&255)<26)a[g>>0]=(h&255)+32;g=g+1|0;h=a[g>>0]|0}while(h<<24>>24!=0);h=a[e>>0]|0;if(h<<24>>24){g=h;h=e;do{if(tb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(au(c,97411)|0))a[c>>0]=0;if(au(d,97411)|0)return;a[d>>0]=0;return}function sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*696|0)+388>>0]|0)==0:0)?(a[h+(j*696|0)+516>>0]|0)==0:0)?(au(e,h+(j*696|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*696|0)+388|0;if(!(au(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*696|0)+516>>0]|0)==0:0)?(au(e,h+(j*696|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ia;Ia=Ia+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;ds(92888,i);hs(i)|0;c[g>>2]=(a|0)/1e4|0;wt(h,92892,g)|0;ds(h,i);hs(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;wt(1563808,92914,e)|0;Ia=d;return 1563808}else{c[f>>2]=i;c[f+4>>2]=a;wt(1563808,92900,f)|0;Ia=d;return 1563808}return 0}function um(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1563808]=0;Ia=e;return 1563808}c[j>>2]=0;l=bu(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=1;n=m;while(1){o=((a[b+k>>0]|0)+-48&255)>9?0:n;p=k+1|0;if(p>>>0<l>>>0){k=p;n=o}else{q=p;r=o;break}}}else{q=1;r=m}c[j>>2]=q;if(r|0){c[j>>2]=0;c[h>>2]=j;Su(b,94793,h)|0;tm(c[j>>2]|0,d)|0;Ia=e;return 1563808}ds(92888,i);hs(i)|0;ds(92926,i);hs(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;wt(1563808,92951,f)|0;Ia=e;return 1563808}else{c[g>>2]=i;c[g+4>>2]=b;wt(1563808,92936,g)|0;Ia=e;return 1563808}return 0}function vm(a){a=a|0;um(a,0)|0;return 1563808}function wm(a){a=a|0;um(a,1)|0;return 1563808}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;if((bu(d)|0)>>>0<2){a[1564832]=0;Ia=e;return 1564832}else{g=c[484713]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;wt(1564832,92964,f)|0;Ia=e;return 1564832}return 0}function ym(a,b){a=a|0;b=b|0;return (sm(1529360,a,b)|0)!=-1|0}function zm(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(Ts(b,92808)|0)){e=ys(b)|0;if(!e){d=0;return d|0}f=e+45856|0;if(!(c[f>>2]|0)){d=0;return d|0}e=Sn(128,128,8)|0;Gp(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=ap(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=Sn(128,128,32)|0;f=Sn(128,128,8)|0;Gp(e,b,16,24,0,0,128,128);Qk(b,f,c[742761]|0);Tn(e)|0;Tn(b)|0;d=f;return d|0}function Am(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+16|0;e=d;c[554438]=b;c[554439]=0;c[554440]=0;if((b|0)==1){Rs(1546884,93030)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=1;g=f+1|0;c[554439]=g;Rs(1546880+(g*68|0)+4|0,93039)|0;g=c[554439]|0;c[1546880+(g*68|0)>>2]=5;f=g+1|0;c[554439]=f;g=1546880+(f*68|0)+4|0;if(1==1)Rs(g,93047)|0;else Rs(g,93070)|0;g=c[554439]|0;c[1546880+(g*68|0)>>2]=3;f=g+1|0;c[554439]=f;g=1529360;h=c[382609]|0;do if((h|0)>=0?(c[382608]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+688>>2]|0)==1){if((c[382608]|0)<=(h|0)){Wv(2218468,0,696)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+388>>0]|0){if((c[382608]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0;else{Wv(2218468,0,696)|0;j=2218468}c[e>>2]=j+132;wt(1719968,93080,e)|0;Rs(1546880+((c[554439]|0)*68|0)+4|0,1719968)|0;k=c[554439]|0;c[1546880+(k*68|0)>>2]=19;l=k+1|0;c[554439]=l;Rs(1546880+(l*68|0)+4|0,93093)|0;l=c[554439]|0;c[1546880+(l*68|0)>>2]=20;k=l+1|0;c[554439]=k;Rs(1546880+(k*68|0)+4|0,93107)|0;k=c[554439]|0;c[1546880+(k*68|0)>>2]=21;l=k+1|0;c[554439]=l;Rs(1546880+(l*68|0)+4|0,93125)|0;l=c[554439]|0;c[1546880+(l*68|0)>>2]=18;k=l+1|0;c[554439]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Wv(2218468,0,696)|0;i=f}Rs(1546880+(i*68|0)+4|0,93148)|0;i=c[554439]|0;c[1546880+(i*68|0)>>2]=6;f=i+1|0;c[554439]=f;n=c[554438]|0;o=f}else{n=b;o=0}if((n|0)==4){Rs(1546880+(o*68|0)+4|0,93155)|0;b=c[554439]|0;c[1546880+(b*68|0)>>2]=16;f=b+1|0;c[554439]=f;Rs(1546880+(f*68|0)+4|0,93165)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=17;b=f+1|0;c[554439]=b;Rs(1546880+(b*68|0)+4|0,93177)|0;b=c[554439]|0;c[1546880+(b*68|0)>>2]=18;f=b+1|0;c[554439]=f;Rs(1546880+(f*68|0)+4|0,93193)|0;f=c[554439]|0;c[1546880+(f*68|0)>>2]=6;b=f+1|0;c[554439]=b;p=c[554438]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ia=d;return}Rs(1546880+(q*68|0)+4|0,93198)|0;q=c[554439]|0;c[1546880+(q*68|0)>>2]=32;p=q+1|0;c[554439]=p;Rs(1546880+(p*68|0)+4|0,93205)|0;p=c[554439]|0;c[1546880+(p*68|0)>>2]=33;q=p+1|0;c[554439]=q;Rs(1546880+(q*68|0)+4|0,93216)|0;q=c[554439]|0;c[1546880+(q*68|0)>>2]=34;p=q+1|0;c[554439]=p;Rs(1546880+(p*68|0)+4|0,93193)|0;p=c[554439]|0;c[1546880+(p*68|0)>>2]=6;c[554439]=p+1;Ia=d;return}function Bm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1529360;h=c[382609]|0;do if((h|0)<0)Wv(2218468,0,696)|0;else{if((c[382608]|0)<=(h|0)){Wv(2218468,0,696)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0)){Ia=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+688>>2]|0)!=1){Ia=b;return}if((c[382608]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)+388|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*696|0)|0}else{Wv(2218468,0,696)|0;i=2218856;j=2218468}k=Fm(i,j+260|0)|0;if(k|0){l=c[382609]|0;if((l|0)>=0?(c[382608]|0)>(l|0):0)m=(c[(c[382340]|0)+12>>2]|0)+(l*696|0)|0;else{Wv(2218468,0,696)|0;m=2218468}Vv(k|0,m|0,696)|0;l=k+652|0;c[l>>2]=Sn(128,128,8)|0;n=1529360;o=c[382609]|0;if((o|0)>=0?(c[382608]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*696|0)+652>>2]|0){if((c[382608]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*696|0)+652>>2]|0;else{Wv(2218468,0,696)|0;p=0}Gp(p,c[l>>2]|0,0,0,0,0,128,128)}}else Wv(2218468,0,696)|0;o=k+388|0;if(a[o>>0]|0?(ds(93009,e),c[d>>2]=e,c[d+4>>2]=o,wt(f,93021,d)|0,(Gr(f)|0)==0):0)bp(f,c[l>>2]|0)|0;Gm(k)}k=1530436;l=c[k>>2]|0;o=1530432;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1529364;r=0;do{k=c[n>>2]|0;q=k+(r*696|0)+692|0;c[q>>2]=0;c[q>>2]=(sm(1529360,k+(r*696|0)+388|0,k+(r*696|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}om();Ia=b;return}while(0);Wv(2218468,0,696)|0;Ia=b;return}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;wt(l,93277,i)|0;ds(l,k);c[h>>2]=b;wt(l,93297,h)|0;ds(l,1941192)}else{c[j>>2]=b;wt(l,93255,j)|0;ds(l,k);a[1941192]=0}l=c[484711]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=93381;c[g+12>>2]=101;c[g+16>>2]=l;wt(m,93312,g)|0;if(c[484717]|0){Ia=f;return}Rs(1939144,m)|0;Rs(1940168,k)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=0;ms(1939144,1940168,2,3)|0;Ia=f;return}function Dm(a){a=a|0;var b=0;if(!(c[484717]|0))return;if(Gr(1940168)|0)if(Ts(1940168,92808)|0){a=ap(1940168)|0;if(!a)b=3;else{Tn(a)|0;b=2}}else b=2;else b=3;c[484717]=b;return}function Em(a){a=a|0;if(!(c[484717]|0))return;c[484717]=3;return}function Fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=sm(1529360,b,d)|0;if((e|0)!=-1){Tn(c[(c[382341]|0)+(e*696|0)+652>>2]|0)|0;f=(c[382608]|0)+-1|0;g=c[382341]|0;if((e|0)<(f|0)){h=g;i=e;while(1){e=i;i=i+1|0;Vv(h+(e*696|0)|0,h+(i*696|0)|0,696)|0;e=(c[382608]|0)+-1|0;j=c[382341]|0;if((i|0)>=(e|0)){k=j;l=e;break}else h=j}}else{k=g;l=f}Wv(k+(l*696|0)|0,0,696)|0;c[382608]=(c[382608]|0)+-1;m=0;return m|0}Bq(c[382340]|0,((c[382608]|0)*696|0)+696|0)|0;l=c[(c[382340]|0)+12>>2]|0;c[382341]=l;k=c[382608]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*696|0)+688>>2]|0)==1){n=l;break a}h=l+1|0;if((h|0)<(k|0))l=h;else{n=h;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Vv(f+(k*696|0)|0,f+(l*696|0)|0,696)|0;if((l|0)>(n|0)){f=l;do{l=c[382341]|0;h=f;f=f+-1|0;Vv(l+(h*696|0)|0,l+(f*696|0)|0,696)|0}while((f|0)>(n|0))}o=c[(c[382340]|0)+12>>2]|0;p=c[382608]|0}else{o=g;p=k}c[382608]=p+1;p=o+(n*696|0)|0;Wv(p|0,0,696)|0;c[p+688>>2]=1;Rs(p+388|0,b)|0;if(!d){m=p;return m|0}Rs(p+260|0,d)|0;if(!(a[d>>0]|0)){m=p;return m|0}b=p+4|0;if(a[b>>0]|0){m=p;return m|0}Zo(d,0,b,0);d=bu(b)|0;if(d>>>0<=3){m=p;return m|0}b=d+-3+(p+4)|0;if((a[b>>0]|0)!=46){m=p;return m|0}a[b>>0]=0;m=p;return m|0}function Gm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ia;Ia=Ia+1024|0;f=e;Wv(f|0,0,1024)|0;g=c[b+652>>2]|0;if(!g){Ia=e;return}h=b+656|0;if(a[h>>0]|0){Ia=e;return}i=b+657|0;if(a[i>>0]|0){Ia=e;return}j=16384;k=c[g+12>>2]|0;while(1){g=f+(d[k>>0]<<2)|0;c[g>>2]=(c[g>>2]|0)+1;j=j+-1|0;if(!j)break;else k=k+1|0}a[h>>0]=0;a[i>>0]=1;a[b+658>>0]=2;a[b+659>>0]=3;a[b+660>>0]=4;a[b+661>>0]=5;a[b+662>>0]=6;a[b+663>>0]=7;a[b+664>>0]=8;a[b+665>>0]=9;a[b+666>>0]=10;a[b+667>>0]=11;a[b+668>>0]=12;a[b+669>>0]=13;a[b+670>>0]=14;a[b+671>>0]=15;c[f>>2]=16384;i=f+4|0;c[i>>2]=16384;h=f+24|0;c[h>>2]=16384;k=f+28|0;c[k>>2]=16384;j=f+8|0;g=f+12|0;l=f+16|0;m=f+20|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[j>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[g>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+672+v>>0]=x;a[b+656+x>>0]=w}v=v+1|0}while((v|0)!=16);Ia=e;return}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ia;Ia=Ia+1872|0;f=e+1048|0;g=e+1040|0;h=e+1032|0;i=e+1024|0;j=e+1056|0;k=e;l=(au(3116712,93432)|0)==0;m=b+1080|0;c[m>>2]=0;if(l|(bu(3116712)|0)!=0){n=b+1072|0;Bq(c[b>>2]|0,((c[n>>2]|0)*696|0)+696|0)|0;o=c[(c[b>>2]|0)+12>>2]|0;p=b+4|0;c[p>>2]=o;q=c[n>>2]|0;c[n>>2]=q+1;r=o+(q*696|0)|0;Wv(r+4|0,0,692)|0;c[r>>2]=185;a[r+388>>0]=0;Rs(r+4|0,96845)|0;c[r+652>>2]=0;c[r+688>>2]=2;Bq(c[b>>2]|0,((c[n>>2]|0)*696|0)+696|0)|0;r=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=r;p=c[n>>2]|0;c[n>>2]=p+1;n=r+(p*696|0)|0;Wv(n+4|0,0,692)|0;c[n>>2]=178;a[n+388>>0]=0;Rs(n+4|0,93441)|0;s=7;t=n}else{c[m>>2]=1;m=b+1072|0;Bq(c[b>>2]|0,((c[m>>2]|0)*696|0)+696|0)|0;n=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=n;p=c[m>>2]|0;c[m>>2]=p+1;m=n+(p*696|0)|0;Wv(m+4|0,0,692)|0;c[m>>2]=178;a[m+388>>0]=0;Rs(m+4|0,93451)|0;s=2;t=m}c[t+652>>2]=0;c[t+688>>2]=s;c[i>>2]=3115688;c[i+4>>2]=d;wt(k,104363,i)|0;if(l){c[h>>2]=3115688;c[h+4>>2]=d;wt(k,104363,h)|0;ds(92926,k)}if(!(Dr(k,97321,j,-1)|0)){h=j+256|0;d=j+512|0;i=j+516|0;s=b+1072|0;t=b+4|0;m=j+520|0;if(l){do do if((a[h>>0]|0)!=46){if(!(Ts(h,93459)|0)){if(!((c[d>>2]&16384|0)!=0&(c[i>>2]|0)>64))break}else if((c[i>>2]|0)<=64)break;Bq(c[b>>2]|0,((c[s>>2]|0)*696|0)+696|0)|0;p=c[(c[b>>2]|0)+12>>2]|0;c[t>>2]=p;n=c[s>>2]|0;c[s>>2]=n+1;r=p+(n*696|0)|0;Wv(r|0,0,696)|0;c[g>>2]=3116712;c[g+4>>2]=h;wt(k,104363,g)|0;n=r+260|0;kv(n,k,128)|0;c[r+652>>2]=0;p=r+688|0;c[p>>2]=1;q=r+388|0;a[q>>0]=0;c[r+648>>2]=c[m>>2];kv(q,h,(bu(h)|0)+-7|0)|0;if(!(c[d>>2]&16384))u=r+4|0;else{c[r>>2]=181;q=r+4|0;Rs(q,h)|0;c[p>>2]=2;u=q}if(((a[u>>0]|0)==0?(Zo(n,0,u,0),n=bu(u)|0,n>>>0>3):0)?(q=n+-3+(r+4)|0,(a[q>>0]|0)==46):0)a[q>>0]=0}while(0);while(!(Er(j)|0));v=t;w=s}else{do do if((a[h>>0]|0)!=46){if(!(Ts(h,93459)|0)){if(!((c[d>>2]&16384|0)!=0&(c[i>>2]|0)>64))break}else if((c[i>>2]|0)<=64)break;Bq(c[b>>2]|0,((c[s>>2]|0)*696|0)+696|0)|0;u=c[(c[b>>2]|0)+12>>2]|0;c[t>>2]=u;g=c[s>>2]|0;c[s>>2]=g+1;q=u+(g*696|0)|0;Wv(q|0,0,696)|0;c[f>>2]=3116712;c[f+4>>2]=h;wt(k,104363,f)|0;g=q+260|0;kv(g,k,128)|0;c[q+652>>2]=0;u=q+688|0;c[u>>2]=1;a[q+388>>0]=0;c[q+648>>2]=c[m>>2];if(!(c[d>>2]&16384))x=q+4|0;else{c[q>>2]=181;r=q+4|0;Rs(r,h)|0;c[u>>2]=2;x=r}if(((a[x>>0]|0)==0?(Zo(g,0,x,0),g=bu(x)|0,g>>>0>3):0)?(r=g+-3+(q+4)|0,(a[r>>0]|0)==46):0)a[r>>0]=0}while(0);while(!(Er(j)|0));v=t;w=s}}else{v=b+4|0;w=b+1072|0}s=c[v>>2]|0;t=c[w>>2]|0;if(l)cu(s,t,696,2);else cu(s,t,696,3);if((b|0)==1529360){Ia=e;return}if((c[w>>2]|0)<=0){Ia=e;return}b=0;do{t=c[v>>2]|0;s=t+(b*696|0)+692|0;c[s>>2]=0;c[s>>2]=(sm(1529360,t+(b*696|0)+388|0,t+(b*696|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[w>>2]|0));Ia=e;return}function Im(a){a=a|0;var b=0,d=0;b=Mp(a)|0;if(!b)return 0;if((bu(Lp(b,93404,0)|0)|0)>>>0<2){Kp(b);return 0}a=c[382609]|0;if((a|0)>=0?(c[382608]|0)>(a|0):0)d=(c[(c[382340]|0)+12>>2]|0)+(a*696|0)|0;else{Wv(2218468,0,696)|0;d=2218468}Km(d,b);om();Kp(b);return 0}function Jm(b){b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;if(b|0?(bu(b)|0)>>>0>=2:0){if((bu(b)|0)>>>0<2)a[1564832]=0;else{f=c[484713]|0;c[e>>2]=3196396;c[e+4>>2]=f;c[e+8>>2]=b;wt(1564832,92964,e)|0}um(b,0)|0;if(c[484717]|0){Ia=d;return}Rs(1939144,1564832)|0;Rs(1940168,1563808)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=0;ms(1939144,1940168,2,3)|0;Ia=d;return}c[484717]=0;fb(93388,1500);c[780903]=0;Ia=d;return}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Ia=d;return}if((bu(Lp(b,93404,0)|0)|0)>>>0<2){Ia=d;return}Wv(a|0,0,696)|0;Rs(a+4|0,Lp(b,93408,0)|0)|0;Rs(a+132|0,Lp(b,93414,0)|0)|0;Rs(a+388|0,Lp(b,93404,0)|0)|0;Rs(a+516|0,Lp(b,93421,0)|0)|0;f=a+644|0;c[f>>2]=0;g=Lp(b,93425,0)|0;c[e>>2]=f;Su(g,94793,e)|0;c[a+688>>2]=1;rm(a);Ia=d;return}function Lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+4|0;f=(a[e>>0]|0)==91;do if(f)if((a[d+4>>0]|0)==91){g=a[b+5>>0]|0;break}else{h=-1;return h|0}else{i=a[b+5>>0]|0;if(f|i<<24>>24!=91)g=i;else{h=1;return h|0}}while(0);i=(c[b+688>>2]|0)==2;j=(c[d+688>>2]|0)==2;if(i)if(j)k=1;else{h=-1;return h|0}else if(i|j^1)k=j;else{h=1;return h|0}j=(c[d+648>>2]|0)-(c[b+648>>2]|0)|0;if(j|0){h=j;return h|0}j=d+4|0;l=au(e,j)|0;if(f){if((a[j>>0]|0)!=91){h=-1;return h|0}}else if(g<<24>>24==91){h=1;return h|0}if(i){if(!k){h=-1;return h|0}}else if(k){h=1;return h|0}h=(l|0)==0?(b>>>0<d>>>0?1:-1):l;return h|0}function Mm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+4|0;f=d+4|0;g=au(e,f)|0;h=(a[e>>0]|0)==91;if(h){if((a[f>>0]|0)!=91){i=-1;return i|0}}else if(!(h|(a[b+5>>0]|0)!=91)){i=1;return i|0}h=(c[b+688>>2]|0)==2;f=c[d+688>>2]|0;if(h){if((f|0)!=2){i=-1;return i|0}}else if(!(h|(f|0)!=2)){i=1;return i|0}return ((g|0)==0?(b>>>0<d>>>0?1:-1):g)|0}function Nm(){return}function Om(a,b,d){a=a|0;b=b|0;d=d|0;if(c[484717]|0)return;Rs(1939144,a)|0;Rs(1940168,b)|0;c[484717]=1;c[484718]=Xr()|0;c[484719]=d;ms(1939144,1940168,2,3)|0;return}function Pm(a){a=a|0;c[484717]=0;if(a|0)fb(a,1500);c[780903]=0;return}function Qm(){return 101}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ia;Ia=Ia+48|0;g=f+24|0;h=f+16|0;i=f;j=f+36|0;k=f+32|0;l=f+28|0;m=ap(d)|0;d=b+8|0;n=(au(c[d>>2]|0,92689)|0)==0;o=n^1;p=b+1080|0;c[p>>2]=0;q=(e|0)!=0;do if(q)r=15;else{if(!m){e=b+1072|0;if((c[e>>2]|0)==0&o){s=e;r=6}else{t=1;Ia=f;return t|0}}else{if(n)break;e=b+1072|0;u=c[e>>2]|0;if((u|0)>0){v=b+4|0;w=u;u=0;while(1){x=c[(c[v>>2]|0)+(u*696|0)+652>>2]|0;if(!x)y=w;else{Tn(x)|0;y=c[e>>2]|0}u=u+1|0;if((u|0)>=(y|0)){z=v;A=e;break}else w=y}}else{s=e;r=6}}if((r|0)==6){z=b+4|0;A=s}c[A>>2]=0;Bq(c[b>>2]|0,696)|0;w=c[(c[b>>2]|0)+12>>2]|0;c[z>>2]=w;v=c[A>>2]|0;c[A>>2]=v+1;u=w+(v*696|0)|0;Wv(u+4|0,0,692)|0;c[u>>2]=178;a[u+388>>0]=0;v=u+4|0;if(!(au(c[d>>2]|0,92682)|0)){Rs(v,93463)|0;B=6}else{Rs(v,93472)|0;B=3}c[p>>2]=1;c[u+688>>2]=B;c[u+652>>2]=0;r=15}while(0);if((r|0)==15){if(!m){t=1;Ia=f;return t|0}if((q?(q=b+1072|0,B=c[q>>2]|0,(B|0)>0):0)?(p=c[b+4>>2]|0,d=B+-1|0,(c[p+(d*696|0)+688>>2]|0)==5):0){Wv(p+(d*696|0)|0,0,696)|0;c[q>>2]=(c[q>>2]|0)+-1}}if((c[m>>2]|0)==1024?(c[m+4>>2]|0)==544:0){q=m+16|0;d=b+1072|0;p=b+4|0;B=0;A=0;while(1){z=(B>>>3)*136|0;s=B<<7&896;y=(c[(c[q>>2]|0)+(z+128<<2)>>2]|0)+(s<<2)+1|0;c[l>>2]=0;c[k>>2]=0;c[j>>2]=0;Wv(1565856,0,1024)|0;n=0;do{a[1565856+n>>0]=a[y+(n<<2)>>0]|0;n=n+1|0}while((n|0)!=128);c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=l;Su(1565856,93481,i)|0;if(!(c[j>>2]|0))C=1;else{Bq(c[b>>2]|0,((c[d>>2]|0)*696|0)+696|0)|0;n=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=n;e=c[d>>2]|0;c[d>>2]=e+1;o=n+(e*696|0)|0;Wv(o|0,0,696)|0;c[o+644>>2]=c[l>>2];e=y+(c[m>>2]<<2)|0;Wv(1565856,0,1024)|0;n=0;do{a[1565856+n>>0]=a[e+(n<<2)>>0]|0;n=n+1|0}while((n|0)!=128);n=o+4|0;kv(n,1565856,128)|0;e=y+(c[m>>2]<<3)|0;Wv(1565856,0,1024)|0;u=0;do{a[1565856+u>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=128);u=o+132|0;kv(u,1565856,128)|0;e=y+((c[m>>2]|0)*12|0)|0;Wv(1565856,0,1024)|0;v=0;do{a[1565856+v>>0]=a[e+(v<<2)>>0]|0;v=v+1|0}while((v|0)!=128);v=o+388|0;kv(v,1565856,128)|0;e=y+(c[m>>2]<<4)|0;Wv(1565856,0,1024)|0;w=0;do{a[1565856+w>>0]=a[e+(w<<2)>>0]|0;w=w+1|0}while((w|0)!=128);w=o+516|0;kv(w,1565856,128)|0;if(!(a[v>>0]|0)){c[h>>2]=c[j>>2];wt(v,94793,h)|0}if(!(a[w>>0]|0)){c[g>>2]=c[k>>2];wt(w,94793,g)|0}w=a[n>>0]|0;a:do if(w<<24>>24){e=w;while(1){y=n+((bu(n)|0)+-1)|0;if((a[y>>0]|0)!=32)break;a[y>>0]=0;y=a[n>>0]|0;if(!(y<<24>>24))break a;else e=y}y=e;x=n;do{if((y+-65&255)<26)a[x>>0]=(y&255)+32;x=x+1|0;y=a[x>>0]|0}while(y<<24>>24!=0);y=a[n>>0]|0;if(y<<24>>24){x=y;y=n;do{if(tb(x<<24>>24)|0){if((a[y>>0]|0)==124){D=95;r=51}}else{D=32;r=51}if((r|0)==51){r=0;a[y>>0]=D}y=y+1|0;x=a[y>>0]|0}while(x<<24>>24!=0)}}while(0);n=a[u>>0]|0;b:do if(n<<24>>24){w=n;while(1){x=u+((bu(u)|0)+-1)|0;if((a[x>>0]|0)!=32)break;a[x>>0]=0;x=a[u>>0]|0;if(!(x<<24>>24))break b;else w=x}x=w;y=u;do{if((x+-65&255)<26)a[y>>0]=(x&255)+32;y=y+1|0;x=a[y>>0]|0}while(x<<24>>24!=0);x=a[u>>0]|0;if(x<<24>>24){y=x;x=u;do{if(!((y+-97&255)<26|(y+-48&255)<10))a[x>>0]=95;x=x+1|0;y=a[x>>0]|0}while(y<<24>>24!=0)}}while(0);if((bu(u)|0)>>>0>16)a[u+16>>0]=0;c[o+688>>2]=1;if(!(c[554441]|0))Wv(1547424,0,16384)|0;c[554441]=1;if((bu(v)|0)>>>0>=2?(um(v,0)|0,(Gr(1563808)|0)==0):0){ku(1547424+(c[554442]<<6)|0,v)|0;c[554442]=((c[554442]|0)+1|0)%256|0}n=Sn(128,128,32)|0;y=o+652|0;c[y>>2]=Sn(128,128,8)|0;Gp(m,n,s,z,0,0,128,128);Qk(n,c[y>>2]|0,c[742761]|0);Tn(n)|0;Gm(o);C=A}B=B+1|0;if((B|0)==32)break;else A=C}A=c[d>>2]|0;if((C|0)==0&(A|0)>1){Bq(c[b>>2]|0,(A*696|0)+696|0)|0;A=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=A;C=c[d>>2]|0;c[d>>2]=C+1;B=A+(C*696|0)|0;Wv(B+4|0,0,692)|0;c[B>>2]=178;a[B+388>>0]=0;Rs(B+4|0,93490)|0;C=B+652|0;c[C>>2]=0;c[C>>2]=Sn(128,128,8)|0;c[B+688>>2]=5}Tn(m)|0;c[b+1084>>2]=0;if((b|0)==1529360){t=0;Ia=f;return t|0}if((c[d>>2]|0)<=0){t=0;Ia=f;return t|0}b=0;do{B=c[p>>2]|0;C=B+(b*696|0)+692|0;c[C>>2]=0;c[C>>2]=(sm(1529360,B+(b*696|0)+388|0,B+(b*696|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[d>>2]|0));t=0;Ia=f;return t|0}Tn(m)|0;t=2;Ia=f;return t|0}function Sm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Mp(b)|0;if(!d){e=0;return e|0}um(Lp(d,93404,0)|0,0)|0;f=(bu(Lp(d,93404,0)|0)|0)>>>0<2;Kp(d);if(f|(c[798799]|0)==0){e=0;return e|0}if(Eg()|0){e=0;return e|0}f=c[382609]|0;if((f|0)>=0?(c[382608]|0)>(f|0):0){if(!(a[(c[(c[382340]|0)+12>>2]|0)+(f*696|0)+132>>0]|0))g=8}else{Wv(2218468,0,696)|0;g=8}if((g|0)==8)Im(b)|0;if(!(au(1563808,3118768)|0)){e=0;return e|0}b=bu(1563808)|0;g=1563808+b|0;a:do if((b|0)>0){f=g;while(1){if((a[f>>0]|0)==45){h=f;break a}d=f+-1|0;if(d>>>0>1563808>>>0)f=d;else{h=d;break}}}else h=g;while(0);if(tt(1563808,3118768,h-1563808|0)|0){e=0;return e|0}c[485559]=1;e=1;return e|0}function Tm(){return c[382614]|0}function Um(b){b=b|0;var d=0,e=0,f=0;d=1530460+(c[382631]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?58:97;a[d>>0]=f;return}else{f=a[93502+((40-b+(e<<24>>24==58?39:e<<24>>24==45?38:e<<24>>24==95?37:e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%40|0)>>0]|0;a[d>>0]=f;return}}function Vm(){Xr()|0;return}function Wm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=c[382614]|0;if(g|0){h=bu(1530460)|0;do if((g|0)==1){if((qo(82)|0)!=3?(qo(81)|0)!=3:0){if((c[382614]|0)!=1)break;if(!((b|0)==13|(tb(b)|0)!=0))break;c[382614]=2;break}c[382614]=3}while(0);g=(b|0)==-1;if(g){if((qo(80)|0)==3){i=bu(1530460)|0;j=1530524;k=(c[j>>2]|0)+-1|0;l=(k|0)<(i|0)?k:i;c[j>>2]=(l|0)>0?l:0}if((qo(79)|0)==3){l=bu(1530460)|0;j=1530524;i=c[j>>2]|0;if((i|0)==(l|0)&(i|0)<21){a[1530460+l>>0]=32;k=(c[j>>2]|0)+1|0;c[j>>2]=k;a[1530460+k>>0]=0;m=c[j>>2]|0;n=l+1|0}else{m=i;n=l}l=m+1|0;m=(l|0)<(n|0)?l:n;c[j>>2]=(m|0)>0?m:0}}else if((b|0)==27)c[382614]=0;a:do if((c[382614]|0)==2){if((h|0)<22&(tb(b)|0)!=0){m=1530524;j=c[m>>2]|0;if((j|0)<22){n=22;do{l=n;n=n+-1|0;a[1530460+l>>0]=a[1530460+n>>0]|0;l=c[m>>2]|0}while((n|0)>(l|0));o=l}else o=j;a[1530482]=0;a[1530460+o>>0]=b;c[m>>2]=(c[m>>2]|0)+1;c[382614]=2;break}switch(b|0){case 8:case 127:{p=26;break}default:if((qo(76)|0)==3)p=26}if((p|0)==26?(c[382631]|0)>0:0){n=(qo(76)|0)==3;l=1530524;i=c[l>>2]|0;if(n)q=i;else{n=i+-1|0;c[l>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){l=n;n=n+1|0;a[1530460+l>>0]=a[1530460+n>>0]|0;if((l|0)>=21)break a}}if((b|0)==13){c[f>>2]=1530460;wt(1529372,93232,f)|0;Cm(c[382342]|0,1529372,0);Rs(1530400,1530460)|0;c[382614]=0;nl();break}if(g){if((qo(80)|0)==3){n=bu(1530460)|0;m=1530524;j=(c[m>>2]|0)+-1|0;l=(j|0)<(n|0)?j:n;c[m>>2]=(l|0)>0?l:0}if((qo(79)|0)==3){l=bu(1530460)|0;m=1530524;n=c[m>>2]|0;if((n|0)==(l|0)&(n|0)<21){a[1530460+l>>0]=32;j=(c[m>>2]|0)+1|0;c[m>>2]=j;a[1530460+j>>0]=0;r=c[m>>2]|0;s=l+1|0}else{r=n;s=l}l=r+1|0;n=(l|0)<(s|0)?l:s;c[m>>2]=(n|0)>0?n:0}}}while(0);if((c[382614]|0)!=3){Ia=d;return}if(ml(2,0)|0)Um(-1);if(ml(3,0)|0)Um(1);if(!((ml(4,0)|0)==0?!(ml(5,0)|0):0)){c[e>>2]=1530460;wt(1529372,93232,e)|0;Cm(c[382342]|0,1529372,0);Rs(1530400,1530460)|0;c[382614]=0;nl()}if(!(ml(6,0)|0)){Ia=d;return}c[382614]=0;c[781181]=1;fb(93543,1e3);Ia=d;return}do if((b|0)==27){if((c[484717]|0)>0){c[484717]=0;fb(93553,1500);c[780903]=0;p=63;break}e=c[554438]|0;s=(e|0)==0;if((c[484608]|0)!=0&s){r=(c[554791]|0)==0&1;c[554791]=r;t=r;break}if(s){c[798799]=0;Tg();p=63;break}if((e|0)==1){c[554438]=0;p=63;break}if((e|1|0)==5){c[554438]=1;u=1}else u=e;Am(u);p=63}else p=63;while(0);if((p|0)==63)t=c[554791]|0;if(t|0){Ia=d;return}if(!((b|0)!=102|1==1))if(!(ll(9)|0)){Bm();Xr()|0;p=69}else p=69;else switch(b|0){case 8:case 127:{v=1;p=71;break}default:p=69}if((p|0)==69)if((qo(76)|0)==3?(ll(76)|0)==0:0){v=1;p=71}else p=73;if((p|0)==71){b=c[554438]|0;if((v|0)==1&(b|0)==0){Bm();Xr()|0;p=73}else w=b}if((p|0)==73)w=c[554438]|0;p=(qo(75)|0)!=0;if(!w){if(p?(ll(75)|0)==0:0){w=1530436;b=(c[w>>2]|0)+-6|0;v=c[382608]|0;t=(v|0)<1?0:v+-1|0;v=(b|0)<(t|0)?b:t;c[w>>2]=(v|0)>0?v:0}if(qo(78)|0?(ll(78)|0)==0:0){v=1530436;w=(c[v>>2]|0)+6|0;t=c[382608]|0;b=(t|0)<1?0:t+-1|0;t=(w|0)<(b|0)?w:b;c[v>>2]=(t|0)>0?t:0}if(qo(74)|0?(ll(74)|0)==0:0)c[382609]=0;if(!(qo(77)|0)){Ia=d;return}if(ll(77)|0){Ia=d;return}t=c[382608]|0;v=t+-1|0;b=(t|0)<1?0:v;t=(v|0)<(b|0)?v:b;c[382609]=(t|0)>0?t:0;Ia=d;return}else{if(p?(ll(75)|0)==0:0){p=(c[554440]|0)+-4|0;t=(c[554439]|0)+-1|0;b=(p|0)<(t|0)?p:t;c[554440]=(b|0)>0?b:0}if(qo(78)|0?(ll(78)|0)==0:0){b=(c[554440]|0)+4|0;t=(c[554439]|0)+-1|0;p=(b|0)<(t|0)?b:t;c[554440]=(p|0)>0?p:0}if(qo(74)|0?(ll(74)|0)==0:0)c[554440]=0;if(!(qo(77)|0)){Ia=d;return}if(ll(77)|0){Ia=d;return}c[554440]=(c[554439]|0)+-1;Ia=d;return}}function Xm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+2064|0;d=b+2048|0;e=b+1024|0;f=b;if(c[554792]|0){Ia=b;return}c[554792]=1;Wv(2217772,0,696)|0;Cn(93572);if(c[554437]|0){Ia=b;return}c[554437]=8;Wv(1528192,0,18688)|0;g=0;do{h=Aq(696)|0;i=1528192+(g*1168|0)|0;c[i>>2]=h;j=c[h+12>>2]|0;c[1528192+(g*1168|0)+4>>2]=j;Wv(j|0,0,696)|0;c[1528192+(g*1168|0)+1080>>2]=0;c[1528192+(g*1168|0)+1084>>2]=0;Rs(1528192+(g*1168|0)+1040|0,c[3632+(g<<2)>>2]|0)|0;j=1528192+(g*1168|0)+1036|0;c[j>>2]=g+187;h=c[3664+(g<<2)>>2]|0;c[1528192+(g*1168|0)+8>>2]=h;if(c[484609]|0)c[j>>2]=178;switch(g&2147483647|0){case 0:{j=1528192+(g*1168|0)+12|0;a[j>>0]=0;Rs(j,c[3696+(g<<2)>>2]|0)|0;break}case 1:{ds(94185,f);qm(i,f);j=1528192+(g*1168|0)+12|0;a[j>>0]=0;Rs(j,c[3696+(g<<2)>>2]|0)|0;Rs(j,93585)|0;break}default:{c[d>>2]=h;wt(e,93297,d)|0;ds(e,f);Rm(i,f,0)|0;i=1528192+(g*1168|0)+12|0;a[i>>0]=0;Rs(i,c[3696+(g<<2)>>2]|0)|0;if((g|0)==7)Rs(i,3196396)|0}}g=g+1|0}while((g|0)<(c[554437]|0));Ia=b;return}function Ym(){var a=0,b=0,d=0,e=0,f=0,g=0;Xm();c[485554]=0;a=c[382316]|0;if((a|0)>0){b=a;a=0;while(1){d=c[(c[382049]|0)+(a*696|0)+652>>2]|0;if(!d)e=b;else{Tn(d)|0;e=c[382316]|0}a=a+1|0;if((a|0)>=(e|0))break;else b=e}}c[382316]=0;Hm(1528192,3116712);e=1530436;b=c[e>>2]|0;a=1530432;d=c[a>>2]|0;f=(d|0)<1?0:d+-1|0;g=(b|0)<(f|0)?b:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(d|0)>0)){Xr()|0;c[554791]=0;return}d=1529364;g=0;do{e=c[d>>2]|0;f=e+(g*696|0)+692|0;c[f>>2]=0;c[f>>2]=(sm(1529360,e+(g*696|0)+388|0,e+(g*696|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[a>>2]|0));Xr()|0;c[554791]=0;return}function Zm(){return}function _m(a){a=a|0;Km(2217772,a);return}function $m(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1024|0;d=b;a[1566880]=0;Zo(3118768,0,d,0);Rs(1566880,d)|0;if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0)Rs(1566880,2217776)|0;Rs(1566880,_a()|0)|0;d=a[1566880]|0;if(!(d<<24>>24)){Rs(1566880,93616)|0;e=a[1566880]|0;if(!(e<<24>>24)){Ia=b;return 1566880}else f=e}else f=d;d=f;f=1566880;do{a:do if(!((d+-48&255)<10|((d&-33)+-65&255)<26)){switch(d<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[f>>0]=32}while(0);f=f+1|0;d=a[f>>0]|0}while(d<<24>>24!=0);Ia=b;return 1566880}function an(){return}function bn(){return}function cn(a,b){a=a|0;b=b|0;ma(23,a|0,b|0)|0;return}function dn(a){a=a|0;var b=0;b=la(24,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function en(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+528|0;b=a+512|0;d=a;e=c[(c[c[742802]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Lo(3196396,e)|0;Jg(94121,14);a:do if(93768){e=3728;g=0;while(1){h=c[(c[f>>2]|0)+(g<<2)>>2]|0;c[b>>2]=3115688;c[b+4>>2]=94154;wt(d,104363,b)|0;hs(d)|0;lu(d,c[e>>2]|0)|0;i=Po(d,96789)|0;if(!i)break;Ho(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Ro(i);Lg(c[e>>2]|0);g=g+1|0;e=3728+(g<<2)|0;if(!(c[e>>2]|0))break a}Jg(94161,8);Ia=a;return}while(0);jo(f);Ia=a;return}function fn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Ia;Ia=Ia+1040|0;b=a+1024|0;d=a;ds(94185,d);e=c[(c[c[742802]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=Lo(3196396,e)|0;a:do if(93881){e=93881;g=1;while(1){h=c[(c[f>>2]|0)+(g<<2)>>2]|0;Rs(d,vm(e)|0)|0;i=Po(d,104706)|0;if(!i)break;j=h+12|0;k=h+16|0;Ho(c[j>>2]|0,1,c[k>>2]|0,i)|0;Ro(i);Lg(c[3872+(g<<2)>>2]|0);c[b>>2]=3115688;c[b+4>>2]=94200;wt(d,104363,b)|0;hs(d)|0;lu(d,c[3840+(g<<2)>>2]|0)|0;i=Po(d,104706)|0;Ho(c[j>>2]|0,1,c[k>>2]|0,i)|0;Ro(i);g=g+1|0;e=c[3792+(g<<2)>>2]|0;if(!e)break a}Jg(94161,8);Ia=a;return}while(0);jo(f);Ia=a;return}function gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;e=Aq((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;Ho(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[26544]|0;if((c[d+12>>2]|0)==(a|0)){Go(1,e);f=c[c[766827]>>2]|0;if(!f)Go(0,e);else{Go(c[f>>2]|0,e);g=f+4|0;Go(c[g>>2]|0,e);Ho(c[f+12>>2]|0,1,B(c[g>>2]|0,c[f>>2]|0)|0,e)|0}f=c[(c[766827]|0)+4>>2]|0;if(!f)Go(0,e);else{Go(c[f>>2]|0,e);g=f+4|0;Go(c[g>>2]|0,e);Ho(c[f+12>>2]|0,1,B(c[g>>2]|0,c[f>>2]|0)|0,e)|0}Go(c[(c[766827]|0)+8>>2]|0,e);Go(c[(c[766827]|0)+12>>2]|0,e);Go(c[798499]|0,e);Go(c[798500]|0,e);Go(c[798489]|0,e);Go(c[798490]|0,e);Go(c[798487]|0,e);Go(c[798496]|0,e);h=c[26544]|0}else h=d;if((c[h+4>>2]|0)!=(a|0)){i=c[798499]|0;Go(i,e);j=c[798500]|0;Go(j,e);Go(b,e);return e|0}Go(0,e);Ho((c[26544]|0)+44832|0,1,256,e)|0;a=c[c[766828]>>2]|0;Ho(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;Go(c[798472]|0,e);Go(c[798491]|0,e);Go(c[798492]|0,e);Go(c[798473]|0,e);Go(c[798474]|0,e);Go(c[798486]|0,e);Go(c[798471]|0,e);Go(c[798497]|0,e);i=c[798499]|0;Go(i,e);j=c[798500]|0;Go(j,e);Go(b,e);return e|0}function hn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=vq(262144)|0;a:do if(a[b>>0]|0){e=1;f=b;g=1;while(1){a[d>>0]=0;if(a[f>>0]|0){if(!e)h=rh(f)|0;else h=sh(f)|0;i=th()|0;j=h-f|0;Vv(d|0,f|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=h;k=j;while(1){j=rh(i)|0;l=th()|0;m=j-i|0;Vv(d+k|0,i|0,m|0)|0;k=m+k|0;a[d+k>>0]=0;if(!((l|1|0)!=-999&(a[j>>0]|0)!=0)){n=0;o=j;break}else i=j}}else{n=0;o=h}}else{n=e;o=f}i=d;b:while(1){switch(a[i>>0]|0){case 32:case 9:break;default:break b}i=i+1|0}if(!(ut(i,94207,9)|0))break;lu(c,d)|0;k=(a[o>>0]|0)!=0;if(g>>>0<65536&k){e=n;f=o;g=g+(k&1)|0}else break a}Jg(94217,6);zq(d);p=1;return p|0}while(0);zq(d);p=0;return p|0}function jn(){return 0}function kn(a){a=a|0;return 0}function ln(a){a=a|0;return 0}function mn(a){a=a|0;return 0}function nn(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;g=c[555247]|0;h=(g|0)<256?g:256;g=(h|0)>0?h:0;h=c[554800]|0;i=c[554801]|0;if(!((h|0)!=0&(i|0)!=0&(c[554964]|0)==0))return;j=(f|0)>0;if(!j)return;k=c[554802]|0;if(!(a[3152374]&32)){l=h;m=k;n=0;o=c[554803]|0;while(1){do if(!m)if((l|0)>0){p=c[554799]|0;q=d[i+p>>0]|0;c[8731]=q;c[554799]=p+1&2047;p=l+-1|0;c[554800]=p;r=q;s=p;break}else{c[8731]=128;r=128;s=l;break}else{r=c[8731]|0;s=l}while(0);m=m+1&3;p=o;o=B(r+-128|0,g)|0;b[1567904+(n<<1)>>1]=(p+o|0)/2|0;n=n+1|0;if((n|0)==(f|0))break;else l=s}c[554803]=o;t=m}else{m=h;h=k;k=0;while(1){do if(!h)if((m|0)>0){o=c[554799]|0;s=d[i+o>>0]|0;c[8731]=s;c[554799]=o+1&2047;o=m+-1|0;c[554800]=o;u=s;v=o;break}else{c[8731]=128;u=128;v=m;break}else{u=c[8731]|0;v=m}while(0);o=h+1&3;b[1567904+(k<<1)>>1]=B(u+-128|0,g)|0;k=k+1|0;if((k|0)==(f|0)){t=o;break}else{m=v;h=o}}}c[554802]=t;if(!j)return;j=0;do{t=e+(j<<1)|0;h=(b[1567904+(j<<1)>>1]|0)+(b[t>>1]|0)|0;v=(h|0)<32767?h:32767;b[t>>1]=(v|0)>-32767?v:-32767;j=j+1|0}while((j|0)!=(f|0));return}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[554804]|0)){c[554804]=1;c[554805]=vq(524288)|0;wq(1698976,0,16384)}h=1698976+(b<<2)|0;i=c[h>>2]|0;if(!i){j=vq(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[554806]|0;j=c[554807]|0;if((((f+7+j|0)/8|0)+i|0)>524282){fb(94234,1e3);c[554807]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[8732]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[554806]=l;m=c[554805]|0;n=c[554808]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[554805]|0;p=i}c[8732]=b;c[554807]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[554808]=p+2;l=p+4|0;c[554806]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[554805]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[554807]=r+16;s=f;break}h=r;j=q;i=0;l=0;while(1){m=i&7;if(!m){n=$k(2971096,c[781999]|0,(i>>>3)+e|0)|0;t=c[554807]|0;u=c[554806]|0;v=n}else{t=h;u=j;v=l}n=(c[554805]|0)+(((t|0)/8|0)+u)|0;a[n>>0]=(v>>>m&1)<<(t&7)|(d[n>>0]|0);h=t+1|0;c[554807]=h;i=i+1|0;if((i|0)==(f|0)){w=f;x=20;break}else{j=u;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[554809]|0))c[554809]=vq(32768)|0;v=(f+7|0)/8|0;u=(f|0)>0;if(u){t=0;do{q=($k(2971096,c[781999]|0,t+e|0)|0)&255;y=c[554809]|0;a[y+t>>0]=q;t=t+1|0}while((t|0)<(v|0));if(u?(_k(2971096,c[781999]|0,e,d[y>>0]|0),(f|0)>8):0){t=1;do{_k(2971096,c[781999]|0,t+e|0,d[(c[554809]|0)+t>>0]|0);t=t+1|0}while((t|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){t=c[554794]|0;u=0;while(1){if((t|0)>=(c[554795]|0))break;_k(2971096,c[781999]|0,u+e|0,d[(c[554793]|0)+t>>0]|0);t=(c[554794]|0)+1|0;c[554794]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}jh(u<<5);g=u<<3;return g|0}while(0);jh(f<<2);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=c[554797]|0;q=0;while(1){if((t|0)>=(c[554798]|0))break;_k(2971096,c[781999]|0,q+e|0,d[(c[554796]|0)+t>>0]|0);t=(c[554797]|0)+1|0;c[554797]=t;r=q+1|0;if((r|0)>=(v|0))break c;else q=r}jh(q<<5);g=q<<3;return g|0}while(0);jh(f<<2);g=f;return g|0}case 2056:{if(!(c[554801]|0))c[554801]=vq(2048)|0;v=(f|0)/8|0;if((f|0)<=7){s=f;break a}t=0;do{u=($k(2971096,c[781999]|0,t+e|0)|0)&255;a[(c[554801]|0)+((c[554800]|0)+(c[554799]|0)&2047)>>0]=u;c[554800]=(c[554800]|0)+1;t=t+1|0}while((t|0)!=(v|0));s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[554804]|0)){c[554804]=1;c[554805]=vq(524288)|0;wq(1698976,0,16384)}k=1698976+(b<<2)|0;l=c[k>>2]|0;if(!l){m=vq(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Ia=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;Su(d,94793,h)|0;c[n+16>>2]=c[j>>2];Ia=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=b;p=m;break}}}else{o=l;p=d}d=n+16|0;l=n+12|0;h=n+20|0;m=n+24|0;b=n+32|0;k=n+36|0;if(!(o<<24>>24)){Ia=e;return}o=p;while(1){a[i>>0]=0;c[g>>2]=i;p=Su(o,94257,g)|0;if(!(nu(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(nu(i,58)|0)+1|0;c[f>>2]=j;Su(n,94793,f)|0;a[(nu(i,58)|0)>>0]=0;q=p}p=(a[o>>0]|0)==0?o:o+1|0;while(1){r=a[p>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else p=p+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=p;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=p;if(!(au(i,94264)|0))c[d>>2]=c[j>>2];if(!(au(i,94269)|0))c[l>>2]=c[j>>2];if(!(au(i,94273)|0))c[h>>2]=c[j>>2];if(!(au(i,94278)|0))c[m>>2]=c[j>>2];if(!(au(i,94289)|0))c[b>>2]=c[j>>2];if(!(au(i,94296)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else o=u}if((v|0)==36){Ia=e;return}}function qn(){var a=0,b=0,d=0;c[554799]=0;c[554800]=0;c[554802]=0;c[8731]=128;if(!(c[554804]|0))return;a=0;do{b=c[1698976+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[554807]=0;wq(c[554805]|0,0,524288);if(!(c[554804]|0))return;c[554807]=0;wq(c[554805]|0,0,524288);c[8732]=-1;c[554808]=0;c[554806]=0;a=c[554809]|0;if(!a)return;wq(a,0,32768);return}function rn(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[554804]|0))return;b=c[554807]|0;if((b|0)>0){e=(c[554806]|0)+((b+7|0)/8|0)|0;c[554806]=e;f=c[554805]|0;g=c[554808]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[554806]|0;if((h|0)>0){e=h;h=0;while(1){b=c[554805]|0;g=a[b+(h+1)>>0]|0;f=(g&255)<<8|(d[b+h>>0]|0);i=(d[b+(h+3)>>0]|0)<<8|(d[b+(h+2)>>0]|0);j=h+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e;l=h+6|0;break}m=(i+7|0)>>>3;if(m){cn(f,d[b+j>>0]|0);if((m|0)!=1){n=1;o=j;do{o=o+1|0;cn(f,d[(c[554805]|0)+o>>0]|0);n=n+1|0}while((n|0)!=(m|0))}k=c[554806]|0;l=j+m|0}else{k=e;l=j}}else{k=e;l=j}while(0);if((l|0)<(k|0)){e=k;h=l}else break}if(!(c[554804]|0))return}c[554807]=0;wq(c[554805]|0,0,524288);c[8732]=-1;c[554808]=0;c[554806]=0;l=c[554809]|0;if(!l)return;wq(l,0,32768);return}function sn(a){a=a|0;var b=0,d=0,e=0;zq(c[554793]|0);b=a+16|0;d=c[b>>2]|0;c[554795]=d;e=vq(d)|0;c[554793]=e;Vv(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[554794]=0;return}function tn(b){b=b|0;var d=0,e=0,f=0;zq(c[554796]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[554798]=e;f=vq(e)|0;c[554796]=f;a[f>>0]=c[b>>2];a[(c[554796]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[554796]|0)+2>>0]=c[d>>2];a[(c[554796]|0)+3>>0]=(c[d>>2]|0)/256|0;Vv((c[554796]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[554797]=0;return}function un(){return (c[554795]|0)-(c[554794]|0)|0}function vn(){return (c[554798]|0)-(c[554797]|0)|0}function wn(){c[554794]=0;c[554795]=0;c[554797]=0;c[554798]=0;return}function xn(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[742774]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(tp(4)|0)+f&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=29;break}case 3:{e=0;do{g=2;do{f=(tp(4)|0)+10&255;a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[742782]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 32:{h=28;break}default:h=29}}do if((h|0)==25){Nn(c[742782]|0);i=0}else if((h|0)==26){Uo();Nn(c[742782]|0);b=c[742803]|0;_q(b+16|0,b);Lg(3196396);Lg(3196396);Gp(c[(c[c[742804]>>2]|0)+8>>2]|0,c[742782]|0,0,0,1,1,40,10);c[781022]=6;i=0}else if((h|0)==27){Lg(94301);Gp(c[(c[c[742804]>>2]|0)+8>>2]|0,c[742782]|0,0,0,1,1,40,10);i=0}else if((h|0)==28){Lg(94314);i=0}else if((h|0)==29){if(!((d|0)==37&(c[555247]|0)==0)){if((d|0)==40){Lg(3196396);c[781022]=6;Lg(94347);Lg(3196396);i=0;break}b=(d|0)==60;if(!(b&(c[484608]|0)!=0)){i=b;break}c[780894]=0;c[781022]=6;Ym();c[798799]=2;i=1;break}b=c[798948]|0;if(!b){Lg(3196396);j=c[798948]|0}else j=b;if((j+3|0)>>>0>14){b=c[781024]|0;if((j|0)<20){k=b;l=(j|0)<-3?0:3}else{c[781024]=b+8;i=0;break}}else{k=c[781024]|0;l=(j|0)/4|0}b=(l|0)==1?k+2|0:k;Rn(c[(c[c[742804]>>2]|0)+1068>>2]|0,c[742782]|0,0,0,l<<3|2,(l|0)==3?b+-2|0:b,7,5);c[798948]=(c[798948]|0)+1;c[742774]=(c[742774]|0)+-1;i=0}while(0);l=(c[484543]|0)!=0;k=(c[484542]|0)!=0;if(!(l&((d|0)==90&k))){j=(d|0)==80;if(j&(c[537423]|0)!=0){m=1;h=43}else n=j}else{m=0;h=43}if((h|0)==43){c[780900]=1;n=m}if(!(l|i&k^1))c[780894]=0;if(n)hb();if((d|0)==900)Lg(94667);if((c[780894]|0)==2)return;Xm();return}function yn(a){a=a|0;Rs(2219256,a)|0;Rs(3904,a)|0;return}function zn(a){a=a|0;var b=0;if(!a)b=0;else{Rs(2219512,a)|0;b=2219512}c[554942]=b;return}function An(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Ia;Ia=Ia+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[557096]|0){Ia=a;return 0}c[554810]=0;wq(2219256,0,1704);Rs(2219256,3904)|0;Rs(2219512,3904)|0;c[554942]=2219512;To();o=c[8733]|0;p=c[557097]|0;if((o|0)>0&(p|0)!=0)Bn(o,p);c[n>>2]=94377;vv(94367,n)|0;n=c[8745]|0;Nu(n)|0;c[m>>2]=94403;wt(1715360,94389,m)|0;c[l>>2]=1715360;vv(94367,l)|0;Nu(n)|0;l=c[8733]|0;m=c[557097]|0;if((l|0)>0&(m|0)!=0)Bn(l,m);if(!0){c[k>>2]=94414;vv(94367,k)|0;Nu(n)|0;Kr()|0;c[j>>2]=94432;vv(94367,j)|0;Nu(n)|0;Xr()|0;c[i>>2]=94450;vv(94367,i)|0;Nu(n)|0;to();c[h>>2]=94465;vv(94367,h)|0;Nu(n)|0;ro();c[g>>2]=94481;vv(94367,g)|0;Nu(n)|0;zo();c[f>>2]=94497;vv(94367,f)|0;Nu(n)|0;vr()|0;c[e>>2]=94514;vv(94367,e)|0;Nu(n)|0;mo();c[d>>2]=94531;vv(94367,d)|0;Nu(n)|0}sp(0);c[555282]=(c[555282]|0)+1;c[b>>2]=94551;vv(94367,b)|0;Nu(n)|0;c[557096]=1;Ia=a;return 0}function Bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ia=e;return}i=1;j=0;a:while(1){k=d+(i<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=41;break a;break}case 45:{n=l+1|0;o=(ut(n,94556,5)|0)==0;p=(ut(n,94562,6)|0)==0;q=(ut(n,96589,8)|0)==0;r=(ut(n,96475,8)|0)==0;s=(ut(n,94569,8)|0)==0;t=(ut(n,94578,8)|0)==0;u=(ut(n,96611,9)|0)==0;v=(ut(n,96696,17)|0)==0;w=(ut(n,96488,19)|0)==0;x=(ut(n,96528,12)|0)==0;y=(ut(n,96541,12)|0)==0;z=(ut(n,94587,5)|0)==0;A=(ut(n,94593,5)|0)==0;B=(ut(n,96554,15)|0)==0;C=(ut(n,94599,13)|0)==0|(ut(n,94613,16)|0)==0;D=(ut(n,94630,4)|0)==0;E=(ut(n,94635,7)|0)==0;F=(ut(n,94643,13)|0)==0;G=(ut(n,94657,9)|0)==0;H=(ut(n,94667,7)|0)==0;if(!(ut(n,94675,8)|0)){c[555284]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:j;o=(ut(n,94684,11)|0)==0;if(!(ut(n,94696,11)|0)){c[555285]=1;J=0}else J=o?29:I;if((a[n>>0]|0)==120){c[555284]=1;K=0}else K=J;o=(ut(n,96508,19)|0)==0;p=(ut(n,94708,17)|0)==0;q=(ut(n,94726,16)|0)==0;r=(ut(n,94743,11)|0)==0;s=(ut(n,94755,13)|0)==0;t=(ut(n,94769,7)|0)==0;u=(ut(n,94777,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;Su(l,94793,g)|0;do switch(j|0){case 1:{c[555244]=c[h>>2];L=0;break b;break}case 2:{c[555245]=c[h>>2];L=0;break b;break}case 3:{c[555263]=c[h>>2];L=0;break b;break}case 4:{c[555246]=c[h>>2];L=0;break b;break}case 5:{c[555255]=c[h>>2];L=0;break b;break}case 6:{c[555256]=c[h>>2];L=0;break b;break}case 7:{c[555254]=c[h>>2];L=0;break b;break}case 8:{c[555270]=c[h>>2];L=0;break b;break}case 9:{c[555249]=c[h>>2];L=0;break b;break}case 10:{c[555247]=c[h>>2];L=0;break b;break}case 11:{c[555248]=c[h>>2];L=0;break b;break}case 12:{c[555260]=c[h>>2];L=0;break b;break}case 14:{c[555272]=c[h>>2];L=0;break b;break}case 15:{c[555270]=c[h>>2];L=0;break b;break}case 16:{Rs(2221148,c[k>>2]|0)|0;L=0;break b;break}case 17:{Rs(2222172,c[k>>2]|0)|0;L=0;break b;break}case 18:{c[555275]=c[h>>2];L=0;break b;break}case 19:{c[555278]=0;c[555279]=0;c[555280]=4096;c[555281]=4096;o=c[k>>2]|0;c[f>>2]=2221112;c[f+4>>2]=2221116;c[f+8>>2]=2221120;c[f+12>>2]=2221124;Su(o,94796,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[555283]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[555284]=1;L=0;break b;break}case 22:{c[555250]=c[h>>2];L=0;break b;break}case 23:{c[555252]=c[h>>2];L=0;break b;break}case 24:{c[555799]=c[h>>2];L=0;break b;break}case 25:{c[555800]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[555273]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[555257]=c[h>>2];L=0;break b;break}case 28:{c[555802]=c[h>>2];L=0;break b;break}case 29:{c[555286]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);i=i+1|0;if((i|0)>=(b|0)){m=41;break}else j=L}if((m|0)==41){Ia=e;return}}function Cn(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=a;vv(94367,d)|0;Nu(c[8745]|0)|0;Ia=b;return}function Dn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ia;Ia=Ia+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!((c[557096]|0)!=0&(c[555239]|0)==0)){Ia=a;return 0}c[557096]=0;c[m>>2]=94808;vv(94367,m)|0;m=c[8745]|0;Nu(m)|0;c[l>>2]=94820;vv(94367,l)|0;Nu(m)|0;lr(0,0);c[k>>2]=94833;vv(94367,k)|0;Nu(m)|0;Ib();c[j>>2]=94849;vv(94367,j)|0;Nu(m)|0;Xo();c[i>>2]=94867;vv(94367,i)|0;Nu(m)|0;Uq()|0;c[h>>2]=94884;vv(94367,h)|0;Nu(m)|0;wr()|0;c[g>>2]=94901;vv(94367,g)|0;Nu(m)|0;c[f>>2]=94921;vv(94367,f)|0;Nu(m)|0;if(!0){Ao();uo()}c[e>>2]=c[554810];wt(1715360,94939,e)|0;c[d>>2]=1715360;vv(94367,d)|0;Nu(m)|0;c[b>>2]=94551;vv(94367,b)|0;Nu(m)|0;m=c[554943]|0;if(m|0)Lu(m)|0;m=c[554944]|0;if(m|0)Lu(m)|0;c[554943]=0;c[554944]=0;c[557096]=0;Ia=a;return 0}function En(a){a=a|0;return}function Fn(){var a=0;a=as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();return a|0}function Gn(){var a=0;zr();as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();c[557099]=0;Hb();if(!(c[557099]|0)){sb();Br();Ar()}c[554963]=0;a=c[554979]|0;if(!a)return;if((a|0)<=(Xr()|0))return;c[554979]=0;ka(25)|0;return}function Hn(){c[557099]=1;return}function In(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b+8|0;f=b;g=b+24|0;An()|0;tr(800,480,32,4)|0;c[555239]=1;Wv(2224284,0,4096)|0;b=0;h=0;while(1){if((Or(b)|0)!=0?(a[(Or(b)|0)>>0]|0)!=0:0){c[f>>2]=Or(b)|0;c[f+4>>2]=b;vv(95003,f)|0;i=h+1|0;if(!(i&3)){mv(10)|0;j=i}else j=i}else j=h;b=b+1|0;if((b|0)==256)break;else h=j}qv(104526)|0;qv(95016)|0;qv(95097)|0;qv(95178)|0;qv(95259)|0;qv(95340)|0;qv(95421)|0;qv(95097)|0;qv(95502)|0;qv(95097)|0;qv(95583)|0;qv(95097)|0;qv(95664)|0;mv(10)|0;if(c[554811]|0)ya(0);do{Pn(c[742765]|0,0,0,799,479,1118498);Co(c[742765]|0,95745,c[557113]|0,20,20);j=0;do{h=j*24|0;b=h+48|0;f=j<<5;i=h+68|0;k=h+56|0;h=0;do{l=h*24|0;m=h+f|0;c[e>>2]=m;wt(g,95794,e)|0;n=1724192+m|0;Pn(c[742765]|0,l+20|0,b,l+40|0,i,(a[n>>0]|0)==0?5591122:16777215);Bo(c[742765]|0,g,c[557113]|0,l+22|0,k,1,(a[n>>0]|0)==0?11184810:0)|0;h=h+1|0}while((h|0)!=32);j=j+1|0}while((j|0)!=16);j=0;do{if(a[1724192+j>>0]|0?(a[1725216+j>>0]|0)==0:0){h=Or(j)|0;c[d>>2]=j;c[d+4>>2]=h;vv(95799,d)|0}j=j+1|0}while((j|0)!=512);as()|0;if(!(c[557098]|0)){c[557098]=1;vo();c[557098]=0}cs(2219248,2219252,0);gr();Br()}while(!(c[554811]|0));ya(0)}function Jn(a,b){a=a|0;b=b|0;Rs(1719456,c[b>>2]|0)|0;c[8733]=a;c[557097]=b;if((a|0)>1?(au(c[b+4>>2]|0,95834)|0)==0:0)In();lb(a,b);wa(1,0,0);return 0}function Kn(){var a=0;a=xq(768)|0;Wv(a|0,0,768)|0;c[554810]=(c[554810]|0)+1;return a|0}function Ln(a){a=a|0;if(!a)return;zq(a);c[554810]=(c[554810]|0)+-1;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=xq((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=xq(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=xq(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}l=(b|0)==1;m=0;do{n=xq(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(2970992!=(n|0)?(wq(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{wq(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[554810]|0;j=i+1|0;c[554810]=j;return e|0}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0;if(2970992==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{wq(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function On(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)zq(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{zq(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}zq(a);c[554810]=(c[554810]|0)+-1;return 0}function Pn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((2970992!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{wq((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function Qn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function Rn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(2970992==(b|0)){Wr(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{Hp(a,b,h,i,q,f,e,r);return}case 32:{Ip(a,b,h,i,q,f,e,r);return}default:return}}function Sn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=xq((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=xq(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(2970992!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{wq(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[554810]=(c[554810]|0)+1;e=f;return e|0}function Tn(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)zq(b);zq(a);c[554810]=(c[554810]|0)+-1;return 0}function Un(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function Vn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=c[d>>2]|0;do if((((j|0)<(c[a>>2]|0)?(k=c[e>>2]|0,l=a+4|0,(k|0)<(c[l>>2]|0)):0)?(m=b+32|0,(c[f>>2]|0)<(c[m>>2]|0)):0)?(n=b+40|0,(c[g>>2]|0)<(c[n>>2]|0)):0){if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;o=c[e>>2]|0;p=0}else{o=k;p=j}if((o|0)<0){c[i>>2]=(c[i>>2]|0)+o;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;q=c[d>>2]|0;r=0}else{q=p;r=o}k=c[a>>2]|0;if(((c[h>>2]|0)+q|0)>(k|0)){c[h>>2]=k-q;s=c[e>>2]|0}else s=r;k=c[l>>2]|0;if(((c[i>>2]|0)+s|0)>(k|0))c[i>>2]=k-s;k=c[f>>2]|0;l=b+28|0;t=c[l>>2]|0;if((k|0)<(t|0)){u=k-t|0;c[f>>2]=u;c[h>>2]=(c[h>>2]|0)+u;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);u=c[l>>2]|0;c[f>>2]=u;v=u}else v=k;k=c[g>>2]|0;u=b+36|0;l=c[u>>2]|0;if((k|0)<(l|0)){t=k-l|0;c[g>>2]=t;c[i>>2]=(c[i>>2]|0)+t;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);t=c[u>>2]|0;c[g>>2]=t;w=c[f>>2]|0;x=t}else{w=v;x=k}k=c[m>>2]|0;if(((c[h>>2]|0)+w|0)>(k|0)){c[h>>2]=k-w;y=c[g>>2]|0}else y=x;k=c[n>>2]|0;if(((c[i>>2]|0)+y|0)>(k|0)){z=k-y|0;break}else return}else z=0;while(0);c[i>>2]=z;return}function Wn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|2970992==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|2970992==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|2970992==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|2970992==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function Xn(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function Yn(a){a=a|0;c[484272]=c[a+28>>2];c[484276]=c[a+32>>2];c[484284]=c[a+36>>2];c[484280]=c[a+40>>2];return}function Zn(a){a=a|0;c[a+28>>2]=c[484272];c[a+32>>2]=c[484276];c[a+36>>2]=c[484284];c[a+40>>2]=c[484280];return}function _n(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){Gp(b,d,0,0,e,f,g,h);return}else{Rn(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=o;j=q;while(1){t=c[e+(g>>16<<2)>>2]|0;if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=h;w=0;while(1){c[u>>2]=c[t+(v>>16<<2)>>2];w=w+1|0;if((w|0)>=(r|0))break;else{u=u+4|0;v=v+l|0}}}j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}g=o;j=q;while(1){v=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;w=h;t=0;while(1){x=c[v+(w>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;t=t+1|0;if((t|0)>=(r|0))break a;else{u=u+4|0;w=w+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=o;k=q;while(1){j=c[(c[f>>2]|0)+(i>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(k<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}k=k+1|0;if((k|0)>=(g|0))break;else i=i+n|0}return}if(!d)return;d=o;o=q;while(1){q=c[(c[f>>2]|0)+(d>>16<<2)>>2]|0;i=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+m|0;k=h;s=0;while(1){A=a[q+(k>>16)>>0]|0;if(A<<24>>24)a[i>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{i=i+1|0;k=k+l|0}}o=o+1|0;if((o|0)>=(g|0))break;else d=d+n|0}return}default:return}}function $n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function ao(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;a:do if(((((a|0)!=0?(c[a+28>>2]|0)<=(b|0):0)?(c[a+36>>2]|0)<=(e|0):0)?(c[a+32>>2]|0)>(b|0):0)?(c[a+40>>2]|0)>(e|0):0)switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;break a;break}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;break a;break}default:{f=0;break a}}else f=0;while(0);return f|0}function bo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=f;o=e;p=g;while(1){if((p|0)==(o|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(o|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(o|0)?v:v|8;v=(r|0)>(n|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(n|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-n|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,n)|0)>>16;C=(B(x,o)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=o}else{C=(r-m<<16|0)/(n-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,n)|0)>>16;s=(B(z,o)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,n)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,n)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(n|0)){H=n;I=p;J=G;break a}else{w=p;t=n;n=F;p=G;o=w;m=t}}if((q|0)==14){if((b|0)==0|2970992==(b|0))return;t=(n|0)<(m|0);w=t?m:n;u=t?n:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=n-m|0;u=p-o|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=r;z=t;t=m<<16|32768;v=o<<16|32768;while(1){x=t>>16;K=v>>16;b:do if((((s|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((z|0)<=0)break;s=c[i>>2]|0;z=z+-1|0;t=t+C|0;v=v+w|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|2970992==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function co(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((b|0)==0|(d|0)==0|2970992==(d|0))return;m=c[b>>2]|0;if((((m|0)>(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;j=c[d+28>>2]|0;v=(q|0)<(j|0);x=v?q-j|0:0;y=v?j:q;q=x+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;j=(s|0)<(t|0);v=j?s-t|0:0;z=j?t:s;s=v+((w+u|0)>(n|0)?n-u|0:w)|0;A=y;B=z;C=(s+z|0)>(p|0)?p-z|0:s;D=r-x|0;E=u-v|0;F=(q+y|0)>(o|0)?o-y|0:q}else{A=g;B=h;C=0;D=e;E=f;F=i}i=(l&1|0)!=0;if(i){l=m-D|0;f=l-F|0;if((((f|0)<(m|0)?(e=c[b+4>>2]|0,(E|0)<(e|0)):0)?(h=c[d+32>>2]|0,(A|0)<(h|0)):0)?(g=c[d+40>>2]|0,(B|0)<(g|0)):0){q=(f|0)<0;y=q?0:f;o=A-(q?f:0)|0;v=(E|0)<0;u=v?0:E;x=v?E:0;v=B-x|0;r=C+x|0;x=c[d+28>>2]|0;s=(o|0)<(x|0);z=s?o-x|0:0;p=s?x:o;o=z+((D|0)<0?m-y|0:q?l:F)|0;l=c[d+36>>2]|0;q=(v|0)<(l|0);m=q?v-l|0:0;x=q?l:v;v=m+((r+u|0)>(e|0)?e-u|0:r)|0;G=p;H=x;I=(v+x|0)>(g|0)?g-x|0:v;J=y-z|0;K=u-m|0;L=(o+p|0)>(h|0)?h-p|0:o}else{G=A;H=B;I=0;J=f;K=E;L=F}}else{G=A;H=B;I=C;J=D;K=E;L=F}if((L|0)<0)return;F=(I|0)>0;if((c[d+8>>2]|0)==8){if(!F)return;E=b+16|0;D=d+16|0;C=L+-1|0;B=(L|0)==0;A=k&255;if(i){f=0;do{if(!B){o=(c[(c[D>>2]|0)+(f+H<<2)>>2]|0)+G+C|0;p=(c[(c[E>>2]|0)+(f+K<<2)>>2]|0)+J|0;h=L;while(1){if(a[p>>0]|0)a[o>>0]=A;h=h+-1|0;if(!h)break;else{o=o+-1|0;p=p+1|0}}}f=f+1|0}while((f|0)!=(I|0));return}if(B)return;B=0;do{f=(c[(c[D>>2]|0)+(B+H<<2)>>2]|0)+G|0;C=(c[(c[E>>2]|0)+(B+K<<2)>>2]|0)+J|0;p=L;while(1){if(a[C>>0]|0)a[f>>0]=A;p=p+-1|0;if(!p)break;else{f=f+1|0;C=C+1|0}}B=B+1|0}while((B|0)!=(I|0));return}else{if(!F)return;F=b+16|0;b=d+16|0;d=(L<<2)+-4|0;B=(L|0)==0;if(i){i=0;do{if(!B){A=(c[(c[b>>2]|0)+(i+H<<2)>>2]|0)+(G<<2)+(d<<2)|0;E=(c[(c[F>>2]|0)+(i+K<<2)>>2]|0)+J|0;D=L;while(1){if(a[E>>0]|0)c[A>>2]=k;D=D+-1|0;if(!D)break;else{A=A+-4|0;E=E+1|0}}}i=i+1|0}while((i|0)!=(I|0));return}if(B)return;B=c[F>>2]|0;F=c[b>>2]|0;b=0;do{i=(c[F+(b+H<<2)>>2]|0)+(G<<2)|0;d=(c[B+(b+K<<2)>>2]|0)+J|0;E=L;while(1){if(a[d>>0]|0)c[i>>2]=k;E=E+-1|0;if(!E)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(I|0));return}}function eo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Gp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=i;p=g;q=0;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(q<<2)>>2]|0;s=c[(c[n>>2]|0)+(q<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=o;y=p}q=q+1|0;if((q|0)>=(x|0))break;else{o=x;p=y}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;A=b+28|0;z=b+36|0;g=b+32|0;i=e+28|0;k=b+40|0;y=e+36|0;x=e+32|0;p=b+16|0;o=e+40|0;q=e+16|0;e=C;C=0;while(1){if((e|0)>0){w=0;while(1){a:do if((((c[A>>2]|0)<=(w|0)?(c[z>>2]|0)<=(C|0):0)?(c[g>>2]|0)>(w|0):0)?(c[k>>2]|0)>(C|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[p>>2]|0)+(C<<2)>>2]|0)+w>>0]|0;break a;break}case 32:{D=c[(c[(c[p>>2]|0)+(C<<2)>>2]|0)+(w<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=65536;r=-1;v=0;while(1){u=n-(d[f+(v*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(v*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(v*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(r|0)==-1|(u|0)<(s|0);r=E|F?v:r;v=E?257:v+1|0;if((v|0)>=256)break;else s=E?s:F?u:s}b:do if((((c[i>>2]|0)<=(w|0)?(c[y>>2]|0)<=(C|0):0)?(c[x>>2]|0)>(w|0):0)?(c[o>>2]|0)>(C|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[q>>2]|0)+(C<<2)>>2]|0)+w>>0]=r;break b;break}case 32:{c[(c[(c[q>>2]|0)+(C<<2)>>2]|0)+(w<<2)>>2]=r;break b;break}default:break b}while(0);w=w+1|0;r=c[b>>2]|0;if((w|0)>=(r|0)){G=r;break}}}else G=e;C=C+1|0;if((C|0)>=(c[h>>2]|0))break;else e=G}return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=yq(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=yq(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=yq(c[g>>2]|0,e)|0;h=a+12|0;i=yq(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function go(b){b=b|0;var d=0;d=vq(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;fo(d,b);a[d+32>>0]=0;c[554810]=(c[554810]|0)+1;return d|0}function ho(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=vq(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;fo(e,b);a[e+32>>0]=0;c[554810]=(c[554810]|0)+1;f=xq(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{zq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{jo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{Tn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Ln(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{jp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{mp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{yp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{Xq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{On(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Ro(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Op(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function jo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=e;h=0;do{io(a,c[(c[f>>2]|0)+(g+-1<<2)>>2]|0);h=h+1|0;g=c[d>>2]|0}while((h|0)<(e|0)&(g|0)!=0)}g=a+20|0;if((c[g>>2]|0)>0){e=c[a+4>>2]|0;h=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[h+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[g>>2]|0))}if(c[b>>2]|0)wq(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)Cn(95845)}else zq(c[c[a>>2]>>2]|0);zq(c[a>>2]|0);zq(c[a+4>>2]|0);zq(c[a+8>>2]|0);zq(c[a+12>>2]|0);zq(a);c[554810]=(c[554810]|0)+-1;return}function ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=95881;wt(1715360,96886,g)|0;Cn(1715360)}if(!d){c[f>>2]=95904;wt(1715360,96886,f)|0;Cn(1715360)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){fo(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=a+4|0;n=-1;o=c[a>>2]|0;p=o+(n<<2)|0;c[p>>2]=d;q=c[m>>2]|0;r=q+(n<<2)|0;c[r>>2]=b;Ia=e;return n|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=l;n=i;o=c[a>>2]|0;p=o+(n<<2)|0;c[p>>2]=d;q=c[m>>2]|0;r=q+(n<<2)|0;c[r>>2]=b;Ia=e;return n|0}function lo(){var a=0;if(!2970992)return;a=c[557100]|0;if(a|0)Tn(a)|0;a=Sn(33,33,32)|0;c[557100]=a;Nn(a);Pn(c[557100]|0,15,8,17,24,-1);Pn(c[557100]|0,8,15,24,17,-1);Pn(c[557100]|0,16,9,16,23,-6250336);Pn(c[557100]|0,9,16,23,16,-6250336);Pn(c[557100]|0,11,11,21,21,0);Pn(c[557100]|0,16,11,16,21,-1);Pn(c[557100]|0,11,16,21,16,-1);Pn(c[557100]|0,14,14,18,18,0);return}function mo(){lo();c[557101]=c[557100];return}function no(){return (c[557102]|0)!=0|0}function oo(){var a=0,b=0,d=0,e=0;a=c[557102]|0;if(!a){do{Fn()|0;b=c[557102]|0}while(!(b|0));d=b}else d=a;a=c[431016]|0;b=d+-1|0;if((d|0)<=1){c[557102]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1724064+(e<<2)>>2]=c[1724064+(d<<2)>>2]}while((d|0)!=(b|0));c[557102]=b;return a|0}function po(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1724192+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function qo(b){b=b|0;var c=0,d=0;if((b|0)>=0){if(b>>>0>511){c=0;return c|0}d=a[1724192+b>>0]|0;if(!(d<<24>>24)){c=0;return c|0}if(!(a[1724704+b>>0]|0))return (d<<24>>24==3|(a[1725216+b>>0]|0)==0?3:1)|0;else{c=0;return c|0}}switch(b|0){case -6:{b=a[1724417]|0;if(b<<24>>24!=0&(a[1724929]|0)==0){c=b<<24>>24==3|(a[1725441]|0)==0?3:1;return c|0}b=a[1724421]|0;if(!(b<<24>>24!=0&(a[1724933]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725445]|0)==0?3:1;return c|0}case -2:{b=a[1724694]|0;if(b<<24>>24!=0&(a[1725206]|0)==0){c=b<<24>>24==3|(a[1725718]|0)==0?3:1;return c|0}b=a[1724695]|0;if(!(b<<24>>24!=0&(a[1725207]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725719]|0)==0?3:1;return c|0}case -3:{b=a[1724692]|0;if(b<<24>>24!=0&(a[1725204]|0)==0){c=b<<24>>24==3|(a[1725716]|0)==0?3:1;return c|0}b=a[1724693]|0;if(!(b<<24>>24!=0&(a[1725205]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725717]|0)==0?3:1;return c|0}case -4:{b=a[1724418]|0;if(b<<24>>24!=0&(a[1724930]|0)==0){c=b<<24>>24==3|(a[1725442]|0)==0?3:1;return c|0}b=a[1724422]|0;if(!(b<<24>>24!=0&(a[1724934]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725446]|0)==0?3:1;return c|0}case -5:{b=a[1724416]|0;if(b<<24>>24!=0&(a[1724928]|0)==0){c=b<<24>>24==3|(a[1725440]|0)==0?3:1;return c|0}b=a[1724420]|0;if(b<<24>>24!=0&(a[1724932]|0)==0){c=b<<24>>24==3|(a[1725444]|0)==0?3:1;return c|0}b=a[1724692]|0;if(b<<24>>24!=0&(a[1725204]|0)==0){c=b<<24>>24==3|(a[1725716]|0)==0?3:1;return c|0}b=a[1724693]|0;if(!(b<<24>>24!=0&(a[1725205]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1725717]|0)==0?3:1;return c|0}default:{c=0;return c|0}}return 0}function ro(){Wv(1724192,0,512)|0;Wv(1725216,0,512)|0;Wv(1724704,0,512)|0;return}function so(){return}function to(){c[557103]=ho(1024,72)|0;return}function uo(){jo(c[557103]|0);return}function vo(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;f=c[557103]|0;if(!f){Ia=a;return}if(!(c[f+16>>2]|0)){Ia=a;return}cs(b,d,e);f=(c[b>>2]|0)-(c[557104]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[557105]|0)|0;h=(B(f,f)|0)+g|0;Rq();g=c[557103]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=p;o=1;while(1){q=c[l+(c[m+(o<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(n|0?c[n+20>>2]&32|0:0){t=n;break}t=q}else t=n;while(0);o=o+1|0;if((o|0)>=(f|0))break;else n=t}if(i)u=t;else break}else u=p;n=u+20|0;o=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=g;s=h;v=f;while(1){w=v+-1|0;x=c[(c[r>>2]|0)+(c[(c[r+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[n>>2]|0;A=z&2;if(!y){if(!A)Va[c[o>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[557106]|A)){c[n>>2]=z|2;Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=Xr()|0;if((y-(c[557107]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(s|0)<(B(y,y)|0)):0)Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=Xr()|0;if((y-(c[557108]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(s|0)<(B(y,y)|0)):0){Va[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[557107]=Xr()|0}c[557108]=Xr()|0;c[557104]=c[b>>2];c[557105]=c[d>>2]}y=c[n>>2]|0;if(!(y&1)){c[n>>2]=y|1;Va[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[554951]|0;z=c[554952]|0;if(z|y|0){Va[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[554951]=0;c[554952]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[554959]|0)!=0?(A=Xr()|0,(A|0)<((c[554960]|0)+500|0)):0){A=c[554959]|0;c[557106]=A;D=x+28|0;Va[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[557109]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[557110]|0)|0;F=(B(A,A)|0)+E|0;E=Xr()|0;if((E-(c[557111]|0)|0)<400&F>>>0<400)Va[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,15);c[557111]=Xr()|0;c[557109]=c[b>>2];c[557110]=c[d>>2];G=F}else G=s;else{c[z>>2]=y&-3;y=x+28|0;Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=Xr()|0;if((s|0)<400&(F-(c[557108]|0)|0)<400)Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,12);F=(c[b>>2]|0)-(c[557109]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[557110]|0)|0;E=(B(F,F)|0)+D|0;D=Xr()|0;if((D-(c[557111]|0)|0)<400&E>>>0<400)Va[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[557106]|0,15);c[557111]=Xr()|0;c[557109]=c[b>>2];c[557110]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[557112]|0)==0|(c[e>>2]|0)!=0):0)Va[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((v|0)<=1)break a;r=c[557103]|0;s=G;v=w}}while(0);c[554959]=0;G=c[e>>2]|0;c[557106]=G;c[557112]=G;Sq();Ia=a;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;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[557103]|0)){Ia=d;return}cs(e,f,g);h=c[557103]|0;if((c[h+16>>2]|0)<=0){Ia=d;return}if(!b){i=h;j=0;do{k=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;Va[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);j=j+1|0;i=c[557103]|0}while((j|0)<(c[i+16>>2]|0));Ia=d;return}i=h;h=0;while(1){j=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if((c[j>>2]|0)==(b|0)){Va[c[j+28>>2]&0](j,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[557103]|0}else l=i;h=h+1|0;if((h|0)>=(c[l+16>>2]|0))break;else i=l}Ia=d;return}function xo(a){a=a|0;var b=0,d=0;b=c[557103]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function yo(){var a=0,b=0,d=0,e=0,f=0;a=c[557103]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function zo(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[557113]=go(512)|0;c[557114]=go(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=Sn(5,5,f)|0;i=Sn(6,5,f)|0;ko(c[557113]|0,4,h)|0;ko(c[557114]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=Sn(5,5,f)|0;h=Sn(6,5,f)|0;Nn(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[4160+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[4160+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}ko(c[557113]|0,4,i)|0;ko(c[557114]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=Sn(5,5,f)|0;m=Sn(6,5,f)|0;ko(c[557113]|0,4,e)|0;ko(c[557114]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Ao(){jo(c[557113]|0);jo(c[557114]|0);return} 139 + function Zk(){var a=0,b=0;a=c[535458]|0;b=c[778903]|0;if(b|0)c[b+332>>2]=a;b=c[778904]|0;if(b|0)c[b+332>>2]=a;b=c[778905]|0;if(b|0)c[b+332>>2]=a;b=c[778906]|0;if(b|0)c[b+332>>2]=a;b=c[778907]|0;if(b|0)c[b+332>>2]=a;b=c[778908]|0;if(b|0)c[b+332>>2]=a;b=c[778909]|0;if(b|0)c[b+332>>2]=a;b=c[778910]|0;if(b|0)c[b+332>>2]=a;b=c[778911]|0;if(b|0)c[b+332>>2]=a;b=c[778912]|0;if(b|0)c[b+332>>2]=a;b=c[778913]|0;if(b|0)c[b+332>>2]=a;b=c[778914]|0;if(b|0)c[b+332>>2]=a;b=c[778915]|0;if(b|0)c[b+332>>2]=a;b=c[778916]|0;if(b|0)c[b+332>>2]=a;b=c[778917]|0;if(b|0)c[b+332>>2]=a;b=c[778918]|0;if(!b)return;c[b+332>>2]=a;return}function _k(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;g=e&65535;h=g>>>0<24320;if((g+-17152|0)>>>0<7168&(c[742800]|0)>0)return;i=f&255;j=i>>>0>127?f|-256:i;k=(b|0)==0;if(!k)a[b+156904+g>>0]=f;if(e&32768|0){b=g+-32768>>13;if(!(c[3193536+(b<<2)>>2]|0))return;l=2971132+(b<<2)|0;b=e>>>6&127;m=e<<1&126;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;return}if(g>>>0<4096){m=d+8|0;b=g>>>6;l=e<<1&126;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+l>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(l|1)>>0]=f>>>4&15;return}if(g>>>0<8192){l=d+8|0;b=g>>>6;m=e<<1&126;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(g>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if(g>>>0<12288){m=g+-8192|0;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(m>>7<<2)>>2]|0)+(m&127)>>0]=f;return}if(g>>>0<12544){c[d+44832+(g+-12288<<2)>>2]=i;return}if(g>>>0<12800){m=g+-12544|0;b=(m|0)/4|0;l=m&3;c[d+43536+(b<<4)+(l<<2)>>2]=f&127;m=1<<l;l=d+44560+(b<<2)|0;b=c[l>>2]|0;c[l>>2]=b&~m;if(!(f&128))return;c[l>>2]=b|m;return}if(g>>>0<17152){m=g+-12800|0;b=(m|0)/68|0;l=m-(b*68|0)|0;if((l|0)<64){m=(l|0)/2|0;if(!(l&1)){c[d+16+(b*680|0)+20+(m*20|0)>>2]=f&63;n=d+16+(b*680|0)+20+(m*20|0)+4|0;c[n>>2]=c[n>>2]&4|f>>>6&3;return}else{n=d+16+(b*680|0)+20+(m*20|0)+4|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+16+(b*680|0)+20+(m*20|0)+8>>2]=f>>>1&7;c[d+16+(b*680|0)+20+(m*20|0)+12>>2]=f>>>4&7;c[d+16+(b*680|0)+20+(m*20|0)+16>>2]=f&128;return}}switch(l|0){case 64:{c[d+16+(b*680|0)+4>>2]=f&1;c[d+16+(b*680|0)>>2]=f&254;return}case 65:{c[d+16+(b*680|0)+8>>2]=i;return}case 66:{c[d+16+(b*680|0)+12>>2]=i;return}case 67:{c[d+16+(b*680|0)+16>>2]=i;return}default:return}}if(k|g>>>0<24064)return;if(h){h=g+-24064|0;k=3120248+(((h|0)/4|0)<<2)|0;b=c[k>>2]|0;d=h<<3&24;h=b&~(255<<d)|i<<d;c[k>>2]=h;if((b|0)==(h|0))return;c[798463]=1;return}if(g>>>0>=24448)if(g>>>0<24576){cn(g+-24448|0,i);return}else{h=g+-24576|0;b=h>>6;k=h<<1&126;a[(c[(c[(c[742782]|0)+16>>2]|0)+(b<<2)>>2]|0)+k>>0]=f&15;a[(c[(c[(c[742782]|0)+16>>2]|0)+(b<<2)>>2]|0)+(k|1)>>0]=f>>>4&15;return}k=g+-24320|0;if(g>>>0<24336){c[3123880+(k<<2)>>2]=i;return}if(g>>>0<24352){c[3123944+(g+-24336<<2)>>2]=i;if(!(f&128))return;nb();return}if(g>>>0<24356){c[3124072+(g+-24352<<2)>>2]=i;Lk();return}do switch((e&65535)<<16>>16){case 24356:{c[781025]=i;return}case 24357:{c[781022]=i;return}case 24358:{c[781023]=i;return}case 24359:{c[781024]=i;return}case 24360:{c[781030]=c[781030]&-256|i;return}case 24361:{c[781030]=c[781030]&255|j<<8;return}case 24362:{c[781031]=c[781031]&-256|i;return}case 24363:{c[781031]=c[781031]&255|j<<8;return}case 24364:{c[781033]=i;return}case 24369:{c[781038]=c[781038]&-256|i;return}case 24370:{c[781038]=c[781038]&-65281|i<<8;return}case 24371:{c[781038]=c[781038]&-16711681|i<<16;return}case 24372:{c[781043]=i;return}case 24373:{c[781041]=i;return}case 24380:{c[781039]=c[781039]&-256|i;return}case 24381:{c[781039]=c[781039]&255|j<<8;return}case 24382:{c[781040]=c[781040]&-256|i;return}case 24383:{c[781040]=c[781040]&255|j<<8;return}case 24384:{c[781382]=i;return}case 24385:{c[781383]=i;return}case 24386:{c[781384]=i;return}case 24387:{c[781385]=i;return}default:switch((e&65532)<<16>>16){case 24388:{b=(g<<3)+-195104|0;yl(0,(xl(0)|0)&~(255<<b)|i<<b);return}case 24392:{b=(g<<3)+-195136|0;yl(1,(xl(1)|0)&~(255<<b)|i<<b);return}default:{b=g+-24396|0;if(b>>>0<8){c[3124188+(b<<5)>>2]=f&1;c[3124188+(b<<5)+4>>2]=f>>>1&1;c[3124188+(b<<5)+8>>2]=f>>>2&1;c[3124188+(b<<5)+12>>2]=f>>>3&1;c[3124188+(b<<5)+16>>2]=f>>>4&1;c[3124188+(b<<5)+20>>2]=f>>>5&1;return}switch(k|1|0){case 85:{Nk(c[798931]|0);return}case 87:{Hh();return}default:{if((k|0)==94){c[781034]=i;c[781035]=f&15;c[781036]=f>>>4&15;return}if((e&65520|0)!=24416)return;c[3124008+(g+-24416<<2)>>2]=i;return}}}}}while(0)}function $k(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)==0;if(h)i=0;else i=d[b+156904+g>>0]|0;a:do if(g>>>0>=8192){if(g>>>0<12288){b=g+-8192|0;j=d[(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]|0;break}if(g>>>0<12544){j=c[e+44832+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){b=g+-12544|0;k=(b|0)/4|0;l=b&3;b=c[e+43536+(k<<4)+(l<<2)>>2]&127;j=(c[e+44560+(k<<2)>>2]&1<<l|0)==0?b:b|128;break}if(g>>>0<17152){b=g+-12800|0;l=(b|0)/68|0;k=b-(l*68|0)|0;if((k|0)<64){b=(k|0)/2|0;if(!(k&1)){j=c[e+16+(l*680|0)+20+(b*20|0)+4>>2]<<6&192|c[e+16+(l*680|0)+20+(b*20|0)>>2];break}else{j=c[e+16+(l*680|0)+20+(b*20|0)+8>>2]<<1&14|(c[e+16+(l*680|0)+20+(b*20|0)+4>>2]|0)>>>2&1|c[e+16+(l*680|0)+20+(b*20|0)+12>>2]<<4&112|c[e+16+(l*680|0)+20+(b*20|0)+16>>2]&128;break}}switch(k|0){case 64:{j=c[e+16+(l*680|0)>>2]&254|c[e+16+(l*680|0)+4>>2]&1;break a;break}case 65:{j=c[e+16+(l*680|0)+8>>2]|0;break a;break}case 66:{j=c[e+16+(l*680|0)+12>>2]|0;break a;break}case 67:{j=c[e+16+(l*680|0)+16>>2]|0;break a;break}default:{j=i;break a}}}if(h){m=0;return m|0}if(g>>>0<24064)j=i;else{if(g>>>0<24320){l=g+-24064|0;j=(c[3120248+(((l|0)/4|0)<<2)>>2]|0)>>>(l<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){j=dn(g+-24448|0)|0;break}if(g>>>0<32768){l=g+-24576|0;k=c[(c[(c[742782]|0)+16>>2]|0)+(l>>6<<2)>>2]|0;b=l<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b=g+-32768>>13;if(!(c[3193536+(b<<2)>>2]|0)){j=i;break}k=c[(c[(c[2971132+(b<<2)>>2]|0)+16>>2]|0)+((f>>>6&127)<<2)>>2]|0;b=f<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b=g+-24320|0;b:do if(g>>>0<24336)n=c[3123880+(b<<2)>>2]|0;else{if(g>>>0<24352){n=c[3123944+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[3124072+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24356:{n=c[781025]|0;break b;break}case 24357:{n=c[781022]|0;break b;break}case 24358:{n=c[781023]|0;break b;break}case 24359:{n=c[781024]|0;break b;break}case 24360:{n=c[781030]&255;break b;break}case 24361:{n=c[781030]>>8;break b;break}case 24362:{n=c[781031]&255;break b;break}case 24363:{n=c[781031]>>8;break b;break}case 24364:{n=c[781033]|0;break b;break}case 24369:{n=c[781038]&255;break b;break}case 24370:{n=(c[781038]|0)>>>8&255;break b;break}case 24371:{n=(c[781038]|0)>>>16&255;break b;break}case 24373:{n=c[781041]&255;break b;break}case 24380:{n=c[781039]&255;break b;break}case 24381:{n=c[781039]>>8;break b;break}case 24382:{n=c[781040]&255;break b;break}case 24383:{n=c[781040]>>8;break b;break}case 24384:{n=c[781382]|0;break b;break}case 24385:{n=c[781383]|0;break b;break}case 24386:{n=c[781384]|0;break b;break}case 24387:{n=c[781385]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(xl(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(xl(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{k=g+-24396|0;if(k>>>0<8){n=((c[3124188+(k<<5)+28>>2]|0)==0?0:128)|(((c[3124188+(k<<5)+24>>2]|0)==0?0:64)|(((c[3124188+(k<<5)+20>>2]|0)==0?0:32)|(((c[3124188+(k<<5)+16>>2]|0)==0?0:16)|(((c[3124188+(k<<5)+12>>2]|0)==0?0:8)|(((c[3124188+(k<<5)+8>>2]|0)==0?0:4)|(((c[3124188+(k<<5)+4>>2]|0)==0?0:2)|(c[3124188+(k<<5)>>2]|0)!=0))))))|a[3128e3+g>>0]&-64&255;break b}if((b|0)==94){n=c[781034]&255;break b}if((f&65520|0)!=24416){n=i;break b}n=c[3124008+(g+-24416<<2)>>2]|0;break b}}}while(0)}while(0);j=n&255}}else{b=c[(c[(c[e+8>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;k=f<<1&126;j=((d[b+(k|1)>>0]|0)<<4)+(d[b+k>>0]|0)|0}while(0);m=j&255;return m|0}function al(){Wv(3264,((c[798384]|0)==0?10:4)|0,32)|0;Wv(3296,((c[798385]|0)==0?10:5)|0,32)|0;Wv(3328,((c[798386]|0)==0?10:6)|0,32)|0;Wv(3360,((c[798387]|0)==0?10:7)|0,32)|0;return}function bl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if((h|0)>32767)return;i=g&65535;j=f&65535;k=a[3136+(g>>>8&255)>>0]|0;l=k<<24>>24;m=i+h|0;n=a[3136+(f>>>8&255)>>0]|0;o=n<<24>>24;p=j+h|0;q=(j|0)>=(m|0);r=(p|0)<=(i|0);s=r|q;if(!(n<<24>>24==(a[3136+((p+65535|0)>>>8&255)>>0]|0)&(k<<24>>24==(a[3136+((m+65535|0)>>>8&255)>>0]|0)&(k<<24>>24!=0&n<<24>>24!=0)))){m=(h|0)>0;if(j>>>0<i>>>0){if(!m)return;t=0;do{_k(b,e,t+j|0,$k(b,e,t+i|0)|0);t=t+1|0}while((t|0)!=(h|0));return}else{if(!m)return;m=h;do{t=m;m=m+-1|0;_k(b,e,m+j|0,$k(b,e,m+i|0)|0)}while((t|0)>1);return}}switch(l|0){case 1:{u=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(i>>>6<<2)>>2]|0)+(i<<1&126)|0;break}case 2:{m=i+-24576|0;u=(c[(c[(c[742782]|0)+16>>2]|0)+(m>>6<<2)>>2]|0)+(m<<1&126)|0;break}case 7:case 6:case 5:case 4:{u=(c[(c[(c[2971132+(l+-4<<2)>>2]|0)+16>>2]|0)+((g>>>6&127)<<2)>>2]|0)+(i<<1&126)|0;break}case 8:{g=i+-8192|0;u=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(g>>7<<2)>>2]|0)+(g&127)|0;break}default:u=b+156904+i|0}switch(o|0){case 1:{v=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(j>>>6<<2)>>2]|0)+(j<<1&126)|0;break}case 2:{g=j+-24576|0;v=(c[(c[(c[742782]|0)+16>>2]|0)+(g>>6<<2)>>2]|0)+(g<<1&126)|0;break}case 7:case 6:case 5:case 4:{v=(c[(c[(c[2971132+(o+-4<<2)>>2]|0)+16>>2]|0)+((f>>>6&127)<<2)>>2]|0)+(j<<1&126)|0;break}case 8:{f=j+-8192|0;v=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(f>>7<<2)>>2]|0)+(f&127)|0;break}default:v=b+156904+j|0}b=l&8;if(i>>>0<j>>>0&((r|q)^1)){q=h<<(b>>>3^1);if(q|0){r=q;do{r=r+-1|0;a[v+r>>0]=a[u+r>>0]|0}while((r|0)!=0)}}else{r=(o&8|0)!=0;do if((k&8&n)<<24>>24){if(s){Vv(v|0,u|0,h|0)|0;w=v;x=u;break}if((h|0)>0){o=v+h|0;q=v;i=0;l=u;while(1){a[q>>0]=a[l>>0]|0;i=i+1|0;if((i|0)==(h|0))break;else{q=q+1|0;l=l+1|0}}w=o;x=u+h|0}else{w=v;x=u}}else{w=v;x=u}while(0);do if(!((n|k)&8)){u=h<<1;if(s){Vv(w|0,x|0,u|0)|0;y=w;z=x;A=33;break}if((h|0)<=0){B=0;C=w;D=x;E=(b|0)==0;break}v=w;l=0;q=x;while(1){a[v>>0]=a[q>>0]|0;i=v+1|0;f=q+1|0;l=l+1|0;if((l|0)>=(u|0)){y=i;z=f;A=33;break}else{v=i;q=f}}}else{y=w;z=x;A=33}while(0);if((A|0)==33){A=(b|0)==0;b=(h|0)>0;if(b&((A|r)^1)){x=y+(h<<1)|0;w=y;s=0;k=z;while(1){a[w>>0]=a[k>>0]&15;a[w+1>>0]=(d[k>>0]|0)>>>4;s=s+1|0;if((s|0)==(h|0))break;else{w=w+2|0;k=k+1|0}}B=b;C=x;D=z+h|0;E=A}else{B=b;C=y;D=z;E=A}}if(E&r&B){B=C;C=0;r=D;while(1){a[B>>0]=a[r+1>>0]<<4&255|a[r>>0]&15;C=C+1|0;if((C|0)==(h|0))break;else{B=B+1|0;r=r+2|0}}}}r=j+-4096|0;j=(r|0)<4096?r:4096;r=(j|0)>0?j:0;j=(p|0)<4096?0:(p|0)<8192?p+-4096|0:4096;if(!((j|0)>0&(r|0)<4096&(r|0)<(j|0)))return;p=(c[(c[e+12>>2]|0)+12>>2]|0)+(r+4096)|0;B=r;h=(c[(c[e+8>>2]|0)+12>>2]|0)+((r<<1)+8192)|0;while(1){a[p>>0]=a[h+1>>0]<<4&255|a[h>>0]&15;B=B+1|0;if((B|0)>=(j|0))break;else{p=p+1|0;h=h+2|0}}return}function cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c&65535;c=d&65535;d=(e|0)>0;if(f>>>0<c>>>0){if(!d)return;g=f;h=e;i=c;while(1){j=256-(i&255)|0;k=256-(g&255)|0;l=j>>>0<k>>>0?j:k;k=(l|0)<(h|0)?l:h;bl(a,b,g,i,k);h=h-k|0;if((h|0)<=0)break;else{g=k+g|0;i=k+i|0}}return}else{if(!d)return;d=f+e|0;f=e;i=c+e|0;do{e=(i+255&255)+1|0;c=(d+255&255)+1|0;g=e>>>0<c>>>0?e:c;c=(g|0)<(f|0)?g:f;i=i-c|0;d=d-c|0;bl(a,b,d,i,c);f=f-c|0}while((f|0)>0);return}}function dl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if((g|0)<=0)return;h=f&255;i=d+8|0;j=d+12|0;k=f&15;l=f>>>4&15;m=e&65535;e=g;while(1){g=256-(m&255)|0;n=(g|0)<(e|0)?g:e;a:do if((n|0)<=32767){g=m&65535;o=a[3136+(m>>>8&255)>>0]|0;p=o<<24>>24;q=n+g|0;if(!(o<<24>>24)){if((n|0)<=0)break;o=0;while(1){_k(b,d,o+g|0,f);o=o+1|0;if((o|0)==(n|0))break a}}switch(p|0){case 1:{r=(c[(c[i>>2]|0)+16>>2]|0)+(g>>>6<<2)|0;s=g;t=13;break}case 2:{o=g+-24576|0;r=(c[(c[742782]|0)+16>>2]|0)+(o>>6<<2)|0;s=o;t=13;break}case 7:case 6:case 5:case 4:{u=(c[(c[(c[2971132+(p+-4<<2)>>2]|0)+16>>2]|0)+((m>>>6&127)<<2)>>2]|0)+(g<<1&126)|0;t=11;break}case 8:{o=g+-8192|0;v=(c[(c[(c[j>>2]|0)+16>>2]|0)+(o>>7<<2)>>2]|0)+(o&127)|0;t=12;break}default:{u=b+156904+g|0;t=11}}if((t|0)==11){t=0;if(!(p&8)){w=u;t=14}else{v=u;t=12}}else if((t|0)==13){t=0;w=(c[r>>2]|0)+(s<<1&126)|0;t=14}if((t|0)==12){t=0;Wv(v|0,h|0,n|0)|0}else if((t|0)==14?(t=0,(n|0)>0):0){o=w;x=0;while(1){a[o>>0]=k;a[o+1>>0]=l;x=x+1|0;if((x|0)==(n|0))break;else o=o+2|0}}o=g+-4096|0;x=(o|0)<4096?o:4096;o=(x|0)>0?x:0;x=(q|0)<4096?0:(q|0)<8192?q+-4096|0:4096;if((o|0)<4096&(x|0)>0)Wv((c[(c[j>>2]|0)+12>>2]|0)+(o+4096)|0,h|0,x-o|0)|0}while(0);e=e-n|0;if((e|0)<=0)break;else m=n+m|0}return}function el(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{_k(b,d,h+e|0,$k(0,c[26544]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[3122552]|0))return;a[3122552]=0;g=30-(c[780904]|0)|0;h=(g|0)<30?g:30;c[780903]=(h|0)>2?h:2;c[780904]=150;return}function fl(a){a=a|0;var b=0,d=0;b=a>>16;a=$k(2971096,c[781999]|0,b)|0;d=(($k(2971096,c[781999]|0,b+1|0)|0)<<8)+a|0;a=d+(($k(2971096,c[781999]|0,b+2|0)|0)<<16)|0;return a+(($k(2971096,c[781999]|0,b+3|0)|0)<<24)|0}function gl(a){a=a|0;var b=0;b=a>>16;a=($k(2971096,c[781999]|0,b)|0)<<16;return (($k(2971096,c[781999]|0,b+1|0)|0)<<24)+a|0}function hl(a){a=a|0;return ($k(2971096,c[781999]|0,a>>16)|0)<<16|0}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,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,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,bb=0,cb=0,db=0,eb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;d=Ia;Ia=Ia+304|0;e=d+280|0;f=d+272|0;g=d+264|0;h=d+256|0;i=d;j=d+284|0;k=c[742782]|0;a:do if(!b){l=c[3115612+(c[778921]<<2)>>2]|0;m=c[l>>2]|0;n=bu(m)|0;o=c[l+336>>2]|0;p=Es(a[m+o>>0]|0)|0;b:do if((o|0)>0){m=o;while(1){q=m+-1|0;if((Es(a[(c[l>>2]|0)+q>>0]|0)|0)!=(p|0)){r=m;break b}if((m|0)>1)m=q;else{r=q;break}}}else r=o;while(0);m=o+1|0;c:do if((m|0)<(n|0)){q=m;while(1){if((Es(a[(c[l>>2]|0)+q>>0]|0)|0)!=(p|0)){s=q;break c}t=q+1|0;if((t|0)<(n|0))q=t;else{s=t;break}}}else s=m;while(0);Wv(i|0,0,256)|0;m=s-r|0;Vv(i|0,(c[l>>2]|0)+r|0,((m|0)<255?m:255)|0)|0;switch(a[i>>0]|0){case 10:case 0:break;default:{u=1;v=i;break a}}fb(62103,1500);Ia=d;return}else{u=0;v=b}while(0);ab();if((a[v>>0]|0)==60?(a[v+((bu(v)|0)+-1)>>0]|0)==62:0){Jg(62130,13);Lg(62163);Ia=d;return}if((au(v,62172)|0)!=0?(au(v,62178)|0)!=0:0)w=0;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62185,14);Lg(3196396);Lg(62200);Lg(62231);Lg(62264);Lg(3196396);Lg(62289);Lg(62321);Lg(62354);Lg(3196396);w=1}if((au(v,62378)|0)!=0?(au(v,62384)|0)!=0:0)x=w;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62388,6);Lg(3196396);Jg(62410,12);x=1}if(!(au(v,62420)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Lg(62426);Lg(62452);Lg(3196396);Jg(62480,6);Lg(3196396);Jg(62502,12);y=1}else y=x;if((au(v,62511)|0)!=0?(au(v,62518)|0)!=0:0)z=y;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62526,14);Lg(3196396);Lg(62536);Lg(62566);Lg(62597);Lg(3196396);Lg(62625);Lg(62640);Lg(62663);Lg(62683);Lg(62712);Lg(62732);Lg(62749);Lg(3196396);Jg(62775,6);Lg(3196396);Jg(62794,12);z=1}if(!(au(v,97461)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(62824,14);Lg(3196396);Lg(62845);Lg(62877);Lg(62906);Lg(3196396);Jg(62930,7);Lg(62956);Lg(3196396);Jg(62959,7);Jg(62971,7);Lg(97397);Lg(3196396);Jg(62977,12);A=1}else A=z;if((au(v,63002)|0)!=0?(au(v,63008)|0)!=0:0)B=A;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63015,14);Lg(3196396);Lg(63024);Lg(63055);Lg(63088);Lg(63119);Lg(63151);Lg(63180);Lg(3196396);Jg(63209,7);Jg(63241,7);Jg(63264,7);Jg(63294,7);Jg(63322,7);Jg(63351,7);Lg(3196396);Jg(63384,6);Lg(3196396);Jg(63402,12);B=1}if(!(au(v,63433)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63437,14);Lg(3196396);Lg(63454);Lg(63478);Lg(63511);Lg(3196396);Lg(63520);Lg(63552);Lg(63577);Lg(3196396);Lg(63608);Lg(63641);Lg(63674);Lg(63700);Lg(63727);Lg(3196396);Jg(63758,6);Lg(3196396);Jg(63773,12);C=1}else C=B;if((au(v,63802)|0)!=0?(au(v,63811)|0)!=0:0)D=C;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(63818,14);Lg(3196396);Lg(63846);Lg(63877);Lg(63906);Lg(3196396);Jg(63925,7);Jg(63944,7);Jg(63966,7);Jg(63997,7);Jg(3196396,7);Jg(64001,7);Jg(64018,7);Lg(64029);Jg(64032,7);Lg(97397);D=1}if(!(au(v,64043)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64049,14);Lg(3196396);Lg(64066);Lg(64097);Lg(3196396);Jg(64116,7);Jg(64122,7);Jg(64137,7);Jg(64148,7);Jg(63997,7);Lg(64160);Lg(97397);Lg(97399);E=1}else E=D;if(!(au(v,64175)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64178,14);Lg(3196396);Lg(64192);Lg(64220);Lg(64247);Lg(3196396);F=1}else F=E;if(!(au(v,63997)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64258,14);Lg(3196396);Lg(64273);Lg(64302);Lg(64331);Lg(3196396);G=1}else G=F;if((au(v,64364)|0)!=0?(au(v,64371)|0)!=0:0)H=G;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64377,14);Lg(3196396);Lg(64403);Lg(64432);Lg(64462);Lg(3196396);Lg(64480);Lg(64509);Lg(64540);Lg(3196396);Jg(64116,7);Jg(64364,7);Jg(64137,7);Jg(64148,7);Jg(64567,7);Lg(64160);Lg(97397);Lg(97399);H=1}if((((au(v,64580)|0)!=0?(au(v,64583)|0)!=0:0)?(au(v,64588)|0)!=0:0)?(au(v,64595)|0)!=0:0)I=H;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64600,14);Lg(3196396);Lg(64625);Lg(64656);Lg(64689);Lg(3196396);Jg(64699,7);Jg(64713,7);Jg(63997,7);Lg(3196396);Jg(64745,7);Jg(64759,7);Jg(64787,7);Jg(64805,7);Jg(64595,7);Jg(64828,7);Jg(63997,7);Lg(3196396);Jg(64854,7);I=1}if((au(v,64883)|0)!=0?(au(v,64887)|0)!=0:0)J=I;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(64890,14);Lg(3196396);Lg(64902);Lg(3196396);Jg(64934,7);Jg(64137,7);Jg(63997,7);Lg(64947);Lg(3196396);Lg(64968);Lg(3196396);Jg(64994,7);Lg(65022);Lg(3196396);Lg(65041);Lg(65071);Lg(3196396);Jg(65092,12);J=1}if((((au(v,65112)|0)!=0?(au(v,65117)|0)!=0:0)?(au(v,65123)|0)!=0:0)?(au(v,65127)|0)!=0:0)K=J;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65135,14);Lg(3196396);Lg(65152);Lg(65183);Lg(65213);Lg(65244);Lg(65272);Lg(3196396);Jg(65301,7);Lg(65123);Jg(65332,7);Lg(65117);Lg(3196396);Lg(65348);Lg(65380);Lg(3196396);Jg(62959,7);Jg(65413,7);K=1}if((au(v,94273)|0)!=0?(au(v,65443)|0)!=0:0)L=K;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65449,14);Lg(3196396);Lg(65459);Lg(65489);Lg(3196396);Lg(65502);Lg(65507);Lg(65516);Lg(65524);Lg(65532);Lg(65542);Lg(3196396);Jg(65549,6);Lg(3196396);Jg(65561,12);L=1}if(!(au(v,92620)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(65584,14);Lg(3196396);Lg(65601);Lg(65630);Lg(65658);Lg(65685);Lg(3196396);Jg(65712,7);Jg(65728,7);Jg(65758,7);Jg(65770,7);Jg(63997,7);Lg(3196396);Jg(65781,7);Jg(65796,7);M=1}else M=L;do if(au(v,65829)|0){if(!(au(v,65831)|0)){N=102;break}if(!(au(v,65833)|0)){N=102;break}if(au(v,65836)|0){O=M;P=0}else N=102}else N=102;while(0);do if((N|0)==102){if(!u){O=1;P=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);O=1;P=1}while(0);do if(au(v,65839)|0){if(!(au(v,65842)|0)){N=107;break}if(au(v,65845)|0){Q=O;R=P}else N=107}else N=107;while(0);do if((N|0)==107){if(!u){Q=1;R=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);Q=1;R=1}while(0);do if(au(v,65848)|0){if(!(au(v,65852)|0)){N=112;break}if(au(v,65855)|0){S=Q;T=R}else N=112}else N=112;while(0);do if((N|0)==112){if(!u){S=1;T=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);S=1;T=1}while(0);do if(au(v,65859)|0){if(!T){U=S;break}if(!u)N=120;else N=119}else{if(!u){N=120;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=119}while(0);if((N|0)==119){c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=120}if((N|0)==120){Jg(65865,14);Lg(3196396);Lg(65894);Lg(3196396);Lg(65921);Lg(3196396);Jg(65938,7);Jg(65963,7);Jg(65989,7);Jg(66014,7);Lg(3196396);Lg(66039);Lg(3196396);Lg(66064);Lg(3196396);Lg(66086);U=1}if(!(au(v,97449)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66110,14);Lg(3196396);Lg(66126);Lg(66151);Lg(3196396);Jg(66173,7);Jg(66183,7);Lg(97407);V=1}else V=U;if((au(v,66188)|0)!=0?(au(v,66193)|0)!=0:0)W=V;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66197,6);Lg(3196396);Jg(66227,12);Jg(66251,12);Jg(66274,12);Lg(3196396);Jg(62526,6);Lg(3196396);Jg(62794,12);Lg(3196396);Jg(63015,6);Lg(3196396);Jg(63402,12);W=1}if(!(au(v,62384)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66293,14);Lg(3196396);Lg(66324);Lg(3196396);Lg(66343);Lg(66376);Lg(66407);Lg(3196396);Lg(66433);Lg(66465);Lg(66496);X=1}else X=W;if(!(au(v,94593)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66529,14);Lg(3196396);Lg(66557);Lg(66590);Lg(3196396);Lg(66621);Lg(66654);Lg(66686);Lg(66717);Y=1}else Y=X;if(!(au(v,66739)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66743,14);Lg(3196396);Lg(66760);Lg(66793);Lg(3196396);Lg(66826);Lg(3196396);Lg(66847);Lg(3196396);Lg(66872);Lg(66901);Z=1}else Z=Y;do if(!(au(v,66916)|0)){if(!u){_=1;$=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);_=1;$=1}else{_=Z;$=0}while(0);if(!(a[v+1>>0]|0)){Z=a[v>>0]|0;if(($|0)==0&((Z&255)>153|Z<<24>>24>-1))aa=_;else N=148}else if(!$)aa=_;else N=148;if((N|0)==148){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(66923,14);Lg(3196396);Lg(66938);Lg(66966);Lg(66994);Lg(67022);Lg(67055);Lg(3196396);Jg(67071,6);Lg(3196396);Lg(67081);Lg(3196396);Jg(67105,6);Lg(3196396);Lg(67133);Lg(3196396);Lg(3196396);Lg(3196396);_=c[781024]|0;$=_+-15|0;Z=_+-5|0;_=c[781038]|0;Y=0;do{X=Y<<3;c[781038]=(c[3392+(Y<<2)>>2]|0)+(49072>>>Y<<31>>31);Ck(c[742782]|0,X,$,X|6,Z,(0-(Y&1)&3)+6|0)|0;c[781038]=_;Y=Y+1|0}while((Y|0)!=16);Jg(67150,12);aa=1}if(!(au(v,67175)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67180,14);Lg(3196396);Lg(67198);Lg(67229);Lg(67258);Lg(3196396);Lg(66826);Lg(3196396);Lg(66847);Lg(3196396);Lg(67291);Lg(3196396);Lg(67320);Lg(67351);Lg(3196396);Lg(67382);Lg(67413);Lg(67444);ba=1}else ba=aa;do if(au(v,67469)|0){if(!(au(v,67474)|0)){N=161;break}if(!(au(v,67478)|0)){N=161;break}if(au(v,67484)|0)ca=ba;else N=161}else N=161;while(0);if((N|0)==161){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67491,6);Lg(3196396);Lg(67506);Lg(3196396);Lg(67533);Lg(3196396);Lg(67559);Lg(67591);Lg(67621);Lg(3196396);Jg(67633,6);Lg(3196396);Jg(67647,12);ca=1}if((au(v,67678)|0)!=0?(au(v,67683)|0)!=0:0)da=ca;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67689,6);Lg(3196396);Jg(67720,12);Jg(67749,12);Jg(67778,12);Jg(67797,12);Jg(3196396,12);Jg(67820,6);Lg(3196396);Jg(67840,12);da=1}if((au(v,67869)|0)!=0?(au(v,67873)|0)!=0:0)ea=da;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(67877,14);Lg(3196396);Lg(67894);Lg(67926);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);da=c[781024]|0;ca=da+-34|0;vk(k,34,ca,20,7);ba=da+-48|0;bo(k,34,ca,48,ba,14);vk(k,48,ba,1,7);vk(k,34,ca,1,7);Bo(k,67957,c[742805]|0,28,da+-30|0,1,13)|0;Bo(k,67961,c[742805]|0,54,da+-53|0,1,13)|0;ba=da+-36|0;Bo(k,67980,c[742805]|0,57,ba,1,6)|0;bo(k,54,ca,52,ca,7);Bo(k,67984,c[742805]|0,27,da+-61|0,1,6)|0;aa=da+-54|0;Y=da+-52|0;bo(k,34,aa,34,Y,7);Bo(k,67989,c[742805]|0,1,ba,1,6)|0;bo(k,14,ca,16,ca,7);Bo(k,67993,c[742805]|0,27,da+-11|0,1,6)|0;bo(k,34,aa,34,Y,7);Lg(67998);Lg(68025);Lg(68055);Lg(68087);ea=1}if(!(au(v,68111)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68117,14);Lg(3196396);Lg(68132);Lg(68162);Lg(68194);Lg(68227);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Y=c[781024]|0;aa=Y+-34|0;vk(k,34,aa,20,7);da=Y+-48|0;bo(k,34,aa,48,da,14);vk(k,48,da,1,7);vk(k,34,aa,1,7);Bo(k,67957,c[742805]|0,28,Y+-30|0,1,13)|0;Bo(k,68257,c[742805]|0,54,Y+-53|0,1,13)|0;da=Y+-36|0;Bo(k,67980,c[742805]|0,57,da,1,6)|0;bo(k,54,aa,52,aa,7);Bo(k,67984,c[742805]|0,27,Y+-61|0,1,6)|0;ca=Y+-54|0;ba=Y+-52|0;bo(k,34,ca,34,ba,7);Bo(k,67989,c[742805]|0,1,da,1,6)|0;bo(k,14,aa,16,aa,7);Bo(k,67993,c[742805]|0,27,Y+-11|0,1,6)|0;bo(k,34,ca,34,ba,7);Lg(68268);fa=1}else fa=ea;if(!(au(v,68300)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68305,14);Lg(3196396);Lg(68315);ga=1}else ga=fa;if(!(au(v,68343)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68347,14);Jg(68358,14);Lg(3196396);Lg(68372);Lg(68402);Lg(68433);Lg(3196396);Lg(68456);Lg(68488);ha=1}else ha=ga;if(!(au(v,68517)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68523,14);Lg(3196396);Lg(68534);Lg(68566);Lg(68598);Lg(68626);Lg(68657);Lg(3196396);ia=1}else ia=ha;do if(au(v,68672)|0){if(!(au(v,68676)|0)){N=193;break}if(au(v,93421)|0)ja=ia;else N=193}else N=193;while(0);if((N|0)==193){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68680,14);Lg(3196396);Lg(68711);Lg(68740);Lg(68767);Lg(68795);Lg(3196396);Lg(68813);Lg(68833);Lg(68852);ja=1}if((au(v,68871)|0)!=0?(au(v,68875)|0)!=0:0)ka=ja;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(68880,14);Lg(3196396);Lg(68897);Lg(68929);Lg(68959);Lg(68990);Lg(3196396);Lg(69020);Lg(69041);Lg(69062);Lg(69083);Lg(69105);ka=1}if(!(au(v,69126)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69130,14);Lg(3196396);Lg(69139);Lg(69162);Lg(3196396);Lg(69178);la=1}else la=ka;if(!(au(v,69208)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69212,14);Lg(3196396);Lg(69221);Lg(69252);Lg(3196396);Lg(69264);Lg(69282);Lg(3196396);Lg(69300);Lg(69325);Lg(69353);Lg(69385);ma=1}else ma=la;if((au(v,69413)|0)!=0?(au(v,96848)|0)!=0:0)na=ma;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69418,14);Jg(69428,14);Lg(3196396);Lg(69434);Lg(69462);Lg(69491);Lg(69521);Lg(3196396);Lg(69526);Lg(69558);Lg(3196396);Jg(69569,7);Lg(69595);Lg(3196396);Jg(69607,13);Jg(69640,13);na=1}do if(au(v,69669)|0){if(!(au(v,69674)|0)){N=217;break}if(au(v,69676)|0)oa=na;else N=217}else N=217;while(0);if((N|0)==217){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69679,14);Jg(69692,14);Lg(3196396);Lg(69701);Lg(69462);Lg(69729);Lg(69757);Lg(3196396);Lg(69773);Lg(69804);Lg(69835);Lg(69804);Lg(69866);Lg(3196396);Jg(69897,7);Lg(69924);oa=1}do if(au(v,69936)|0){if(!(au(v,69940)|0)){N=223;break}if(au(v,69942)|0)pa=oa;else N=223}else N=223;while(0);if((N|0)==223){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(69945,14);Jg(69957,14);Lg(3196396);Lg(69966);Lg(69462);Lg(69993);Lg(70021);Lg(3196396);Lg(69773);Lg(69804);Lg(70036);Lg(69804);Lg(70067);Lg(3196396);Jg(70098,7);Lg(70125);pa=1}do if(au(v,70137)|0){if(!(au(v,70142)|0)){N=229;break}if(au(v,65842)|0)qa=pa;else N=229}else N=229;while(0);if((N|0)==229){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70145,14);Jg(70158,14);Jg(70167,14);Lg(3196396);Lg(70191);Lg(70221);Lg(70253);Lg(70286);Lg(70319);Lg(70352);Lg(3196396);Lg(69773);Lg(69804);Lg(70036);Lg(69804);Lg(70382);Lg(3196396);Jg(70413,7);Lg(70440);qa=1}do if(au(v,70452)|0){if(!(au(v,70456)|0)){N=235;break}if(au(v,70459)|0)ra=qa;else N=235}else N=235;while(0);if((N|0)==235){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70463,14);Jg(70475,14);Lg(3196396);Lg(70485);Lg(70513);Lg(3196396);Jg(70538,7);Lg(70564);ra=1}do if(au(v,70576)|0){if(!(au(v,70580)|0)){N=241;break}if(au(v,70583)|0)sa=ra;else N=241}else N=241;while(0);if((N|0)==241){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70587,14);Jg(70599,14);Lg(3196396);Lg(70609);Lg(70642);Lg(70672);Lg(70702);Lg(70730);Lg(3196396);Jg(70740,7);Lg(70768);sa=1}do if(au(v,70780)|0){if(!(au(v,70785)|0)){N=247;break}if(au(v,70789)|0)ta=sa;else N=247}else N=247;while(0);if((N|0)==247){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70587,14);Jg(70794,14);Lg(3196396);Lg(70805);Lg(70835);Lg(70867);Lg(3196396);Jg(70890,7);Lg(70919);ta=1}do if(au(v,70931)|0){if(!(au(v,70936)|0)){N=253;break}if(au(v,70940)|0)ua=ta;else N=253}else N=253;while(0);if((N|0)==253){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(70945,14);Jg(70958,14);Lg(3196396);Lg(70969);Lg(3196396);Jg(70996,7);Lg(71027);ua=1}do if(au(v,71039)|0){if(!(au(v,71044)|0)){N=259;break}if(au(v,71048)|0)va=ua;else N=259}else N=259;while(0);if((N|0)==259){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71053,14);Jg(71066,14);Lg(3196396);Lg(71077);Lg(3196396);Jg(71105,7);Lg(71136);va=1}if(!(au(v,71148)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71156,14);Lg(3196396);Lg(71166);Lg(71194);Lg(71223);Lg(71248);Lg(71277);Lg(71307);Lg(3196396);Lg(71327);Lg(3196396);Lg(71351);Lg(71382);Lg(71411);Lg(71443);Lg(3196396);Lg(71475);Lg(71492);wa=1}else wa=va;if((au(v,71504)|0)!=0?(au(v,71508)|0)!=0:0)xa=wa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71520,14);Lg(3196396);Lg(71534);Lg(71564);Lg(3196396);Jg(71593,7);Lg(71607);Lg(3196396);Lg(71610);Lg(71642);Lg(71671);Lg(71701);Lg(71733);Lg(71766);Lg(3196396);Lg(71793);Lg(3196396);Lg(71825);Lg(71847);xa=1}if(!(au(v,71880)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(71887,14);Lg(3196396);Lg(71896);Lg(71929);Lg(3196396);Jg(71962,7);Lg(71981);Lg(3196396);Lg(71986);Lg(72019);Lg(72052);Lg(3196396);Lg(72085);Lg(72117);Lg(72149);Lg(72180);Lg(72212);Lg(72243);Lg(72276);ya=1}else ya=xa;if((au(v,72306)|0)!=0?(au(v,72315)|0)!=0:0)za=ya;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72325,14);Lg(3196396);Lg(72337);Lg(72370);Lg(72399);Lg(72431);Lg(72463);Lg(72495);Lg(3196396);Lg(72528);Lg(72561);Lg(72594);Lg(72627);Lg(3196396);Jg(72648,7);Jg(72681,7);Lg(97407);Lg(3196396);Jg(72714,12);za=1}do if(au(v,72740)|0){if(!(au(v,72742)|0)){N=284;break}if(!(au(v,97447)|0)){N=284;break}if(au(v,72745)|0)Aa=za;else N=284}else N=284;while(0);if((N|0)==284){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72748,14);Lg(3196396);Lg(72770);Lg(3196396);Jg(72785,7);Lg(97405);Jg(72792,7);Jg(72798,7);Jg(66183,7);Lg(97401);Lg(3196396);Lg(72805);Lg(72837);Lg(3196396);Jg(72868,7);Lg(72882);Aa=1}do if(au(v,97321)|0){if(!(au(v,72889)|0)){N=291;break}if(!(au(v,97471)|0)){N=291;break}if(au(v,72892)|0)Ba=Aa;else N=291}else N=291;while(0);if((N|0)==291){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(72895,14);Lg(3196396);Lg(72918);Lg(72950);Lg(3196396);Jg(72968,7);Lg(72975);Jg(72978,7);Jg(72984,7);Jg(66183,7);Lg(97395);Lg(3196396);Lg(72991);Lg(73024);Lg(73054);Lg(3196396);Jg(73086,7);Lg(73107);Ba=1}if((au(v,73119)|0)!=0?(au(v,73121)|0)!=0:0)Ca=Ba;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73124,14);Lg(3196396);Lg(73153);Lg(73180);Lg(3196396);Jg(73209,7);Lg(97399);Jg(73236,7);Jg(73245,7);Jg(66183,7);Lg(97401);Ca=1}if((au(v,73254)|0)!=0?(au(v,73256)|0)!=0:0)Da=Ca;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73259,14);Lg(3196396);Lg(73283);Lg(73310);Lg(73340);Lg(3196396);Jg(73352,7);Lg(97393);Lg(3196396);Lg(73363);Lg(73393);Lg(73423);Lg(3196396);Lg(73454);Lg(73484);Lg(73513);Lg(73546);Lg(3196396);Jg(73575,12);Da=1}if((au(v,73608)|0)!=0?(au(v,73610)|0)!=0:0)Ea=Da;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73613,14);Lg(3196396);Lg(73639);Lg(73672);Lg(3196396);Jg(73693,7);Lg(73721);Jg(73725,7);Lg(97399);Lg(3196396);Jg(73737,13);Jg(73768,13);Jg(73800,13);Ea=1}if((au(v,96845)|0)!=0?(au(v,73829)|0)!=0:0)Fa=Ea;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(73833,14);Lg(3196396);Lg(73864);Lg(73896);Lg(73929);Lg(3196396);Jg(73961,7);Lg(73982);Jg(73994,7);Jg(74002,7);Lg(74017);Fa=1}if(!(au(v,74024)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74028,14);Lg(3196396);Lg(74045);Lg(3196396);Jg(74077,7);Jg(74101,7);Jg(74110,7);Jg(63997,7);Jg(74129,7);Lg(64160);Lg(97393);Lg(97395);Lg(97397);Lg(3196396);Jg(74146,12);Ga=1}else Ga=Fa;do if(au(v,74175)|0){if(!(au(v,74182)|0)){N=321;break}if(au(v,74189)|0)Ha=Ga;else N=321}else N=321;while(0);if((N|0)==321){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74194,14);Jg(74211,14);Jg(74224,14);Lg(3196396);Lg(74239);Lg(74268);Lg(3196396);Lg(74298);Lg(3196396);Lg(74331);Lg(74359);Lg(74387);Lg(3196396);Jg(74419,7);Jg(74440,7);Jg(74466,7);Jg(74496,7);Jg(63997,7);Jg(74515,7);Ha=1}if(!(au(v,74547)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74554,6);Lg(3196396);Jg(74577,12);Jg(74603,12);Jg(74631,12);Jg(3196396,12);Jg(74658,6);Lg(3196396);Jg(74676,12);Jg(74705,12);Jg(74735,12);Jg(3196396,12);Jg(74762,6);Lg(3196396);Jg(74774,12);Lg(3196396);Jg(74804,6);Lg(3196396);Jg(62502,12);Ja=1}else Ja=Ha;if(!(au(v,74812)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Lg(74818);Jg(74850,14);Lg(3196396);Lg(74860);Lg(74889);Lg(74921);Ka=1}else Ka=Ja;if(!(au(v,74948)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(74954,14);Lg(3196396);Lg(74964);Lg(74991);Lg(75018);Lg(75047);Lg(75074);Lg(75100);Lg(75131);Lg(75162);La=1}else La=Ka;if((au(v,75186)|0)!=0?(au(v,75194)|0)!=0:0)Ma=La;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75204,14);Lg(3196396);Lg(75228);Lg(75256);Lg(75287);Lg(75318);Lg(75345);Lg(75372);Ma=1}if(!(au(v,75380)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75384,6);Lg(3196396);Jg(75404,12);Jg(75435,12);Jg(75465,12);Jg(75495,12);Jg(75519,12);Jg(75539,12);Jg(75569,12);Na=1}else Na=Ma;if(!(au(v,75588)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75593,14);Lg(3196396);Lg(75602);Lg(75635);Lg(3196396);Lg(75661);Lg(75692);Lg(75724);Lg(3196396);Lg(75737);Lg(3196396);Jg(75764,7);Jg(75779,7);Jg(75811,7);Jg(63997,7);Oa=1}else Oa=Na;if(!(au(v,75819)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75826,14);Lg(3196396);Lg(75841);Lg(75871);Lg(3196396);Lg(75899);Pa=1}else Pa=Oa;if(!(au(v,75917)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(75922,14);Lg(3196396);Lg(75953);Lg(75984);Lg(76015);Lg(76047);Qa=1}else Qa=Pa;if(!(au(v,76068)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76072,14);Lg(3196396);Lg(76085);Lg(76116);Lg(76149);Ra=1}else Ra=Qa;if(!(au(v,76159)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76165,14);Lg(3196396);Lg(76180);Lg(76211);Lg(76240);Lg(3196396);Lg(76270);Lg(76301);Lg(76332);Lg(76363);Lg(3196396);Lg(76383);Lg(3196396);Lg(76412);Lg(76445);Lg(76478);Sa=1}else Sa=Ra;if((au(v,76508)|0)!=0?(au(v,76512)|0)!=0:0)Ta=Sa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76520,14);Lg(3196396);Lg(76539);Lg(3196396);Lg(76570);Lg(76595);Lg(76613);Lg(3196396);Lg(76633);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Lg(3196396);Sa=0;do{Ra=(Sa*10|0)+-40|0;Qa=Sa<<2;Pa=Ra+(c[781024]|0)|0;Pn(c[742782]|0,2,Pa,13,Pa+9|0,Qa);c[h>>2]=Qa;wt(j,76653,h)|0;Bo(c[742782]|0,j,c[742805]|0,4,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Oa=Qa|1;Pn(c[742782]|0,14,Pa,25,Pa+9|0,Oa);c[g>>2]=Oa;wt(j,76653,g)|0;Bo(c[742782]|0,j,c[742805]|0,16,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Oa=Qa|2;Pn(c[742782]|0,26,Pa,37,Pa+9|0,Oa);c[f>>2]=Oa;wt(j,76653,f)|0;Bo(c[742782]|0,j,c[742805]|0,28,Pa+2|0,1,7)|0;Pa=Ra+(c[781024]|0)|0;Ra=Qa|3;Pn(c[742782]|0,38,Pa,49,Pa+9|0,Ra);c[e>>2]=Ra;wt(j,76653,e)|0;Bo(c[742782]|0,j,c[742805]|0,40,Pa+2|0,1,(Ra|0)==7?5:7)|0;Sa=Sa+1|0}while((Sa|0)!=4);Ta=1}if(!(au(v,76657)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(76662,14);Lg(3196396);Lg(76675);Lg(76707);Lg(76738);Lg(76768);Lg(3196396);Lg(76787);Lg(3196396);Lg(76816);Lg(76846);Lg(76876);Lg(76908);Lg(3196396);Lg(76940);Lg(76971);Lg(76984);Lg(77014);Ua=1}else Ua=Ta;if(!(au(v,77028)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77034,14);Lg(3196396);Lg(77045);Lg(77076);Lg(77107);Lg(77139);Lg(77171);Lg(3196396);Lg(77204);Lg(77233);Lg(77262);Lg(77291);Lg(3196396);Lg(77320);Lg(3196396);Lg(3196396);Lg(77350);Lg(3196396);Lg(3196396);Ta=c[781024]|0;Sa=Ta+-29|0;j=c[781038]|0;c[781038]=33825;e=Ta+-21|0;Ck(c[742782]|0,4,Sa,60,e,120)|0;c[781038]=20640;Ck(c[742782]|0,64,Sa,120,e,120)|0;e=Ta+-11|0;c[781038]=47133;Ck(c[742782]|0,4,e,40,Ta,46)|0;c[781038]=20927;Ck(c[742782]|0,44,e,80,Ta,46)|0;c[781038]=31455;Ck(c[742782]|0,84,e,120,Ta,46)|0;c[781038]=j;Va=1}else Va=Ua;if(!(au(v,77378)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77383,14);Lg(3196396);Lg(77415);Lg(77443);Lg(77472);Lg(77505);Wa=1}else Wa=Va;if((au(v,77519)|0)!=0?(au(v,77524)|0)!=0:0)Xa=Wa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77533,14);Jg(77563,14);Lg(3196396);Lg(77594);Lg(77621);Lg(77646);Lg(77672);Xa=1}if((au(v,77690)|0)!=0?(au(v,77696)|0)!=0:0)Ya=Xa;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77706,14);Jg(77737,14);Lg(3196396);Lg(77594);Lg(77769);Lg(77799);Ya=1}if((au(v,77828)|0)!=0?(au(v,77833)|0)!=0:0)Za=Ya;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77842,14);Jg(77872,14);Lg(3196396);Lg(77903);Lg(77932);Za=1}if((au(v,77953)|0)!=0?(au(v,77958)|0)!=0:0)_a=Za;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(77967,14);Jg(77994,14);Lg(3196396);Lg(78022);Lg(78052);Lg(78081);Lg(78109);_a=1}if(!(au(v,78116)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78120,14);Jg(78146,14);Lg(3196396);Lg(78168);Lg(78198);Lg(78225);Lg(78258);Lg(3196396);Lg(78276);Lg(78308);Lg(78339);Lg(3196396);Lg(78369);Lg(78402);$a=1}else $a=_a;if((au(v,78430)|0)!=0?(au(v,78435)|0)!=0:0)bb=$a;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78440,14);Jg(78452,14);Lg(3196396);Lg(78469);Lg(78501);Lg(78534);bb=1}if((au(v,78564)|0)!=0?(au(v,78569)|0)!=0:0)cb=bb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78574,14);Jg(78589,14);Jg(78610,14);Lg(3196396);Lg(78629);Lg(78662);Lg(78693);Lg(78726);Lg(3196396);Lg(78759);Lg(78784);Lg(78815);Lg(78848);Lg(3196396);Lg(78870);Lg(78901);cb=1}if(!(au(v,78930)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(78936,14);Jg(78966,14);Lg(3196396);Lg(78991);Lg(79023);Lg(79052);Lg(79080);Lg(79113);Lg(3196396);Lg(79144);Lg(79174);Lg(79204);Lg(3196396);Lg(79235);Lg(79247);Lg(79275);Lg(79304);Lg(79330);Lg(79356);db=1}else db=cb;if(!(au(v,79382)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79386,14);Jg(79409,14);Lg(3196396);Lg(79431);Lg(3196396);Lg(79453);Lg(79484);Lg(79517);Lg(3196396);Lg(79538);Lg(79570);Lg(3196396);Lg(79603);Lg(79632);eb=1}else eb=db;if(!(au(v,79657)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79662,14);Jg(79693,14);Lg(3196396);Lg(79725);Lg(79757);Lg(3196396);Lg(79782);Lg(79813);Lg(79845);Lg(3196396);Lg(79603);Lg(79871);gb=1}else gb=eb;if((au(v,79897)|0)!=0?(au(v,79902)|0)!=0:0)hb=gb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(79907,14);Jg(79919,14);Lg(3196396);Lg(79936);Lg(79968);hb=1}if((au(v,79995)|0)!=0?(au(v,8e4)|0)!=0:0)ib=hb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80005,14);Jg(80017,14);Lg(3196396);Lg(79936);Lg(80034);ib=1}if((au(v,80056)|0)!=0?(au(v,80062)|0)!=0:0)jb=ib;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80064,14);Jg(80090,14);Lg(3196396);Lg(80111);Lg(80140);Lg(3196396);Lg(80171);Lg(80200);Lg(3196396);Lg(80223);Lg(3196396);Jg(80232,13);Lg(80251);Lg(80281);Lg(80311);Lg(80329);Lg(80360);Lg(80391);Lg(80408);jb=1}if(!(au(v,80416)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80423,14);Jg(80449,14);Lg(3196396);Lg(80478);Lg(80509);Lg(80538);Lg(80571);Lg(80597);Lg(3196396);Lg(80616);Lg(80649);Lg(80674);Lg(80705);Lg(80738);kb=1}else kb=jb;if(!(au(v,80747)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(80754,14);Lg(3196396);Lg(80775);Lg(3196396);Lg(80799);Lg(80833);lb=1}else lb=kb;do if(au(v,80854)|0){if(!(au(v,80859)|0)){N=455;break}if(au(v,80865)|0){mb=lb;nb=0}else N=455}else N=455;while(0);do if((N|0)==455){if(!u){mb=1;nb=1;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);mb=1;nb=1}while(0);do if(au(v,80871)|0){if(!(au(v,80873)|0)){N=459;break}if(!nb){ob=mb;break}if(!u)N=464;else N=463}else N=459;while(0);do if((N|0)==459){if(!u){N=464;break}c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=463}while(0);if((N|0)==463){c[781024]=0;c[781023]=0;Nn(c[742782]|0);N=464}if((N|0)==464){Jg(80875,14);Lg(3196396);Lg(80893);Lg(80926);Lg(80959);Lg(80991);Lg(81024);Lg(3196396);Lg(81048);Lg(3196396);Jg(81078,7);Lg(3196396);Lg(81100);Lg(3196396);Jg(81125,7);Jg(81146,7);Jg(81168,7);ob=1}do if(au(v,81190)|0){if(!(au(v,81195)|0)){N=468;break}if(au(v,81201)|0)pb=ob;else N=468}else N=468;while(0);if((N|0)==468){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81207,14);Lg(3196396);Lg(81239);Lg(81270);Lg(81299);Lg(81331);Lg(3196396);Lg(81348);Lg(3196396);Jg(81378,7);pb=1}if(!(au(v,81408)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81415,14);Lg(3196396);Lg(81440);Lg(81471);Lg(81499);Lg(3196396);Lg(81510);Lg(3196396);Lg(81539);qb=1}else qb=pb;if(!(au(v,81568)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81575,14);Lg(3196396);Lg(81600);Lg(81632);Lg(81657);Lg(81688);Lg(3196396);Lg(81700);Lg(81733);Lg(3196396);Jg(81758,7);rb=1}else rb=qb;if(!(au(v,81788)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(81795,14);Lg(3196396);Lg(81826);Lg(81854);Lg(81883);Lg(3196396);Lg(81913);Lg(3196396);Lg(81942);Lg(81971);Lg(81999);Lg(3196396);Lg(82028);Lg(82055);Lg(82084);sb=1}else sb=rb;if(!(au(v,82100)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82107,14);Lg(3196396);Lg(81826);Lg(82138);Lg(82169);Lg(3196396);Lg(82192);Lg(82222);tb=1}else tb=sb;if(!(au(v,82249)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82258,14);Lg(3196396);Lg(82290);Lg(3196396);Lg(82321);Lg(82353);Lg(82382);Lg(3196396);Lg(82403);Lg(82432);Lg(82462);Lg(82495);Lg(3196396);Lg(82517);Lg(82547);Lg(82578);Lg(3196396);Lg(82587);Lg(82615);ub=1}else ub=tb;if(!(au(v,82643)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(82652,14);Lg(3196396);Lg(82667);Lg(82698);Lg(82730);Lg(82762);Lg(3196396);Lg(82793);Lg(82825);Lg(82857);Lg(82889);Lg(3196396);Lg(82908);Lg(82938);Lg(82968);Lg(82998);vb=1}else vb=ub;if((au(v,83028)|0)!=0?(au(v,83033)|0)!=0:0)wb=vb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83038,14);Jg(83048,14);Lg(3196396);Lg(83064);Lg(83096);Lg(3196396);Lg(83129);Lg(83159);Lg(83189);Lg(83219);Lg(3196396);Lg(83252);Lg(83280);Lg(83311);wb=1}if(!(au(v,83323)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83327,14);Lg(3196396);Lg(83352);Lg(83385);Lg(83415);Lg(83448);Lg(83478);Lg(83508);Lg(83540);Lg(3196396);Jg(83568,7);Jg(83593,7);Jg(83619,7);Lg(3196396);Lg(83643);Lg(3196396);Jg(83675,7);Jg(83685,7);Lg(83692);xb=1}else xb=wb;if(!(au(v,83694)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83698,14);Lg(3196396);Lg(83728);Lg(83758);Lg(3196396);Lg(83777);Jg(83782,7);Lg(3196396);Lg(83792);Jg(83801,7);yb=1}else yb=xb;if(!(au(v,83827)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(83831,14);Lg(3196396);Lg(83856);Lg(83888);Lg(3196396);Lg(83921);Lg(83953);Lg(3196396);Jg(83983,7);Jg(84004,7);Lg(3196396);Lg(84025);Jg(84037,7);Lg(3196396);Lg(84060);Jg(84090,7);zb=1}else zb=yb;if(!(au(v,84123)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84129,14);Lg(3196396);Lg(3196396);Lg(84159);Lg(84190);Lg(84216);Lg(3196396);Lg(84248);Lg(84280);Lg(84309);Lg(84339);Lg(3196396);Jg(84351,7);Jg(84377,7);Jg(84407,7);Lg(84436);Ab=1}else Ab=zb;if(!(au(v,84459)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84465,14);Lg(3196396);Lg(84488);Lg(3196396);Lg(84513);Lg(3196396);Lg(84535);Lg(84567);Lg(3196396);Lg(84590);Lg(84611);Lg(84641);Lg(84670);Bb=1}else Bb=Ab;if(!(au(v,84696)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(84702,14);Lg(3196396);Lg(84725);Lg(84753);Lg(84783);Lg(3196396);Lg(84513);Lg(3196396);Lg(84796);Lg(84827);Lg(84854);Lg(84885);Lg(84914);Lg(3196396);Jg(84945,7);Jg(84974,7);Jg(85002,7);Jg(85025,7);Cb=1}else Cb=Bb;if(!(au(v,85042)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85046,14);Lg(3196396);Lg(85071);Lg(85101);Lg(3196396);Jg(85121,7);Lg(3196396);Lg(85141);Lg(85168);Lg(85194);Lg(3196396);Jg(85204,7);Jg(85219,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Db=1}else Db=Cb;if(!(au(v,85302)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85306,14);Lg(3196396);Lg(85322);Lg(85351);Lg(85381);Lg(3196396);Lg(85413);Lg(85445);Lg(3196396);Jg(85477,7);Jg(85490,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Eb=1}else Eb=Db;if(!(au(v,85511)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85516,14);Lg(3196396);Lg(85535);Lg(85565);Lg(85381);Lg(3196396);Lg(85413);Lg(85445);Lg(3196396);Lg(85596);Lg(85628);Lg(3196396);Jg(85654,7);Jg(85666,7);Jg(85686,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Fb=1}else Fb=Eb;if(!(au(v,85704)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85708,14);Lg(3196396);Lg(85719);Lg(85748);Lg(3196396);Jg(85775,7);Jg(85785,7);Jg(85798,7);Jg(85817,7);Jg(63997,7);Jg(85830,7);Lg(3196396);Jg(85249,13);Jg(85278,13);Gb=1}else Gb=Fb;if(!(au(v,85841)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85849,14);Lg(3196396);Lg(85870);Lg(85903);Lg(85936);Lg(3196396);Jg(85952,7);Lg(97393);Lg(97395);Lg(85982);Lg(3196396);Jg(85249,13);Jg(85278,13);Hb=1}else Hb=Gb;if(!(au(v,85986)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(85992,14);Lg(3196396);Lg(86005);Lg(86036);Lg(86068);Lg(86100);Lg(86129);Lg(86162);Lg(3196396);Jg(86187,7);Jg(86217,7);Jg(86240,7);Jg(63997,7);Lg(3196396);Lg(86268);Lg(86279);Ib=1}else Ib=Hb;if(!(au(v,86293)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86297,14);Lg(3196396);Lg(86316);Lg(86345);Lg(86371);Lg(3196396);Lg(86393);Lg(86424);Lg(86456);Jb=1}else Jb=Ib;if(!(au(v,86465)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86470,14);Lg(3196396);Lg(86488);Lg(86515);Lg(86544);Lg(3196396);Lg(86555);Lg(86585);Lg(86613);Lg(86645);Kb=1}else Kb=Jb;if(!(au(v,86658)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86665,14);Jg(86676,14);Lg(3196396);Lg(86683);Lg(86709);Lg(86739);Lg(3196396);Lg(86759);Lg(86788);Lg(86819);Lg(86852);Lb=1}else Lb=Kb;if(!(au(v,86860)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(86866,14);Lg(3196396);Lg(86876);Lg(86907);Lg(86939);Lg(3196396);Lg(86947);Lg(86974);Lg(87005);Lg(3196396);Lg(87019);Lg(87052);Lg(87084);Lg(87115);Lg(87144);Mb=1}else Mb=Lb;if(!(au(v,87153)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87159,14);Lg(3196396);Lg(87169);Lg(87195);Lg(87221);Lg(3196396);Lg(87243);Jg(87264,12);Nb=1}else Nb=Mb;do if(au(v,87273)|0){if(!(au(v,87264)|0)){N=572;break}if(!(au(v,87282)|0)){N=572;break}if(au(v,87292)|0)Ob=Nb;else N=572}else N=572;while(0);if((N|0)==572){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87303,14);Jg(87317,14);Lg(3196396);Lg(87347);Lg(87373);Lg(87401);Lg(3196396);Jg(87425,7);Jg(87440,7);Jg(87465,7);Jg(87475,7);Jg(87465,7);Jg(87499,7);Jg(63997,7);Jg(3196396,7);Jg(87517,7);Jg(87535,7);Jg(87567,7);Jg(87598,7);Ob=1}if(!(au(v,87626)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87635,14);Lg(3196396);Lg(87649);Lg(87673);Lg(3196396);Lg(87698);Lg(87708);Lg(87720);Pb=1}else Pb=Ob;if((au(v,87727)|0)!=0?(au(v,87732)|0)!=0:0)Qb=Pb;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87734,14);Jg(87743,14);Lg(3196396);Lg(87750);Lg(87780);Lg(87806);Lg(87837);Qb=1}if(!(au(v,87864)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(87873,14);Lg(3196396);Lg(87905);Lg(87936);Lg(87964);Lg(3196396);Lg(87988);Lg(88019);Lg(88050);Lg(88079);Lg(88110);Lg(88140);Lg(3196396);Jg(88166,7);Jg(88197,7);Jg(88218,7);Lg(3196396);Lg(88223);Lg(88252);Rb=1}else Rb=Qb;if(!(au(v,88284)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88289,14);Lg(3196396);Lg(88299);Lg(88317);Lg(88343);Lg(88369);Lg(88391);Lg(88411);Lg(88432);Lg(88460);Lg(88491);Lg(88521);Lg(88547);Lg(88575);Lg(88603);Lg(88634);Lg(88653);Sb=1}else Sb=Rb;if(!(au(v,88683)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88690,14);Lg(3196396);Lg(88719);Lg(88747);Lg(3196396);Lg(88770);Lg(3196396);Lg(88779);Lg(88811);Lg(88835);Lg(88868);Lg(88888);Lg(88901);Tb=1}else Tb=Sb;if(!(au(v,88915)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(88922,14);Lg(3196396);Lg(88940);Lg(88971);Lg(3196396);Lg(89002);Lg(89020);Lg(89038);Lg(89071);Lg(89093);Lg(89119);Lg(89146);Lg(89175);Lg(89205);Lg(89238);Lg(89270);Lg(89301);Ub=1}else Ub=Tb;if(!(au(v,89329)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(89334,14);Jg(89352,14);Jg(89384,14);Lg(3196396);Lg(89400);Lg(89430);Lg(89458);Lg(89490);Lg(89521);Lg(89551);Lg(89580);Lg(89611);Lg(3196396);Lg(89640);Lg(89670);Vb=1}else Vb=Ub;if(!(au(v,89701)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(89706,14);Lg(3196396);Lg(89724);Lg(89756);Lg(89785);Lg(89818);Lg(3196396);Jg(89839,7);Lg(89850);Lg(3196396);Lg(89863);Lg(89896);Lg(89928);Lg(3196396);Lg(89961);Jg(89988,7);Lg(3196396);Lg(9e4);Lg(90031);Wb=1}else Wb=Vb;if(!(au(v,90056)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90063,14);Lg(3196396);Lg(90083);Lg(90114);Lg(90144);Lg(3196396);Lg(90177);Lg(90206);Lg(90236);Lg(3196396);Jg(90266,7);Xb=1}else Xb=Wb;if(!(au(v,90290)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90297,14);Lg(3196396);Lg(90318);Lg(3196396);Lg(90347);Lg(90366);Lg(90396);Lg(90424);Lg(90451);Lg(90474);Lg(3196396);Lg(90503);Jg(90517,7);Lg(3196396);Lg(90539);Jg(90569,7);Lg(3196396);Lg(90592);Jg(90610,7);Yb=1}else Yb=Xb;if(!(au(v,90642)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90647,14);Lg(3196396);Lg(90656);Lg(90687);Lg(3196396);Lg(90715);Lg(90725);Lg(90741);Zb=1}else Zb=Yb;if(!(au(v,90758)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(90765,14);Lg(3196396);Lg(90784);Lg(90815);Lg(3196396);Lg(90838);Lg(90869);Lg(3196396);Lg(90889);Lg(90898);Lg(90906);Lg(90911);Lg(3196396);Lg(90920);Lg(90952);Lg(90985);_b=1}else _b=Zb;if(!(au(v,91017)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91026,14);Lg(3196396);Lg(91039);Lg(91070);Lg(3196396);Lg(91093);Lg(3196396);Lg(91122);Lg(91140);$b=1}else $b=_b;if((au(v,91162)|0)!=0?(au(v,91165)|0)!=0:0)ac=$b;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91169,14);Lg(3196396);Lg(91183);Lg(91208);Lg(3196396);Lg(91224);ac=1}if(!(au(v,91250)|0)){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91257,14);Lg(3196396);Lg(91039);Lg(91268);Lg(3196396);Lg(91292);Lg(91323);bc=1}else bc=ac;if((au(v,91350)|0)!=0?(au(v,92375)|0)!=0:0)cc=bc;else{if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91357,14);Jg(91368,14);Lg(3196396);Lg(91375);Lg(91401);Lg(3196396);Lg(91420);Lg(91449);Lg(91478);Lg(3196396);Lg(91508);Lg(91536);Lg(91564);cc=1}do if(!(au(v,91573)|0))N=644;else{if(!(au(v,91579)|0)){N=644;break}if(cc|0)break;Jg(91783,13);Lg(v);Ia=d;return}while(0);if((N|0)==644){if(u|0){c[781024]=0;c[781023]=0;Nn(c[742782]|0)}Jg(91586,14);Jg(91596,14);Lg(3196396);Lg(91608);Lg(91634);Lg(91666);Lg(91697);Lg(91728);Lg(3196396);Lg(91760)}Lg(3196396);Ia=d;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;$r(b,e,f,g);a:do if((a|0)<4){b=c[e>>2]|0;h=B((b|0)/2|0,b)|0;i=c[f>>2]|0;b:do if(((B((i|0)/2|0,i)|0)+h|0)>134217728)switch(a|0){case 0:{j=b<<8;k=0-j|0;if((32767-j|0)>>>0>8388606){l=(k|0)<-32767?0:255;break a}l=(k|0)/32768|0;break a;break}case 1:{if((b+127|0)>>>0>32766){l=(b|0)<-127?0:255;break a}l=(b|0)/128|0;break a;break}case 2:{k=i<<8;j=0-k|0;if((32767-k|0)>>>0>8388606){l=(j|0)<-32767?0:255;break a}l=(j|0)/32768|0;break a;break}case 3:{if((i+127|0)>>>0>32766){l=(i|0)<-127?0:255;break a}l=(i|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{l=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{l=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{l=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{l=255;break a}break}default:break b}while(0);l=0}else switch(a|0){case 4:{l=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{l=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{l=(c[g>>2]&64|0)==0?0:255;break a;break}default:{l=0;break a}}while(0);Ia=d;return l|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b>>>0>7){d=0;return d|0}e=b-(c[484613]|0)|0;b=c[484614]|0;f=(b|0)>1?b:1;if(e|0){if((e|0)<=0){d=0;return d|0}d=jl(a,e+-1+f|0)|0;return d|0}if((f|0)<=0){d=0;return d|0}e=0;b=0;while(1){g=jl(a,e)|0;h=(b|0)>(g|0)?b:g;e=e+1|0;if(e>>>0>=f>>>0){d=h;break}else b=h}return d|0}function ll(a){a=a|0;return ((c[484629]|0)==(a|0)|(c[484630]|0)==(a|0)|(c[484631]|0)==(a|0)|(c[484632]|0)==(a|0)|(c[484633]|0)==(a|0)|(c[484634]|0)==(a|0))&1|0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;h=(b|0)==0;a:do if(h){switch(a|0){case 0:{i=c[484629]|0;j=(i|0)==0?80:i;k=0;l=0;m=9;break}case 1:{i=c[484630]|0;j=(i|0)==0?79:i;k=0;l=0;m=9;break}case 2:{i=c[484631]|0;j=(i|0)==0?82:i;k=0;l=0;m=9;break}case 3:{i=c[484632]|0;j=(i|0)==0?81:i;k=0;l=0;m=9;break}case 4:{i=c[484633]|0;j=(i|0)==0?29:i;k=1;l=0;m=9;break}case 5:{i=c[484634]|0;j=(i|0)==0?27:i;k=0;l=1;m=9;break}default:{n=0;o=0;p=0}}if((m|0)==9){n=k;o=l;p=qo(j)|0}if(!(qo(-5)|0)){if(n){i=c[484633]|0;q=qo((i|0)==0?6:i)|0|p}else q=p;if(o){i=c[484634]|0;r=qo((i|0)==0?25:i)|0|q}else r=q}else r=p;if(n){i=c[484633]|0;s=qo((i|0)==0?17:i)|0|r}else s=r;if(o&(qo(-5)|0)==0){i=c[484634]|0;t=qo((i|0)==0?16:i)|0|s}else t=s;i=(a|0)==6;if(i){u=c[484641]|0;v=qo((u|0)==0?19:u)|0|t;u=c[484641]|0;w=v|(qo((u|0)==0?40:u)|0)}else w=t;if(i&((c[798799]|0)==2&(((c[780894]|0)!=1|(c[780901]|0)==0|(c[485555]|0)!=0)^1))){i=c[484641]|0;x=qo((i|0)==0?41:i)|0|w}else x=w}else{if((b|0)!=1){if(!(a>>>0<6&(b|1|0)==3)){x=0;break}i=c[1938516+((b*6|1)+a<<2)>>2]|0;if((i|0)<=0){x=0;break}x=(qo(i)|0)!=0&1;break}switch(a|0){case 0:{i=c[484635]|0;if(!i){x=qo(22)|0;break a}else{x=qo(i)|0;break a}break}case 1:{i=c[484636]|0;if(!i){x=qo(9)|0;break a}else{x=qo(i)|0;break a}break}case 2:{i=c[484637]|0;if(!i){x=qo(8)|0;break a}else{x=qo(i)|0;break a}break}case 3:{i=c[484638]|0;if(!i){x=qo(7)|0;break a}else{x=qo(i)|0;break a}break}case 4:{i=c[484639]|0;u=qo((i|0)==0?225:i)|0;i=c[484639]|0;v=qo((i|0)==0?43:i)|0|u;u=c[484639]|0;x=v|(qo((u|0)==0?26:u)|0);break a;break}case 5:{u=c[484640]|0;v=qo((u|0)==0?4:u)|0;u=c[484640]|0;x=qo((u|0)==0?20:u)|0|v;break a;break}default:{x=0;break a}}}while(0);w=c[3125228+(b<<2)>>2]|0;b=x|(w|0)!=-1&(w&1<<a|0)!=0&1;if(!((a+-4|0)>>>0<3&h)){y=b;Ia=d;return y|0}if((($k(2971096,c[781999]|0,24365)|0)&3|0)!=3){y=b;Ia=d;return y|0}cs(e,f,g);switch(a|0){case 4:{z=c[g>>2]&2;break}case 5:{z=c[g>>2]&1;break}default:z=c[g>>2]&4}y=(z|0)==0?b:x|1;Ia=d;return y|0}function nl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;a=(c[485558]|0)==0?0:2;b=c[485555]|0;d=a;while(1){c[3124700+(d<<2)>>2]=1;c[3124188+(d<<2)>>2]=0;if(!b){e=$k(2971096,c[781999]|0,24412)|0;f=c[485555]|0;g=(e|0)==0?15:e}else{f=b;g=15}h=c[554962]|0;if(!(f|h)){e=c[798455]|0;i=(e|0)>0?e:30}else i=30;c[3125260+(d<<2)>>2]=((B(i,g)|0)/30|0)+1;d=d+1|0;if((d|0)==8)break;else b=f}b=h;h=f;f=a;while(1){c[3124732+(f<<2)>>2]=1;c[3124220+(f<<2)>>2]=0;if(!h){d=$k(2971096,c[781999]|0,24412)|0;j=c[485555]|0;k=c[554962]|0;l=(d|0)==0?15:d}else{j=h;k=b;l=15}if(!(j|k)){d=c[798455]|0;m=(d|0)>0?d:30}else m=30;c[3125292+(f<<2)>>2]=((B(m,l)|0)/30|0)+1;f=f+1|0;if((f|0)==8)break;else{b=k;h=j}}h=j;j=k;k=a;while(1){c[3124764+(k<<2)>>2]=1;c[3124252+(k<<2)>>2]=0;if(!h){b=$k(2971096,c[781999]|0,24412)|0;n=c[485555]|0;o=c[554962]|0;p=(b|0)==0?15:b}else{n=h;o=j;p=15}if(!(n|o)){b=c[798455]|0;q=(b|0)>0?b:30}else q=30;c[3125324+(k<<2)>>2]=((B(q,p)|0)/30|0)+1;k=k+1|0;if((k|0)==8)break;else{h=n;j=o}}j=n;n=o;o=a;while(1){c[3124796+(o<<2)>>2]=1;c[3124284+(o<<2)>>2]=0;if(!j){h=$k(2971096,c[781999]|0,24412)|0;r=c[485555]|0;s=c[554962]|0;t=(h|0)==0?15:h}else{r=j;s=n;t=15}if(!(r|s)){h=c[798455]|0;u=(h|0)>0?h:30}else u=30;c[3125356+(o<<2)>>2]=((B(u,t)|0)/30|0)+1;o=o+1|0;if((o|0)==8)break;else{j=r;n=s}}n=r;r=s;s=a;while(1){c[3124828+(s<<2)>>2]=1;c[3124316+(s<<2)>>2]=0;if(!n){j=$k(2971096,c[781999]|0,24412)|0;v=c[485555]|0;w=c[554962]|0;x=(j|0)==0?15:j}else{v=n;w=r;x=15}if(!(v|w)){j=c[798455]|0;y=(j|0)>0?j:30}else y=30;c[3125388+(s<<2)>>2]=((B(y,x)|0)/30|0)+1;s=s+1|0;if((s|0)==8)break;else{n=v;r=w}}r=v;v=w;w=a;while(1){c[3124860+(w<<2)>>2]=1;c[3124348+(w<<2)>>2]=0;if(!r){n=$k(2971096,c[781999]|0,24412)|0;z=c[485555]|0;A=c[554962]|0;C=(n|0)==0?15:n}else{z=r;A=v;C=15}if(!(z|A)){n=c[798455]|0;D=(n|0)>0?n:30}else D=30;c[3125420+(w<<2)>>2]=((B(D,C)|0)/30|0)+1;w=w+1|0;if((w|0)==8)break;else{r=z;v=A}}v=z;z=A;A=a;while(1){c[3124892+(A<<2)>>2]=1;c[3124380+(A<<2)>>2]=0;if(!v){r=$k(2971096,c[781999]|0,24412)|0;E=c[485555]|0;F=c[554962]|0;G=(r|0)==0?15:r}else{E=v;F=z;G=15}if(!(E|F)){r=c[798455]|0;H=(r|0)>0?r:30}else H=30;c[3125452+(A<<2)>>2]=((B(H,G)|0)/30|0)+1;A=A+1|0;if((A|0)==8)break;else{v=E;z=F}}z=E;E=F;F=a;while(1){c[3124924+(F<<2)>>2]=1;c[3124412+(F<<2)>>2]=0;if(!z){a=$k(2971096,c[781999]|0,24412)|0;I=c[485555]|0;J=c[554962]|0;K=(a|0)==0?15:a}else{I=z;J=E;K=15}if(!(I|J)){a=c[798455]|0;L=(a|0)>0?a:30}else L=30;c[3125484+(F<<2)>>2]=((B(L,K)|0)/30|0)+1;F=F+1|0;if((F|0)==8)break;else{z=I;E=J}}return}function ol(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;Wv(3124188,0,256)|0;if((c[535463]|0)>0){c[781047]=tp(2)|0;c[781048]=tp(2)|0;c[781049]=tp(2)|0;c[781050]=tp(2)|0;c[781051]=tp(2)|0;c[781052]=tp(2)|0;c[781055]=tp(2)|0;c[781056]=tp(2)|0;c[781057]=tp(2)|0;c[781058]=tp(2)|0;c[781059]=tp(2)|0;c[781060]=tp(2)|0;c[781063]=tp(2)|0;c[781064]=tp(2)|0;c[781065]=tp(2)|0;c[781066]=tp(2)|0;c[781067]=tp(2)|0;c[781068]=tp(2)|0;c[781071]=tp(2)|0;c[781072]=tp(2)|0;c[781073]=tp(2)|0;c[781074]=tp(2)|0;c[781075]=tp(2)|0;c[781076]=tp(2)|0;c[781079]=tp(2)|0;c[781080]=tp(2)|0;c[781081]=tp(2)|0;c[781082]=tp(2)|0;c[781083]=tp(2)|0;c[781084]=tp(2)|0;c[781087]=tp(2)|0;c[781088]=tp(2)|0;c[781089]=tp(2)|0;c[781090]=tp(2)|0;c[781091]=tp(2)|0;c[781092]=tp(2)|0;c[781095]=tp(2)|0;c[781096]=tp(2)|0;c[781097]=tp(2)|0;c[781098]=tp(2)|0;c[781099]=tp(2)|0;c[781100]=tp(2)|0;c[781103]=tp(2)|0;c[781104]=tp(2)|0;c[781105]=tp(2)|0;c[781106]=tp(2)|0;c[781107]=tp(2)|0;c[781108]=tp(2)|0;return}a=0;do{b=0;do{do if(!(ml(b,a)|0)){d=a-(c[484613]|0)|0;e=c[484614]|0;f=(e|0)>1?e:1;if(!d){if((f|0)>0){e=0;g=0;while(1){h=jl(b,e)|0;i=(g|0)>(h|0)?g:h;e=e+1|0;if(e>>>0>=f>>>0){j=i;k=12;break}else g=i}}}else if((d|0)>0){j=jl(b,d+-1+f|0)|0;k=12}if((k|0)==12?(k=0,(j|0)>128):0){k=13;break}c[3124700+(a<<5)+(b<<2)>>2]=0}else k=13;while(0);if(((k|0)==13?(k=0,(c[3124700+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[3124188+(a<<5)+(b<<2)>>2]=1,(c[3124444+(a<<5)+(b<<2)>>2]|0)==0):0){g=c[485555]|0;if(!g){e=$k(2971096,c[781999]|0,24412)|0;l=c[485555]|0;m=(e|0)==0?15:e}else{l=g;m=15}if(!(l|c[554962])){g=c[798455]|0;n=(g|0)>0?g:30}else n=30;c[3125260+(a<<5)+(b<<2)>>2]=((B(n,m)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[781303]=c[554951];c[781304]=c[554952];c[554951]=0;c[554952]=0;c[781305]=c[554957];c[781306]=c[554958];c[554957]=0;c[554958]=0;if(!(c[485591]|0))return;c[781053]=1;c[485591]=0;return}function pl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[780894]|0)!=1|(c[780901]|0)==0|(c[485555]|0)!=0)a=0;else{ol();a=1}b=0;do{d=3124956+(b<<5)|0;c[d>>2]=0;e=c[3124188+(b<<5)>>2]|0;f=3124444+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+4|0;c[d>>2]=0;g=c[3124188+(b<<5)+4>>2]|0;h=3124444+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+8|0;c[d>>2]=0;e=c[3124188+(b<<5)+8>>2]|0;f=3124444+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+12|0;c[d>>2]=0;g=c[3124188+(b<<5)+12>>2]|0;h=3124444+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+16|0;c[d>>2]=0;e=c[3124188+(b<<5)+16>>2]|0;f=3124444+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+20|0;c[d>>2]=0;g=c[3124188+(b<<5)+20>>2]|0;h=3124444+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3124956+(b<<5)+24|0;c[d>>2]=0;e=c[3124188+(b<<5)+24>>2]|0;f=3124444+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[3125260+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3124956+(b<<5)+28|0;c[d>>2]=0;g=c[3124188+(b<<5)+28>>2]|0;h=3124444+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[3125260+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[3124700+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if(($k(2971096,c[781999]|0,24412)|0)!=255){b=0;do{d=3125260+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;i=c[485555]|0;j=(e|0)==0?4:e}else{i=f;j=4}if(!(i|c[554962])){f=c[798455]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,j)|0)/30|0}d=3125260+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;l=c[485555]|0;m=(f|0)==0?4:f}else{l=e;m=4}if(!(l|c[554962])){e=c[798455]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,m)|0)/30|0}d=3125260+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;o=c[485555]|0;p=(e|0)==0?4:e}else{o=f;p=4}if(!(o|c[554962])){f=c[798455]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,p)|0)/30|0}d=3125260+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;r=c[485555]|0;s=(f|0)==0?4:f}else{r=e;s=4}if(!(r|c[554962])){e=c[798455]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,s)|0)/30|0}d=3125260+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;u=c[485555]|0;v=(e|0)==0?4:e}else{u=f;v=4}if(!(u|c[554962])){f=c[798455]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,v)|0)/30|0}d=3125260+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;x=c[485555]|0;y=(f|0)==0?4:f}else{x=e;y=4}if(!(x|c[554962])){e=c[798455]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,y)|0)/30|0}d=3125260+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[485555]|0;if(!f){e=$k(2971096,c[781999]|0,24413)|0;A=c[485555]|0;C=(e|0)==0?4:e}else{A=f;C=4}if(!(A|c[554962])){f=c[798455]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,C)|0)/30|0}d=3125260+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[485555]|0;if(!e){f=$k(2971096,c[781999]|0,24413)|0;E=c[485555]|0;F=(f|0)==0?4:f}else{E=e;F=4}if(!(E|c[554962])){e=c[798455]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,F)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;ol();return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[3124188+(b<<5)+(a<<2)>>2]|0;if(!(c[3124444+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[3125260+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function rl(a,b){a=a|0;b=b|0;var c=0;c=Nv(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Qv(c|0,G()|0,16)|0;G()|0;return a|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Lv(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=0;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=Lv(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=d;j=0-b|0}else{i=a;j=b}b=j&-65536;a=j-b|0;if((b|0)>65535){j=b;b=65536;d=i;while(1){e=((d|0)<0)<<31>>31;h=Nv(d|0,e|0,b|0,((b|0)<0)<<31>>31|0)|0;f=Qv(h|0,G()|0,16)|0;G()|0;h=(j&65536|0)==0?b:f;f=Nv(d|0,e|0,d|0,e|0)|0;d=Qv(f|0,G()|0,16)|0;G()|0;if(j>>>0<=131071){k=h;break}else{j=j>>>1;b=h}}}else k=65536;if((a|0)>0){b=k;j=i;i=a;while(1){if((i|0)<65536){a=j;d=i;while(1){h=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;f=G()|0;if((a|0)<0)l=0;else{e=1073741824;g=0;while(1){m=Qv(g|0,e|0,2)|0;n=G()|0;if(e>>>0>f>>>0|(e|0)==(f|0)&g>>>0>h>>>0){e=n;g=m}else break}if((g|0)==0&(e|0)==0)o=0;else{m=0;n=0;p=g;q=e;r=f;s=h;while(1){t=Hv(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0<u>>>0|(r|0)==(u|0)&s>>>0<t>>>0){v=Qv(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=Iv(s|0,r|0,t|0,u|0)|0;u=G()|0;t=Qv(m|0,n|0,1)|0;A=Hv(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=Qv(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}jh(8);l=o}s=d<<1;if((d|0)<32768){a=l;d=s}else{B=l;C=s;break}}}else{B=j;C=i}d=Nv(B|0,((B|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=Qv(d|0,G()|0,16)|0;G()|0;if((C|0)>65536){b=a;j=B;i=C+-65536|0}else{D=a;break}}}else D=k;jh(8);c=D;return c|0}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Rv(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=Qv(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=Hv(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0<j>>>0|(i|0)==(j|0)&c>>>0<b>>>0){k=Qv(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=Iv(c|0,i|0,b|0,j|0)|0;j=G()|0;b=Qv(a|0,g|0,1)|0;p=Hv(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=Qv(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}jh(8);d=h;return d|0}function wl(a,b){a=a|0;b=b|0;return wp(a,b)|0}function xl(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=34912;d=3;break}case 1:{b=34916;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function yl(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=34912;break}case 1:{d=34916;break}default:return}c[d>>2]=b;return}function zl(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8729]=b;c[8728]=b^-1095947846;b=0;do{c[8728]=(c[8728]|0)>>>16|c[8728]<<16;c[8728]=(c[8728]|0)+(c[8729]|0);c[8729]=(c[8729]|0)+(c[8728]|0);b=b+1|0}while((b|0)!=32);jh(8);return}function Al(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8728]=(c[8728]|0)>>>16|c[8728]<<16;c[8728]=(c[8728]|0)+(c[8729]|0);c[8729]=(c[8729]|0)+(c[8728]|0);b=((c[8728]|0)>>>0)%(a>>>0)|0;return b|0}function Bl(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<<b)+-1&a>>>(0-c&31)|a<<b|0}function Cl(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=0-c&31;return (1<<b)+-1&a>>>(c&31)|a<<b|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)<0){c=b;while(1){if((c|0)<-2031616){d=0;e=9;break}f=c&-65536;g=0-f|0;if((g|0)>=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function El(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=Dl(a,0-(b&-65536)|0)|0;return c|0}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function Gl(a,b){a=a|0;b=b|0;var d=0;d=xq(2092)|0;wq(d,0,2092);c[d>>2]=Sn(a,b,8)|0;c[d+24>>2]=Sn(a,b,8)|0;c[d+16>>2]=Sn(a,b,8)|0;c[d+20>>2]=Sn(a,b,8)|0;return d|0}function Hl(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Wv(1446272,0,16384)|0;g=c[554428]|0;if(!g){h=Ys(524288)|0;c[554428]=h;i=h;j=h}else{i=g;j=g}Wv(i|0,0,524288)|0;i=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=g;g=g+1|0;k=1446272+((((d[a+g>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=j+(f<<1)|0;c[k>>2]=o;p=n<<16>>16<0?-1:(n&65535)<<1&65535;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;Vv(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=q;t=r;u=f+2+(p&65535)|0;v=o}else{s=n;t=m;u=f;v=l}}else{l=j+(f<<1)|0;c[k>>2]=l;b[l>>1]=4;k=l+2|0;b[k>>1]=0;s=0;t=k;u=f+6|0;v=l}b[v+((s&65535)+2<<1)>>1]=h;b[t>>1]=s+1<<16>>16;if((g|0)==(i|0))break;else f=u}return}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0;g=Ia;Ia=Ia+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);Hl(b,f);c[8730]=1;c[554427]=0;c[554425]=e;c[554426]=0;if(!f){q=0;Ia=g;return q|0}p=xq(f)|0;Vv(p|0,b|0,f|0)|0;r=c[554425]|0;s=c[8730]|0;t=c[554426]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[554426]=x;w=d[s>>0]|0;c[554427]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=z;D=x;E=314}else{F=t;G=y;H=u;I=x;J=v;E=312}}else{v=r+x|0;c[554426]=x;u=d[v>>0]|0;c[554427]=u;y=u&254;a[v>>0]=y;F=x;G=y;H=v;I=t+2|0;J=2;E=312}do if((E|0)==312){t=(J^255)&(G&255);a[H>>0]=t;v=J<<1;if((v|0)==256){y=r+I|0;c[554426]=I;x=d[y>>0]|0;c[554427]=x;A=1;B=y;C=x;D=I;E=314;break}x=(v^255)&t;a[H>>0]=x;t=J<<2;if((t|0)==256){v=r+I|0;c[554426]=I;y=d[v>>0]|0;c[554427]=y;u=y&254;a[v>>0]=u;K=2;L=v;M=u;N=I;E=319}else{O=F;P=x;Q=H;R=I;S=t;E=317}}while(0);if((E|0)==314){I=(A^255)&C;a[B>>0]=I;O=D;P=I;Q=B;R=D+1|0;S=A<<1;E=317}do if((E|0)==317){A=(S^255)&(P&255);a[Q>>0]=A;D=S<<1;if((D|0)==256){B=r+R|0;c[554426]=R;I=d[B>>0]|0;c[554427]=I;K=1;L=B;M=I;N=R;E=319;break}I=(D^255)&A;a[Q>>0]=I;A=S<<2;if((A|0)==256){D=r+R|0;c[554426]=R;B=d[D>>0]|0;c[554427]=B;C=B&254;a[D>>0]=C;T=2;U=D;V=C;W=R;E=324}else{X=O;Y=I;Z=Q;_=R;$=A;E=322}}while(0);if((E|0)==319){R=(K^255)&M;a[L>>0]=R;X=N;Y=R;Z=L;_=N+1|0;$=K<<1;E=322}do if((E|0)==322){K=($^255)&(Y&255);a[Z>>0]=K;N=$<<1;if((N|0)==256){L=r+_|0;c[554426]=_;R=d[L>>0]|0;c[554427]=R;T=1;U=L;V=R;W=_;E=324;break}R=(N^255)&K;a[Z>>0]=R;K=$<<2;if((K|0)==256){N=r+_|0;c[554426]=_;L=d[N>>0]|0;c[554427]=L;aa=_;ba=1;ca=N;da=L;ea=_+1|0}else{fa=X;ga=R;ha=Z;ia=_;ja=K;E=326}}while(0);if((E|0)==324){_=(T^255)&V;a[U>>0]=_;fa=W;ga=_;ha=U;ia=W+1|0;ja=T<<1;E=326}if((E|0)==326){aa=fa;ba=ja;ca=ha;da=ga&255;ea=ia}c[8730]=ba;ia=c[554431]|0;c[554431]=ia+8;ga=(ba^255)&da;a[ca>>0]=ga;da=ba<<1;if((da|0)!=256){ha=(da^255)&ga;a[ca>>0]=ha;ga=ba<<2;if((ga|0)==256){ba=r+ea|0;c[554426]=ea;da=d[ba>>0]|0;c[554427]=da;ja=da&254;a[ba>>0]=ja;ka=2;la=ba;ma=ja;na=ea;E=296}else{oa=aa;pa=ha;qa=ca;ra=ea;sa=ga;E=294}}else{ga=r+ea|0;c[554426]=ea;ca=d[ga>>0]|0;c[554427]=ca;ha=ca&254;a[ga>>0]=ha;oa=ea;pa=ha;qa=ga;ra=ea+1|0;sa=2;E=294}do if((E|0)==294){ea=(sa^255)&(pa&255);a[qa>>0]=ea;ga=sa<<1;if((ga|0)==256){ha=r+ra|0;c[554426]=ra;ca=d[ha>>0]|0;c[554427]=ca;ka=1;la=ha;ma=ca;na=ra;E=296;break}ca=(ga^255)&ea;a[qa>>0]=ca;ea=sa<<2;if((ea|0)==256){ga=r+ra|0;c[554426]=ra;ha=d[ga>>0]|0;c[554427]=ha;ta=1;ua=ra;va=ga;wa=ha;xa=ra+1|0}else{ya=oa;za=ca;Aa=qa;Ba=ra;Ca=ea;E=298}}while(0);if((E|0)==296){ra=(ka^255)&ma;a[la>>0]=ra;ya=na;za=ra;Aa=la;Ba=na+1|0;Ca=ka<<1;E=298}if((E|0)==298){ta=Ca;ua=ya;va=Aa;wa=za&255;xa=Ba}Ba=ta|(ta^255)&wa;a[va>>0]=Ba;wa=ta<<1;if((wa|0)==256){ta=r+xa|0;c[554426]=xa;za=d[ta>>0]|0;c[554427]=za;Da=1;Ea=xa;Fa=ta;Ga=za;Ha=xa+1|0}else{Da=wa;Ea=ua;Fa=va;Ga=Ba&255;Ha=xa}xa=Da|(Da^255)&Ga;a[Fa>>0]=xa;Ga=Da<<1;if((Ga|0)==256){Da=r+Ha|0;c[554426]=Ha;Ba=d[Da>>0]|0;c[554427]=Ba;Ja=1;Ka=Ha;La=Da;Ma=Ba;Na=Ha+1|0}else{Ja=Ga;Ka=Ea;La=Fa;Ma=xa&255;Na=Ha}Ha=Ja|(Ja^255)&Ma;a[La>>0]=Ha;Ma=Ja<<1;if((Ma|0)!=256){xa=(Ma^255)&(Ha&255);a[La>>0]=xa;Ha=Ja<<2;if((Ha|0)==256){Ja=r+Na|0;c[554426]=Na;Ma=d[Ja>>0]|0;c[554427]=Ma;Oa=Na;Pa=1;Qa=Ja;Ra=Ma;Sa=Na+1|0}else{Oa=Ka;Pa=Ha;Qa=La;Ra=xa;Sa=Na}}else{xa=r+Na|0;c[554426]=Na;La=d[xa>>0]|0;c[554427]=La;Ha=La&254;a[xa>>0]=Ha;Oa=Na;Pa=2;Qa=xa;Ra=Ha;Sa=Na+1|0}c[8730]=Pa;c[554431]=ia+16;Na=(Pa^255)&Ra;a[Qa>>0]=Na;Ra=Pa<<1;do if((Ra|0)!=256){Ha=(Ra^255)&(Na&255);a[Qa>>0]=Ha;xa=Pa<<2;if((xa|0)==256){La=r+Sa|0;c[554426]=Sa;Ka=d[La>>0]|0;c[554427]=Ka;Ta=1;Ua=La;Va=Ka;E=275;break}Ka=(xa^255)&Ha;a[Qa>>0]=Ka;Ha=Pa<<3;if((Ha|0)==256){xa=r+Sa|0;c[554426]=Sa;La=d[xa>>0]|0;c[554427]=La;Wa=1;Xa=Sa;Ya=xa;Za=La;_a=Sa+1|0}else{$a=Oa;ab=Ka;bb=Qa;cb=Sa;db=Ha;E=277}}else{Ha=r+Sa|0;c[554426]=Sa;Ka=d[Ha>>0]|0;c[554427]=Ka;La=Ka&254;a[Ha>>0]=La;Ta=2;Ua=Ha;Va=La;E=275}while(0);if((E|0)==275){Qa=(Ta^255)&Va;a[Ua>>0]=Qa;$a=Sa;ab=Qa;bb=Ua;cb=Sa+1|0;db=Ta<<1;E=277}if((E|0)==277){Wa=db;Xa=$a;Ya=bb;Za=ab&255;_a=cb}cb=Wa|(Wa^255)&Za;a[Ya>>0]=cb;Za=Wa<<1;if((Za|0)==256){Wa=r+_a|0;c[554426]=_a;ab=d[Wa>>0]|0;c[554427]=ab;eb=1;fb=_a;gb=Wa;hb=ab;ib=_a+1|0}else{eb=Za;fb=Xa;gb=Ya;hb=cb&255;ib=_a}_a=eb|(eb^255)&hb;a[gb>>0]=_a;hb=eb<<1;if((hb|0)==256){eb=r+ib|0;c[554426]=ib;cb=d[eb>>0]|0;c[554427]=cb;jb=1;kb=ib;lb=eb;mb=cb;nb=ib+1|0}else{jb=hb;kb=fb;lb=gb;mb=_a&255;nb=ib}ib=jb|(jb^255)&mb;a[lb>>0]=ib;mb=jb<<1;if((mb|0)==256){jb=r+nb|0;c[554426]=nb;_a=d[jb>>0]|0;c[554427]=_a;ob=1;pb=nb;qb=jb;rb=_a;sb=nb+1|0}else{ob=mb;pb=kb;qb=lb;rb=ib&255;sb=nb}nb=ob|(ob^255)&rb;a[qb>>0]=nb;rb=ob<<1;if((rb|0)!=256){ib=(rb^255)&(nb&255);a[qb>>0]=ib;nb=ob<<2;if((nb|0)==256){ob=r+sb|0;c[554426]=sb;rb=d[ob>>0]|0;c[554427]=rb;tb=sb;ub=1;vb=ob;wb=rb;xb=sb+1|0}else{tb=pb;ub=nb;vb=qb;wb=ib;xb=sb}}else{ib=r+sb|0;c[554426]=sb;qb=d[ib>>0]|0;c[554427]=qb;nb=qb&254;a[ib>>0]=nb;tb=sb;ub=2;vb=ib;wb=nb;xb=sb+1|0}c[8730]=ub;c[554431]=ia+24;sb=ub|(ub^255)&wb;a[vb>>0]=sb;wb=ub<<1;do if((wb|0)!=256){nb=(wb^255)&(sb&255);a[vb>>0]=nb;ib=ub<<2;if((ib|0)==256){qb=r+xb|0;c[554426]=xb;pb=d[qb>>0]|0;c[554427]=pb;yb=1;zb=qb;Ab=pb;E=256;break}pb=(ib^255)&nb;a[vb>>0]=pb;nb=ub<<3;if((nb|0)==256){ib=r+xb|0;c[554426]=xb;qb=d[ib>>0]|0;c[554427]=qb;rb=qb&254;a[ib>>0]=rb;Bb=2;Cb=ib;Db=rb;Eb=xb;E=261}else{Fb=tb;Gb=pb;Hb=vb;Ib=xb;Jb=nb;E=259}}else{nb=r+xb|0;c[554426]=xb;pb=d[nb>>0]|0;c[554427]=pb;rb=pb&254;a[nb>>0]=rb;yb=2;zb=nb;Ab=rb;E=256}while(0);if((E|0)==256){vb=(yb^255)&Ab;a[zb>>0]=vb;Fb=xb;Gb=vb;Hb=zb;Ib=xb+1|0;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Gb&255);a[Hb>>0]=yb;xb=Jb<<1;if((xb|0)==256){zb=r+Ib|0;c[554426]=Ib;vb=d[zb>>0]|0;c[554427]=vb;Bb=1;Cb=zb;Db=vb;Eb=Ib;E=261;break}vb=(xb^255)&yb;a[Hb>>0]=vb;yb=Jb<<2;if((yb|0)==256){xb=r+Ib|0;c[554426]=Ib;zb=d[xb>>0]|0;c[554427]=zb;Kb=1;Lb=Ib;Mb=xb;Nb=zb;Ob=Ib+1|0}else{Pb=Fb;Qb=vb;Rb=Hb;Sb=Ib;Tb=yb;E=263}}while(0);if((E|0)==261){Ib=(Bb^255)&Db;a[Cb>>0]=Ib;Pb=Eb;Qb=Ib;Rb=Cb;Sb=Eb+1|0;Tb=Bb<<1;E=263}if((E|0)==263){Kb=Tb;Lb=Pb;Mb=Rb;Nb=Qb&255;Ob=Sb}Sb=Kb|(Kb^255)&Nb;a[Mb>>0]=Sb;Nb=Kb<<1;if((Nb|0)==256){Kb=r+Ob|0;c[554426]=Ob;Qb=d[Kb>>0]|0;c[554427]=Qb;Ub=1;Vb=Ob;Wb=Kb;Xb=Qb;Yb=Ob+1|0}else{Ub=Nb;Vb=Lb;Wb=Mb;Xb=Sb&255;Yb=Ob}Ob=Ub|(Ub^255)&Xb;a[Wb>>0]=Ob;Xb=Ub<<1;if((Xb|0)!=256){Sb=(Xb^255)&(Ob&255);a[Wb>>0]=Sb;Ob=Ub<<2;if((Ob|0)==256){Ub=r+Yb|0;c[554426]=Yb;Xb=d[Ub>>0]|0;c[554427]=Xb;Zb=Yb;_b=1;$b=Ub;ac=Xb;bc=Yb+1|0}else{Zb=Vb;_b=Ob;$b=Wb;ac=Sb;bc=Yb}}else{Sb=r+Yb|0;c[554426]=Yb;Wb=d[Sb>>0]|0;c[554427]=Wb;Ob=Wb&254;a[Sb>>0]=Ob;Zb=Yb;_b=2;$b=Sb;ac=Ob;bc=Yb+1|0}c[8730]=_b;c[554431]=ia+32;Yb=(f|0)/256|0;Ob=((Yb&1|0)==0?0:_b)|(_b^255)&ac;a[$b>>0]=Ob;ac=_b<<1;if((ac|0)==256){_b=r+bc|0;c[554426]=bc;Sb=d[_b>>0]|0;c[554427]=Sb;cc=1;dc=bc;ec=_b;fc=Sb;gc=bc+1|0}else{cc=ac;dc=Zb;ec=$b;fc=Ob&255;gc=bc}bc=((Yb&2|0)==0?0:cc)|(cc^255)&fc;a[ec>>0]=bc;fc=cc<<1;if((fc|0)==256){cc=r+gc|0;c[554426]=gc;Ob=d[cc>>0]|0;c[554427]=Ob;hc=1;ic=gc;jc=cc;kc=Ob;lc=gc+1|0}else{hc=fc;ic=dc;jc=ec;kc=bc&255;lc=gc}gc=((Yb&4|0)==0?0:hc)|(hc^255)&kc;a[jc>>0]=gc;kc=hc<<1;if((kc|0)==256){hc=r+lc|0;c[554426]=lc;bc=d[hc>>0]|0;c[554427]=bc;mc=1;nc=lc;oc=hc;pc=bc;qc=lc+1|0}else{mc=kc;nc=ic;oc=jc;pc=gc&255;qc=lc}lc=((Yb&8|0)==0?0:mc)|(mc^255)&pc;a[oc>>0]=lc;pc=mc<<1;if((pc|0)==256){mc=r+qc|0;c[554426]=qc;gc=d[mc>>0]|0;c[554427]=gc;rc=1;sc=qc;tc=mc;uc=gc;vc=qc+1|0}else{rc=pc;sc=nc;tc=oc;uc=lc&255;vc=qc}qc=((Yb&16|0)==0?0:rc)|(rc^255)&uc;a[tc>>0]=qc;uc=rc<<1;if((uc|0)==256){rc=r+vc|0;c[554426]=vc;lc=d[rc>>0]|0;c[554427]=lc;wc=1;xc=vc;yc=rc;zc=lc;Ac=vc+1|0}else{wc=uc;xc=sc;yc=tc;zc=qc&255;Ac=vc}vc=((Yb&32|0)==0?0:wc)|(wc^255)&zc;a[yc>>0]=vc;zc=wc<<1;if((zc|0)==256){wc=r+Ac|0;c[554426]=Ac;qc=d[wc>>0]|0;c[554427]=qc;Bc=1;Cc=Ac;Dc=wc;Ec=qc;Fc=Ac+1|0}else{Bc=zc;Cc=xc;Dc=yc;Ec=vc&255;Fc=Ac}Ac=((Yb&64|0)==0?0:Bc)|(Bc^255)&Ec;a[Dc>>0]=Ac;Ec=Bc<<1;if((Ec|0)==256){Bc=r+Fc|0;c[554426]=Fc;vc=d[Bc>>0]|0;c[554427]=vc;Gc=1;Hc=Fc;Ic=Bc;Jc=vc;Kc=Fc+1|0}else{Gc=Ec;Hc=Cc;Ic=Dc;Jc=Ac&255;Kc=Fc}Fc=((Yb&128|0)==0?0:Gc)|(Gc^255)&Jc;a[Ic>>0]=Fc;Jc=Gc<<1;if((Jc|0)==256){Gc=r+Kc|0;c[554426]=Kc;Ac=d[Gc>>0]|0;c[554427]=Ac;Lc=Kc;Mc=1;Nc=Gc;Oc=Ac;Pc=Kc+1|0}else{Lc=Hc;Mc=Jc;Nc=Ic;Oc=Fc&255;Pc=Kc}c[8730]=Mc;c[554431]=ia+40;Kc=f-(Yb<<8)|0;Yb=((Kc&1|0)==0?0:Mc)|(Mc^255)&Oc;a[Nc>>0]=Yb;Oc=Mc<<1;if((Oc|0)==256){Mc=r+Pc|0;c[554426]=Pc;Fc=d[Mc>>0]|0;c[554427]=Fc;Qc=1;Rc=Pc;Sc=Mc;Tc=Fc;Uc=Pc+1|0}else{Qc=Oc;Rc=Lc;Sc=Nc;Tc=Yb&255;Uc=Pc}Pc=((Kc&2|0)==0?0:Qc)|(Qc^255)&Tc;a[Sc>>0]=Pc;Tc=Qc<<1;if((Tc|0)==256){Qc=r+Uc|0;c[554426]=Uc;Yb=d[Qc>>0]|0;c[554427]=Yb;Vc=1;Wc=Uc;Xc=Qc;Yc=Yb;Zc=Uc+1|0}else{Vc=Tc;Wc=Rc;Xc=Sc;Yc=Pc&255;Zc=Uc}Uc=((Kc&4|0)==0?0:Vc)|(Vc^255)&Yc;a[Xc>>0]=Uc;Yc=Vc<<1;if((Yc|0)==256){Vc=r+Zc|0;c[554426]=Zc;Pc=d[Vc>>0]|0;c[554427]=Pc;_c=1;$c=Zc;ad=Vc;bd=Pc;cd=Zc+1|0}else{_c=Yc;$c=Wc;ad=Xc;bd=Uc&255;cd=Zc}Zc=((Kc&8|0)==0?0:_c)|(_c^255)&bd;a[ad>>0]=Zc;bd=_c<<1;if((bd|0)==256){_c=r+cd|0;c[554426]=cd;Uc=d[_c>>0]|0;c[554427]=Uc;dd=1;ed=cd;fd=_c;gd=Uc;hd=cd+1|0}else{dd=bd;ed=$c;fd=ad;gd=Zc&255;hd=cd}cd=((Kc&16|0)==0?0:dd)|(dd^255)&gd;a[fd>>0]=cd;gd=dd<<1;if((gd|0)==256){dd=r+hd|0;c[554426]=hd;Zc=d[dd>>0]|0;c[554427]=Zc;id=1;jd=hd;kd=dd;ld=Zc;md=hd+1|0}else{id=gd;jd=ed;kd=fd;ld=cd&255;md=hd}hd=((Kc&32|0)==0?0:id)|(id^255)&ld;a[kd>>0]=hd;ld=id<<1;if((ld|0)==256){id=r+md|0;c[554426]=md;cd=d[id>>0]|0;c[554427]=cd;nd=1;od=md;pd=id;qd=cd;rd=md+1|0}else{nd=ld;od=jd;pd=kd;qd=hd&255;rd=md}md=((Kc&64|0)==0?0:nd)|(nd^255)&qd;a[pd>>0]=md;qd=nd<<1;if((qd|0)==256){nd=r+rd|0;c[554426]=rd;hd=d[nd>>0]|0;c[554427]=hd;sd=1;td=rd;ud=nd;vd=hd;wd=rd+1|0}else{sd=qd;td=od;ud=pd;vd=md&255;wd=rd}rd=((Kc&128|0)==0?0:sd)|(sd^255)&vd;a[ud>>0]=rd;vd=sd<<1;if((vd|0)==256){sd=r+wd|0;c[554426]=wd;Kc=d[sd>>0]|0;c[554427]=Kc;xd=wd;yd=1;zd=sd;Ad=Kc;Bd=wd+1|0}else{xd=td;yd=vd;zd=ud;Ad=rd&255;Bd=wd}c[8730]=yd;c[554431]=ia+48;wd=(yd^255)&Ad;a[zd>>0]=wd;Ad=yd<<1;do if((Ad|0)==256){rd=r+Bd|0;c[554426]=Bd;ud=d[rd>>0]|0;c[554427]=ud;vd=ud&254;a[rd>>0]=vd;Cd=Bd;Dd=vd;Ed=rd;Fd=Bd+1|0;Gd=2;E=197}else{rd=(Ad^255)&wd;a[zd>>0]=rd;vd=yd<<2;if((vd|0)!=256){Cd=xd;Dd=rd;Ed=zd;Fd=Bd;Gd=vd;E=197;break}vd=r+Bd|0;c[554426]=Bd;rd=d[vd>>0]|0;c[554427]=rd;ud=rd&254;a[vd>>0]=ud;Hd=2;Id=vd;Jd=ud;Kd=Bd;E=199}while(0);do if((E|0)==197){Bd=(Gd^255)&(Dd&255);a[Ed>>0]=Bd;zd=Gd<<1;if((zd|0)==256){xd=r+Fd|0;c[554426]=Fd;yd=d[xd>>0]|0;c[554427]=yd;Hd=1;Id=xd;Jd=yd;Kd=Fd;E=199;break}yd=(zd^255)&Bd;a[Ed>>0]=yd;Bd=Gd<<2;if((Bd|0)!=256){Ld=Cd;Md=yd;Nd=Ed;Od=Fd;Pd=Bd;E=202;break}Bd=r+Fd|0;c[554426]=Fd;yd=d[Bd>>0]|0;c[554427]=yd;zd=yd&254;a[Bd>>0]=zd;Qd=2;Rd=Bd;Sd=zd;Td=Fd;E=204}while(0);if((E|0)==199){Fd=(Hd^255)&Jd;a[Id>>0]=Fd;Ld=Kd;Md=Fd;Nd=Id;Od=Kd+1|0;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Md&255);a[Nd>>0]=Hd;Kd=Pd<<1;if((Kd|0)==256){Id=r+Od|0;c[554426]=Od;Fd=d[Id>>0]|0;c[554427]=Fd;Qd=1;Rd=Id;Sd=Fd;Td=Od;E=204;break}Fd=(Kd^255)&Hd;a[Nd>>0]=Fd;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Fd;Wd=Nd;Xd=Od;Yd=Hd;E=207;break}Hd=r+Od|0;c[554426]=Od;Fd=d[Hd>>0]|0;c[554427]=Fd;Kd=Fd&254;a[Hd>>0]=Kd;Zd=2;_d=Hd;$d=Kd;ae=Od;E=209}while(0);if((E|0)==204){Od=(Qd^255)&Sd;a[Rd>>0]=Od;Ud=Td;Vd=Od;Wd=Rd;Xd=Td+1|0;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Vd&255);a[Wd>>0]=Qd;Td=Yd<<1;if((Td|0)==256){Rd=r+Xd|0;c[554426]=Xd;Od=d[Rd>>0]|0;c[554427]=Od;Zd=1;_d=Rd;$d=Od;ae=Xd;E=209;break}Od=(Td^255)&Qd;a[Wd>>0]=Od;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Od;de=Wd;ee=Xd;fe=Qd;E=211;break}Qd=r+Xd|0;c[554426]=Xd;Od=d[Qd>>0]|0;c[554427]=Od;ge=Xd;he=1;ie=Qd;je=Od;ke=Xd+1|0}while(0);if((E|0)==209){Xd=(Zd^255)&$d;a[_d>>0]=Xd;be=ae;ce=Xd;de=_d;ee=ae+1|0;fe=Zd<<1;E=211}if((E|0)==211){ge=be;he=fe;ie=de;je=ce&255;ke=ee}c[8730]=he;c[554431]=ia+56;ee=(he^255)&je;a[ie>>0]=ee;je=he<<1;do if((je|0)==256){ce=r+ke|0;c[554426]=ke;de=d[ce>>0]|0;c[554427]=de;fe=de&254;a[ce>>0]=fe;le=ke;me=fe;ne=ce;oe=ke+1|0;pe=2;E=179}else{ce=(je^255)&ee;a[ie>>0]=ce;fe=he<<2;if((fe|0)!=256){le=ge;me=ce;ne=ie;oe=ke;pe=fe;E=179;break}fe=r+ke|0;c[554426]=ke;ce=d[fe>>0]|0;c[554427]=ce;de=ce&254;a[fe>>0]=de;qe=2;re=fe;se=de;te=ke;E=181}while(0);do if((E|0)==179){ke=(pe^255)&(me&255);a[ne>>0]=ke;ie=pe<<1;if((ie|0)==256){ge=r+oe|0;c[554426]=oe;he=d[ge>>0]|0;c[554427]=he;qe=1;re=ge;se=he;te=oe;E=181;break}he=(ie^255)&ke;a[ne>>0]=he;ke=pe<<2;if((ke|0)!=256){ue=le;ve=he;we=ne;xe=oe;ye=ke;E=184;break}ke=r+oe|0;c[554426]=oe;he=d[ke>>0]|0;c[554427]=he;ie=he&254;a[ke>>0]=ie;ze=2;Ae=ke;Be=ie;Ce=oe;E=186}while(0);if((E|0)==181){oe=(qe^255)&se;a[re>>0]=oe;ue=te;ve=oe;we=re;xe=te+1|0;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(ve&255);a[we>>0]=qe;te=ye<<1;if((te|0)==256){re=r+xe|0;c[554426]=xe;oe=d[re>>0]|0;c[554427]=oe;ze=1;Ae=re;Be=oe;Ce=xe;E=186;break}oe=(te^255)&qe;a[we>>0]=oe;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=oe;Fe=we;Ge=xe;He=qe;E=189;break}qe=r+xe|0;c[554426]=xe;oe=d[qe>>0]|0;c[554427]=oe;te=oe&254;a[qe>>0]=te;Ie=xe;Je=2;Ke=qe;Le=te;E=191}while(0);if((E|0)==186){xe=(ze^255)&Be;a[Ae>>0]=xe;De=Ce;Ee=xe;Fe=Ae;Ge=Ce+1|0;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ee&255);a[Fe>>0]=ze;Ce=He<<1;if((Ce|0)==256){Ae=r+Ge|0;c[554426]=Ge;xe=d[Ae>>0]|0;c[554427]=xe;Ie=Ge;Je=1;Ke=Ae;Le=xe;E=191;break}a[Fe>>0]=(Ce^255)&ze;ze=He<<2;if((ze|0)!=256){Me=De;Ne=ze;E=193;break}c[554426]=Ge;ze=d[r+Ge>>0]|0;c[554427]=ze;Oe=1;Pe=Ge;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Ie;Ne=Je<<1;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[554427]|0}c[8730]=Oe;c[554431]=ia+64;c[554422]=0;c[554423]=0;c[554424]=0;ia=Pe<<16|Oe|Qe<<8;Vv(l|0,j|0,1024)|0;Vv(m|0,k|0,1024)|0;if((f|0)>0){Qe=0;Oe=ia;Me=ia>>16;Ne=ia>>8;ia=Pe;Pe=0;Je=0;Ie=0;while(1){Le=Jl(p,Qe,f,h,i)|0;Ke=d[p+Qe>>0]|0;Ge=k+(Ke<<2)|0;r=c[Ge>>2]|0;De=(r|0)<16;if(De)Re=4;else{He=4;Fe=16;while(1){Ee=He+1|0;Fe=Fe+(2<<He)|0;if((r|0)<(Fe|0)){Re=Ee;break}else He=Ee}}He=256/((Re<<1)+-2|0)|0;do if((Le|0)>2){Fe=c[i>>2]|0;a:do if((Fe|0)>(He|0)&(Fe|0)<128){Ee=(Fe*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;Jl(p,Qe+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(Ee|0)){c[n>>2]=0;c[o>>2]=0;Jl(p,Qe+2|0,f,n,o)|0;if((c[o>>2]|0)>(Ee|0))break;Se=Fe;break a}while(0);c[i>>2]=0;Se=0}else Se=Fe;while(0);if((Se|0)<=(He|0)){E=58;break}Fe=c[8730]|0;Ee=c[554425]|0;ze=c[554426]|0;Ce=Ee+ze|0;a[Ce>>0]=(Fe^255)&(d[Ce>>0]|0);Ce=Fe<<1;c[8730]=Ce;if((Ce|0)==256){c[8730]=1;Fe=ze+1|0;c[554426]=Fe;c[554427]=d[Ee+Fe>>0];Te=Fe;Ue=1}else{Te=ze;Ue=Ce}Ce=(c[554429]|0)+1|0;c[554429]=Ce;ze=c[h>>2]|0;Fe=5;while(1)if((1<<Fe|0)<(ze|0))Fe=Fe+5|0;else break;xe=ze+-1|0;Ae=(Fe>>>0)/5|0;Be=Te;we=Ue;ue=0;ye=3-Ae|0;while(1){ve=(ye|0)<1;te=ve?ye:1;qe=Ee+Be|0;a[qe>>0]=((te&1|0)==0?0:we)|(we^255)&(d[qe>>0]|0);qe=we<<1;oe=Be+1|0;if((qe|0)==256){c[554426]=oe;c[554427]=d[Ee+oe>>0];Ve=oe;We=1}else{Ve=Be;We=qe}ue=ue+1|0;if(ue>>>0>=2)break;if(ve)break;else{Be=Ve;we=We;ye=ye-te|0}}c[8730]=We;ye=We;we=Ve;Be=0;while(1){ue=Ee+we|0;a[ue>>0]=((1<<Be&xe|0)==0?0:ye)|(ye^255)&(d[ue>>0]|0);ue=ye<<1;ze=we+1|0;if((ue|0)==256){c[554426]=ze;c[554427]=d[Ee+ze>>0];Xe=ze;Ye=1}else{Xe=we;Ye=ue}Be=Be+1|0;if((Be|0)==(Fe|0))break;else{ye=Ye;we=Xe}}c[8730]=Ye;we=Fe+Ce+Ae|0;c[554429]=we;ye=Xe;Be=Ye;xe=0;ue=Le+-3|0;while(1){ze=(ue|0)<7;te=ze?ue:7;ve=Ee+ye|0;qe=((te&1|0)==0?0:Be)|(Be^255)&(d[ve>>0]|0);a[ve>>0]=qe;oe=Be<<1;re=ye+1|0;if((oe|0)==256){se=Ee+re|0;c[554426]=re;ne=d[se>>0]|0;c[554427]=ne;Ze=re;_e=1;$e=se;af=ne;bf=ye+2|0}else{Ze=ye;_e=oe;$e=ve;af=qe&255;bf=re}re=((te&2|0)==0?0:_e)|(_e^255)&af;a[$e>>0]=re;qe=_e<<1;if((qe|0)==256){ve=Ee+bf|0;c[554426]=bf;oe=d[ve>>0]|0;c[554427]=oe;cf=bf;df=1;ef=ve;ff=oe;gf=bf+1|0}else{cf=Ze;df=qe;ef=$e;ff=re&255;gf=bf}a[ef>>0]=((te&4|0)==0?0:df)|(df^255)&ff;re=df<<1;if((re|0)==256){c[554426]=gf;c[554427]=d[Ee+gf>>0];hf=gf;jf=1}else{hf=cf;jf=re}xe=xe+3|0;if(xe>>>0>=1e5)break;if(ze)break;else{ye=hf;Be=jf;ue=ue-te|0}}c[8730]=jf;c[554429]=xe+we;if((Le|0)>9)c[554424]=(c[554424]|0)+1;c[554422]=(c[554422]|0)+1;kf=Le;lf=jf;mf=hf;nf=Ee;of=2217720}else E=58;while(0);if((E|0)==58){E=0;Le=c[8730]|0;He=c[554425]|0;ue=c[554426]|0;Be=He+ue|0;a[Be>>0]=(Le^255)&(d[Be>>0]|0)|Le;Be=Le<<1;c[8730]=Be;if((Be|0)==256){c[8730]=1;Le=ue+1|0;c[554426]=Le;c[554427]=d[He+Le>>0];pf=Le;qf=1}else{pf=ue;qf=Be}if(De){rf=4;sf=r}else{Be=4;ue=16;Le=r;while(1){ye=Le-(1<<Be)|0;Ae=Be+1|0;ue=ue+(2<<Be)|0;if((r|0)<(ue|0)){rf=Ae;sf=ye;break}else{Be=Ae;Le=ye}}}Le=pf;Be=qf;ue=0;De=rf+-4|0;while(1){ye=(De|0)<1;Ae=ye?De:1;Ce=He+Le|0;a[Ce>>0]=((Ae&1|0)==0?0:Be)|(Be^255)&(d[Ce>>0]|0);Ce=Be<<1;Fe=Le+1|0;if((Ce|0)==256){c[554426]=Fe;c[554427]=d[He+Fe>>0];tf=Fe;uf=1}else{tf=Le;uf=Ce}ue=ue+1|0;if(ue>>>0>=16)break;if(ye)break;else{Le=tf;Be=uf;De=De-Ae|0}}c[8730]=uf;De=uf;Be=tf;Le=0;while(1){ue=He+Be|0;a[ue>>0]=((1<<Le&sf|0)==0?0:De)|(De^255)&(d[ue>>0]|0);ue=De<<1;Ae=Be+1|0;if((ue|0)==256){c[554426]=Ae;c[554427]=d[He+Ae>>0];vf=Ae;wf=1}else{vf=Be;wf=ue}Le=Le+1|0;if((Le|0)==(rf|0))break;else{De=wf;Be=vf}}c[8730]=wf;if((r|0)>0){Be=r;do{De=Be;Be=Be+-1|0;Le=c[j+(Be<<2)>>2]|0;c[j+(De<<2)>>2]=Le;ue=k+(Le<<2)|0;c[ue>>2]=(c[ue>>2]|0)+1}while((De|0)>1)}c[j>>2]=Ke;c[Ge>>2]=0;kf=1;lf=wf;mf=vf;nf=He;of=2217692}c[of>>2]=(c[of>>2]|0)+kf;Be=(Qe|0)<2?0:Qe+-2|0;Qe=kf+Qe|0;r=Qe+-2|0;if((Be|0)<(r|0)){De=Be;do De=De+1|0;while((De|0)<(r|0))}r=mf-ia|0;if((Qe|0)==(f|0)|(r|0)>31){De=Qe-Pe|0;if((r|0)>(De+((Je|0)==(Pe|0)?3:0)|0)){r=Oe&255;c[8730]=r;c[554427]=Ne&255;c[554426]=Me;if(!Ie){He=nf+Me|0;Ge=(Oe^255)&(d[He>>0]|0);a[He>>0]=Ge;Ke=r<<1;c[8730]=Ke;if((r|0)==128){c[8730]=1;Be=Me+1|0;c[554426]=Be;ue=nf+Be|0;Le=d[ue>>0]|0;c[554427]=Le;xf=1;yf=Be;zf=ue;Af=Le}else{xf=Ke;yf=Me;zf=He;Af=Ge}Ge=(xf^255)&Af|xf;a[zf>>0]=Ge;He=xf<<1;c[8730]=He;if((xf|0)==128){c[8730]=1;Ke=yf+1|0;c[554426]=Ke;Le=nf+Ke|0;ue=d[Le>>0]|0;c[554427]=ue;Bf=1;Cf=Ke;Df=Le;Ef=ue}else{Bf=He;Cf=yf;Df=zf;Ef=Ge&255}Ge=(Bf^255)&Ef;a[Df>>0]=Ge;He=Bf<<1;c[8730]=He;if((Bf|0)==128){c[8730]=1;ue=Cf+1|0;c[554426]=ue;Le=nf+ue|0;Ke=d[Le>>0]|0;c[554427]=Ke;Ff=ue;Gf=Le;Hf=1;If=Ke}else{Ff=Cf;Gf=Df;Hf=He;If=Ge}Ge=(Hf^255)&If;a[Gf>>0]=Ge;He=Hf<<1;Ke=Ff+1|0;do if((He|0)==256){Le=nf+Ke|0;c[554426]=Ke;ue=d[Le>>0]|0;c[554427]=ue;Be=ue&254;a[Le>>0]=Be;Jf=2;Kf=Le;Lf=Be;E=121}else{Be=(He^255)&(Ge&255);a[Gf>>0]=Be;Le=Hf<<2;if((Le|0)==256){ue=nf+Ke|0;c[554426]=Ke;Ae=d[ue>>0]|0;c[554427]=Ae;Jf=1;Kf=ue;Lf=Ae;E=121;break}Ae=(Le^255)&Be;a[Gf>>0]=Ae;Be=Hf<<3;if((Be|0)!=256){Mf=Ff;Nf=Ae;Of=Gf;Pf=Ke;Qf=Be;E=124;break}Be=nf+Ke|0;c[554426]=Ke;Ae=d[Be>>0]|0;c[554427]=Ae;Le=Ae&254;a[Be>>0]=Le;Rf=2;Sf=Be;Tf=Le;Uf=Ke;E=126}while(0);if((E|0)==121){E=0;Ge=(Jf^255)&Lf;a[Kf>>0]=Ge;Mf=Ke;Nf=Ge;Of=Kf;Pf=Ff+2|0;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;Ge=(Qf^255)&(Nf&255);a[Of>>0]=Ge;He=Qf<<1;if((He|0)==256){Le=nf+Pf|0;c[554426]=Pf;Be=d[Le>>0]|0;c[554427]=Be;Rf=1;Sf=Le;Tf=Be;Uf=Pf;E=126;break}Be=(He^255)&Ge;a[Of>>0]=Be;Ge=Qf<<2;if((Ge|0)!=256){Vf=Mf;Wf=Be;Xf=Of;Yf=Pf;Zf=Ge;E=129;break}Ge=nf+Pf|0;c[554426]=Pf;Be=d[Ge>>0]|0;c[554427]=Be;He=Be&254;a[Ge>>0]=He;_f=2;$f=Ge;ag=He;bg=Pf;E=131}while(0);if((E|0)==126){E=0;Ke=(Rf^255)&Tf;a[Sf>>0]=Ke;Vf=Uf;Wf=Ke;Xf=Sf;Yf=Uf+1|0;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Ke=(Zf^255)&(Wf&255);a[Xf>>0]=Ke;He=Zf<<1;if((He|0)==256){Ge=nf+Yf|0;c[554426]=Yf;Be=d[Ge>>0]|0;c[554427]=Be;_f=1;$f=Ge;ag=Be;bg=Yf;E=131;break}Be=(He^255)&Ke;a[Xf>>0]=Be;Ke=Zf<<2;if((Ke|0)!=256){cg=Vf;dg=Be;eg=Xf;fg=Yf;gg=Ke;E=134;break}Ke=nf+Yf|0;c[554426]=Yf;Be=d[Ke>>0]|0;c[554427]=Be;He=Be&254;a[Ke>>0]=He;hg=2;ig=Ke;jg=He;kg=Yf;E=136}while(0);if((E|0)==131){E=0;He=(_f^255)&ag;a[$f>>0]=He;cg=bg;dg=He;eg=$f;fg=bg+1|0;gg=_f<<1;E=134}do if((E|0)==134){E=0;He=(gg^255)&(dg&255);a[eg>>0]=He;Ke=gg<<1;if((Ke|0)==256){Be=nf+fg|0;c[554426]=fg;Ge=d[Be>>0]|0;c[554427]=Ge;hg=1;ig=Be;jg=Ge;kg=fg;E=136;break}Ge=(Ke^255)&He;a[eg>>0]=Ge;He=gg<<2;if((He|0)!=256){lg=cg;mg=Ge;ng=eg;og=fg;pg=He;E=139;break}He=nf+fg|0;c[554426]=fg;Ge=d[He>>0]|0;c[554427]=Ge;a[He>>0]=Ge&254;qg=fg;rg=2}while(0);if((E|0)==136){E=0;Ge=(hg^255)&jg;a[ig>>0]=Ge;lg=kg;mg=Ge;ng=ig;og=kg+1|0;pg=hg<<1;E=139}do if((E|0)==139){E=0;a[ng>>0]=(pg^255)&mg;Ge=pg<<1;if((Ge|0)!=256){qg=lg;rg=Ge;break}c[554426]=og;c[554427]=d[nf+og>>0];qg=og;rg=1}while(0);c[8730]=rg;sg=qg;tg=rg}else{Ge=Me+-1|0;c[554426]=Ge;sg=Ge;tg=r}if((De|0)>0){Ge=tg;He=sg;Ke=0;while(1){Be=d[p+(Ke+Pe)>>0]|0;Le=nf+He|0;Ae=((Be&1|0)==0?0:Ge)|(Ge^255)&(d[Le>>0]|0);a[Le>>0]=Ae;ue=Ge<<1;ye=He+1|0;if((ue|0)==256){Ce=nf+ye|0;c[554426]=ye;Fe=d[Ce>>0]|0;c[554427]=Fe;ug=ye;vg=1;wg=Ce;xg=Fe;yg=He+2|0}else{ug=He;vg=ue;wg=Le;xg=Ae&255;yg=ye}ye=((Be&2|0)==0?0:vg)|(vg^255)&xg;a[wg>>0]=ye;Ae=vg<<1;if((Ae|0)==256){Le=nf+yg|0;c[554426]=yg;ue=d[Le>>0]|0;c[554427]=ue;zg=1;Ag=yg;Bg=Le;Cg=ue;Dg=yg+1|0}else{zg=Ae;Ag=ug;Bg=wg;Cg=ye&255;Dg=yg}ye=((Be&4|0)==0?0:zg)|(zg^255)&Cg;a[Bg>>0]=ye;Ae=zg<<1;if((Ae|0)==256){ue=nf+Dg|0;c[554426]=Dg;Le=d[ue>>0]|0;c[554427]=Le;Eg=1;Fg=Dg;Gg=ue;Hg=Le;Ig=Dg+1|0}else{Eg=Ae;Fg=Ag;Gg=Bg;Hg=ye&255;Ig=Dg}ye=((Be&8|0)==0?0:Eg)|(Eg^255)&Hg;a[Gg>>0]=ye;Ae=Eg<<1;if((Ae|0)==256){Le=nf+Ig|0;c[554426]=Ig;ue=d[Le>>0]|0;c[554427]=ue;Jg=1;Kg=Ig;Lg=Le;Mg=ue;Ng=Ig+1|0}else{Jg=Ae;Kg=Fg;Lg=Gg;Mg=ye&255;Ng=Ig}ye=((Be&16|0)==0?0:Jg)|(Jg^255)&Mg;a[Lg>>0]=ye;Ae=Jg<<1;if((Ae|0)==256){ue=nf+Ng|0;c[554426]=Ng;Le=d[ue>>0]|0;c[554427]=Le;Og=1;Pg=Ng;Qg=ue;Rg=Le;Sg=Ng+1|0}else{Og=Ae;Pg=Kg;Qg=Lg;Rg=ye&255;Sg=Ng}ye=((Be&32|0)==0?0:Og)|(Og^255)&Rg;a[Qg>>0]=ye;Ae=Og<<1;if((Ae|0)==256){Le=nf+Sg|0;c[554426]=Sg;ue=d[Le>>0]|0;c[554427]=ue;Tg=1;Ug=Sg;Vg=Le;Wg=ue;Xg=Sg+1|0}else{Tg=Ae;Ug=Pg;Vg=Qg;Wg=ye&255;Xg=Sg}ye=((Be&64|0)==0?0:Tg)|(Tg^255)&Wg;a[Vg>>0]=ye;Ae=Tg<<1;if((Ae|0)==256){ue=nf+Xg|0;c[554426]=Xg;Le=d[ue>>0]|0;c[554427]=Le;Yg=1;Zg=Xg;_g=ue;$g=Le;ah=Xg+1|0}else{Yg=Ae;Zg=Ug;_g=Vg;$g=ye&255;ah=Xg}a[_g>>0]=((Be&128|0)==0?0:Yg)|(Yg^255)&$g;Be=Yg<<1;if((Be|0)==256){c[554426]=ah;c[554427]=d[nf+ah>>0];bh=ah;ch=1}else{bh=Zg;ch=Be}Ke=Ke+1|0;if((Ke|0)==(De|0))break;else{Ge=ch;He=bh}}c[8730]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}He=nf+dh|0;Ge=(eh^255)&(d[He>>0]|0);a[He>>0]=Ge;De=eh<<1;Ke=dh+1|0;do if((De|0)==256){r=nf+Ke|0;c[554426]=Ke;Be=d[r>>0]|0;c[554427]=Be;ye=Be&254;a[r>>0]=ye;fh=Ke;gh=ye;hh=r;ih=dh+2|0;jh=2;E=162}else{r=(De^255)&Ge;a[He>>0]=r;ye=eh<<2;if((ye|0)!=256){fh=dh;gh=r;hh=He;ih=Ke;jh=ye;E=162;break}ye=nf+Ke|0;c[554426]=Ke;r=d[ye>>0]|0;c[554427]=r;Be=r&254;a[ye>>0]=Be;kh=2;lh=ye;mh=Be;nh=Ke;E=164}while(0);do if((E|0)==162){E=0;Ke=(jh^255)&(gh&255);a[hh>>0]=Ke;He=jh<<1;if((He|0)==256){Ge=nf+ih|0;c[554426]=ih;De=d[Ge>>0]|0;c[554427]=De;kh=1;lh=Ge;mh=De;nh=ih;E=164;break}De=(He^255)&Ke;a[hh>>0]=De;Ke=jh<<2;if((Ke|0)!=256){oh=fh;ph=De;qh=hh;rh=ih;sh=Ke;E=167;break}Ke=nf+ih|0;c[554426]=ih;De=d[Ke>>0]|0;c[554427]=De;He=De&254;a[Ke>>0]=He;th=2;uh=Ke;vh=He;wh=ih;E=169}while(0);if((E|0)==164){E=0;He=(kh^255)&mh;a[lh>>0]=He;oh=nh;ph=He;qh=lh;rh=nh+1|0;sh=kh<<1;E=167}do if((E|0)==167){E=0;He=(sh^255)&(ph&255);a[qh>>0]=He;Ke=sh<<1;if((Ke|0)==256){De=nf+rh|0;c[554426]=rh;Ge=d[De>>0]|0;c[554427]=Ge;th=1;uh=De;vh=Ge;wh=rh;E=169;break}Ge=(Ke^255)&He;a[qh>>0]=Ge;He=sh<<2;if((He|0)!=256){xh=oh;yh=Ge;zh=qh;Ah=rh;Bh=He;E=172;break}He=nf+rh|0;c[554426]=rh;Ge=d[He>>0]|0;c[554427]=Ge;Ke=Ge&254;a[He>>0]=Ke;Ch=rh;Dh=2;Eh=He;Fh=Ke;E=174}while(0);if((E|0)==169){E=0;Ke=(th^255)&vh;a[uh>>0]=Ke;xh=wh;yh=Ke;zh=uh;Ah=wh+1|0;Bh=th<<1;E=172}do if((E|0)==172){E=0;Ke=(Bh^255)&(yh&255);a[zh>>0]=Ke;He=Bh<<1;if((He|0)==256){Ge=nf+Ah|0;c[554426]=Ah;De=d[Ge>>0]|0;c[554427]=De;Ch=Ah;Dh=1;Eh=Ge;Fh=De;E=174;break}a[zh>>0]=(He^255)&Ke;Ke=Bh<<2;if((Ke|0)!=256){Gh=Ke;Hh=xh;break}c[554426]=Ah;c[554427]=d[nf+Ah>>0];Gh=1;Hh=Ah}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Dh<<1;Hh=Ch}c[8730]=Gh;Vv(j|0,l|0,1024)|0;Vv(k|0,m|0,1024)|0;Ih=Hh;Jh=Gh;Kh=Je;Lh=1}else{Vv(l|0,j|0,1024)|0;Vv(m|0,k|0,1024)|0;Ih=mf;Jh=lf;Kh=Qe;Lh=0}Ke=c[554427]<<8|Ih<<16|Jh;Mh=Ke;Nh=Ke>>16;Oh=Ke>>8;Ph=Ih;Qh=Qe;Rh=Kh;Sh=Lh}else{Mh=Oe;Nh=Me;Oh=Ne;Ph=ia;Qh=Pe;Rh=Je;Sh=Ie}if((Qe|0)>=(f|0))break;else{Oe=Mh;Me=Nh;Ne=Oh;ia=Ph;Pe=Qh;Je=Rh;Ie=Sh}}}zq(p);p=c[8730]|0;if((p|0)==1){Th=c[554426]|0;Uh=c[554425]|0}else{Sh=c[554425]|0;Ie=c[554426]|0;Rh=Sh+Ie|0;Je=p;p=a[Rh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Rh>>0]=p;p=Ie+1|0;c[554426]=p;c[554427]=d[Sh+p>>0];c[8730]=1;Th=p;Uh=Sh}a[Uh+6>>0]=(Th|0)/256|0;a[Uh+7>>0]=Th;if((Th|0)<=(f|0)){q=Th;Ia=g;return q|0}Vv(e|0,b|0,f|0)|0;q=f;Ia=g;return q|0}function Jl(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1446272+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=0;o=0;p=-1}else{q=g+-32767|0;r=m&65535;m=0;s=-1e5;t=-1;u=0;while(1){v=e[h+(u+2<<1)>>1]|0;if((v|0)>=(g|0)){w=m;x=s;y=t;break}if((q|0)>(v|0)){z=m;A=s;B=t}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=D;F=C;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=D;F=C;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C+v|0;F=C}D=g-v|0;a:do if((F|0)>=(k|0)|(E|0)<(g|0))H=F;else{I=F;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=2;M=C}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((M*5|0)+4+L|0)>>>0)|0;D=(I|0)>(t|0);z=D?H:m;A=D?v:s;B=D?I:t}u=u+1|0;if(u>>>0>=r>>>0){w=z;x=A;y=B;break}else{m=z;s=A;t=B}}n=(x|0)>-1?g-x|0:0;o=w;p=y}c[i>>2]=n;c[j>>2]=p;l=o;return l|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;g=Ia;Ia=Ia+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8730]=1;c[554427]=0;c[554432]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[8730]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Ia=g;return 0}j=f+-1|0;m=1;n=8;o=0;a:while(1){p=m<<1;q=(p|0)==256;r=n+(q&1)|0;s=q?1:p;b:do if(!(m&(d[b+n>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=t?1:q;x=u+(t&1)|0;y=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0}else{w=v;x=u;y=0}u=3-y|0;v=u*5|0;if((u|0)>0){u=x;p=x;t=w;q=0;z=0;while(1){A=t<<1;B=(A|0)==256;C=p+1|0;D=B?C:u;E=B?1:A;A=((t&(d[b+p>>0]|0)|0)==0?0:1<<q)|z;q=q+1|0;if((q|0)==(v|0)){F=E;G=D;H=A;break}else{u=D;p=B?C:p;t=E;z=A}}}else{F=w;G=x;H=0}z=H+1|0;if(!((v|0)==10&(H|0)==0|(z|0)==0)){t=G;p=F;u=0;q=0;while(1){A=d[b+t>>0]|0;E=(p&A|0)!=0;C=p<<1;B=t+1|0;do if((C|0)!=256){D=E&1;I=(C&A|0)==0;J=p<<2;if((J|0)==256){K=1;L=d[b+B>>0]|0;M=D;N=I;O=42;break}else{P=p<<3;Q=(P|0)==256;R=Q?B:t;S=Q?1:P;T=J&A;U=(I?0:2)|D;break}}else{D=d[b+B>>0]|0;K=2;L=D;M=E&1;N=(D&1|0)==0;O=42}while(0);if((O|0)==42){O=0;R=B;S=K<<1;T=K&L;U=(N?0:2)|M}E=((T|0)==0?0:4)|U;u=u+3|0;q=E+q|0;if(!(u>>>0<1e5&(E|0)==7))break;else{t=R;p=S}}p=q+3|0;t=o;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((p|0)<=1)break;else p=p+-1|0}if((t|0)>=(j|0)){V=S;W=R;X=t;break}a[e+t>>0]=0;V=S;W=R;X=t;break}if((o|0)<(k|0)){p=F;z=G;q=o;while(1){u=d[b+z>>0]|0;v=(p&u|0)!=0;E=p<<1;A=z+1|0;do if((E|0)!=256){C=v&1;D=(E&u|0)==0;I=p<<2;if((I|0)==256){Y=1;Z=d[b+A>>0]|0;_=C;$=D;O=46;break}J=(D?0:2)|C;C=(I&u|0)==0;I=p<<3;if((I|0)==256){D=d[b+A>>0]|0;aa=2;ba=D;ca=A;da=(D&1|0)==0;ea=(C?0:4)|J;O=51}else{fa=I;ga=z;ha=u;ia=A;ja=C;ka=J;O=49}}else{J=d[b+A>>0]|0;Y=2;Z=J;_=v&1;$=(J&1|0)==0;O=46}while(0);if((O|0)==46){O=0;fa=Y<<1;ga=A;ha=Z;ia=z+2|0;ja=(Y&Z|0)==0;ka=($?0:2)|_;O=49}do if((O|0)==49){O=0;v=(ja?0:4)|ka;u=(fa&ha|0)==0;E=fa<<1;if((E|0)==256){aa=1;ba=d[b+ia>>0]|0;ca=ia;da=u;ea=v;O=51;break}B=(u?0:8)|v;v=(E&ha|0)==0;E=fa<<2;if((E|0)==256){u=d[b+ia>>0]|0;la=2;ma=u;na=ia;oa=(u&1|0)==0;pa=(v?0:16)|B;O=56}else{qa=E;ra=ga;sa=ha;ta=ia;ua=v;va=B;O=54}}while(0);if((O|0)==51){O=0;qa=aa<<1;ra=ca;sa=ba;ta=ca+1|0;ua=(aa&ba|0)==0;va=(da?0:8)|ea;O=54}do if((O|0)==54){O=0;A=(ua?0:16)|va;B=(qa&sa|0)==0;v=qa<<1;if((v|0)==256){la=1;ma=d[b+ta>>0]|0;na=ta;oa=B;pa=A;O=56;break}E=(B?0:32)|A;A=(v&sa|0)==0;v=qa<<2;if((v|0)==256){wa=ta;xa=2;ya=(a[b+ta>>0]&1)==0;za=(A?0:64)|E}else{Aa=v;Ba=ra;Ca=sa;Da=ta;Ea=A;Fa=E;O=59}}while(0);if((O|0)==56){O=0;Aa=la<<1;Ba=na;Ca=ma;Da=na+1|0;Ea=(la&ma|0)==0;Fa=(oa?0:32)|pa;O=59}if((O|0)==59){O=0;E=Aa<<1;A=(E|0)==256;wa=A?Da:Ba;xa=A?1:E;ya=(Aa&Ca|0)==0;za=(Ea?0:64)|Fa}E=(ya?0:128)|za;a[e+q>>0]=E;if(!(E&255)){V=xa;W=wa;X=q;break b}E=q+1|0;if((E|0)<(k|0)){p=xa;z=wa;q=E}else{V=xa;W=wa;X=E;break}}}else{V=F;W=G;X=o}}else{q=r;z=s;p=0;t=0;E=0;while(1){A=z<<1;v=(A|0)==256;Ga=q+(v&1)|0;Ha=v?1:A;if(!(E>>>0<16?(z&(d[b+q>>0]|0)|0)!=0:0))break;A=(16<<p)+t|0;q=Ga;z=Ha;p=p+1|0;t=A;E=E+1|0}E=p+3|0;z=Ga;q=Ha;A=0;v=0;while(1){B=q<<1;u=(B|0)==256;J=z;z=z+(u&1)|0;C=q;q=u?1:B;v=((C&(d[b+J>>0]|0)|0)==0?0:1<<A)|v;if((A|0)==(E|0))break;else A=A+1|0}A=v+t|0;if((A|0)>255){Ja=q;break a}E=c[h+(A<<2)>>2]|0;a[e+o>>0]=E;p=o+1|0;a[e+p>>0]=0;if((A|0)>0){J=A;do{A=J;J=J+-1|0;C=c[h+(J<<2)>>2]|0;c[h+(A<<2)>>2]=C;B=i+(C<<2)|0;c[B>>2]=(c[B>>2]|0)+1}while((A|0)>1)}c[h>>2]=E;c[i+(E<<2)>>2]=0;V=q;W=z;X=p}while(0);if((X|0)<(f|0)&((X|0)<(k|0)&(W|0)<(l|0))){m=V;n=W;o=X}else{Ja=V;break}}c[8730]=Ja;Ia=g;return 0}function Ll(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return Il(a,b,c)|0}function Nl(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){f=d[b+4>>0]<<8|d[b+5>>0];wq(c,0,e);if((f|0)>(e|0)){g=1;return g|0}h=c+f|0;if(!f)i=c;else{f=b+8|0;j=c;while(1){k=a[f>>0]|0;l=k&255;m=f+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:91800+l|0)>>0]|0;o=1;p=n?f+2|0:m}else{n=d[m>>0]|0;m=(n>>>4)+2|0;Vv(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=m;p=f+2|0}m=j+o|0;if(m>>>0<h>>>0){f=p;j=m}else{i=m;break}}}j=bv(c,91861)|0;if((j|0)!=0?(p=bu(c)|0,(c-j+p|0)==56):0){j=c+p+-56|0;a[j>>0]=0;q=j}else q=i;i=bv(c,91918)|0;if(i){j=bu(c)|0;p=c;if((p-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=p}else{r=q;s=p}}else{r=q;s=c}g=r-s|0;return g|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){Kl(b,c,e)|0;g=0;return g|0}break}default:{}}kv(c,b,e)|0;g=0;return g|0}function Ol(a){a=a|0;var b=0;c[554434]=(c[554434]|0)+a;b=_s(a,1)|0;a=c[554433]|0;c[1462656+(a<<2)>>2]=b;c[554433]=a+((a|0)<16384&1);return b|0}function Pl(){var a=0,b=0;a=c[554433]|0;if((a|0)<=0)return;b=a;do{a=b+-1|0;c[554433]=a;Zs(c[1462656+(a<<2)>>2]|0);b=c[554433]|0}while((b|0)>0);return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=1;while(1){e=1<<d;if(d>>>0<9&(e|0)<(a|0))d=d+1|0;else break}if((e|0)!=(a|0)){f=0;return f|0}e=(c[554434]|0)+16|0;c[554434]=e;d=_s(16,1)|0;g=c[554433]|0;c[1462656+(g<<2)>>2]=d;h=g+((g|0)<16384&1)|0;c[554433]=h;if(!d){f=0;return f|0}g=a*3|0;c[554434]=e+g;e=_s(a,3)|0;c[1462656+(h<<2)>>2]=e;c[554433]=h+((h|0)<16384&1);c[d+12>>2]=e;if(!e){f=0;return f|0}c[d>>2]=a;h=1;while(1)if(h>>>0<9&(1<<h|0)<(a|0))h=h+1|0;else break;c[d+4>>2]=h;if(!b){f=d;return f|0}Vv(e|0,b|0,g|0)|0;f=d;return f|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=384;g=tu(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=Sl(g,d)|0;if(!f){su(g)|0;h=0}else h=f}Ia=e;return h|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[554434]|0;c[554434]=d+76;e=_s(76,1)|0;f=c[554433]|0;c[1462656+(f<<2)>>2]=e;g=f+((f|0)<16384&1)|0;c[554433]=g;if(!e){h=0;return h|0}f=e;i=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));c[554434]=d+24984;f=_s(24908,1)|0;c[1462656+(g<<2)>>2]=f;i=g+((g|0)<16384&1)|0;c[554433]=i;if(!f){if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}c[554434]=d+57752;d=_s(32768,1)|0;c[1462656+(i<<2)>>2]=d;c[554433]=i+((i|0)<16384&1);if(d|0){Wv(d|0,-1,32768)|0;c[f+24900>>2]=d;d=Hu(a,104706)|0;c[e+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=d;c[f>>2]=1;c[f+64>>2]=0;c[e+68>>2]=0;c[e+64>>2]=0;h=e;return h|0}if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}function Tl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?91992:91999;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?91992:91999;return o|0}function Ul(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=Ia;Ia=Ia+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Ia=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ia=i;return o|0}n=Tl(b)|0;p=bu(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=hv(n,1,p,c[q+56>>2]|0)|0;else s=Oa[r&7](b,n,p)|0;if((s|0)!=(bu(n)|0)){c[b+64>>2]=2;o=0;Ia=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;if(n){s=Ql(c[h>>2]|0,c[h+12>>2]|0)|0;c[b+20>>2]=s;if(!s){c[b+64>>2]=7;o=0;Ia=i;return o|0}}else c[b+20>>2]=0;a[j>>0]=d;s=j+1|0;a[s>>0]=d>>>8;d=c[l>>2]|0;p=c[d+64>>2]|0;if(!p)hv(j,1,2,c[d+56>>2]|0)|0;else Oa[p&7](b,j,2)|0;a[j>>0]=e;a[s>>0]=e>>>8;e=c[l>>2]|0;s=c[e+64>>2]|0;if(!s)hv(j,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){t=f|8;u=24}}else{t=j|7;u=24}if((u|0)==24)a[k>>0]=t;t=k+1|0;a[t>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;u=c[l>>2]|0;j=c[u+64>>2]|0;if(!j)hv(k,1,3,c[u+56>>2]|0)|0;else Oa[j&7](b,k,3)|0;a:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;u=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(u*3|0)>>0]|0;a[t>>0]=a[f+(u*3|0)+1>>0]|0;a[g>>0]=a[f+(u*3|0)+2>>0]|0;f=c[l>>2]|0;s=c[f+64>>2]|0;if(!s)v=hv(k,1,3,c[f+56>>2]|0)|0;else v=Oa[s&7](b,k,3)|0;u=u+1|0;if((v|0)!=3)break;if((u|0)>=(c[h>>2]|0))break a}c[b+64>>2]=2;o=0;Ia=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ia=i;return o|0} 140 + function Wa(a){a=a|0;var b=0;b=Ia;Ia=Ia+a|0;Ia=Ia+15&-16;return b|0}function Xa(){return Ia|0}function Ya(a){a=a|0;Ia=a}function Za(a,b){a=a|0;b=b|0;Ia=a;Ja=b}function _a(){return c[(c[(c[c[742804]>>2]|0)+16>>2]|0)+12>>2]|0}function $a(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((c[780901]|0)!=0&(c[780894]|0)==1?a[3152374]&64:0)return;c[781024]=(c[781024]|0)-b;d=128-b|0;e=c[742782]|0;if((d|0)>0){f=e;g=0;while(1){Gp(f,f,0,g+b|0,0,g,128,1);g=g+1|0;h=c[742782]|0;if((g|0)==(d|0)){i=h;j=d;break}else f=h}}else{i=e;j=0}Pn(i,0,j,127,127,0);jh(65536);return}function ab(){var b=0,d=0;b=(c[781024]|0)+(c[781029]|0)|0;c[781024]=b;if((b|0)<=((c[781031]|0)+122|0))return;if((c[780901]|0)!=0&(c[780894]|0)==1?a[3152374]&64:0)return;c[781024]=b+-6;b=c[742782]|0;d=0;do{Gp(b,b,0,d+6|0,0,d,128,1);d=d+1|0;b=c[742782]|0}while((d|0)!=122);Pn(b,0,122,127,127,0);jh(65536);return}function bb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=Ia;Ia=Ia+352|0;d=b+336|0;e=b+328|0;f=b+320|0;g=b+312|0;h=b+304|0;i=b+296|0;j=b+288|0;k=b+280|0;l=b+272|0;m=b+264|0;n=b+256|0;o=b+248|0;p=b+240|0;q=b+232|0;r=b+224|0;s=b+216|0;t=b+208|0;u=b+200|0;v=b+192|0;w=b+184|0;x=b+176|0;y=b+168|0;z=b+160|0;A=b+152|0;B=b+144|0;C=b+136|0;D=b+128|0;E=b+120|0;F=b+16|0;G=b+8|0;H=b;I=b+340|0;if(!(ut(a,35296,9)|0))Wo(a+10|0,3115688)|0;if(!(ut(a,35306,10)|0))Wo(a+11|0,3117736)|0;if(!(ut(a,35317,14)|0)){c[H>>2]=1938452;Su(a+14|0,96484,H)|0}if(!(ut(a,35332,15)|0)){c[G>>2]=1938456;Su(a+15|0,96484,G)|0}if(!(ut(a,35348,11)|0)){c[F>>2]=1938516;c[F+4>>2]=1938520;c[F+8>>2]=1938524;c[F+12>>2]=1938528;c[F+16>>2]=1938532;c[F+20>>2]=1938536;c[F+24>>2]=1938540;c[F+28>>2]=1938544;c[F+32>>2]=1938548;c[F+36>>2]=1938552;c[F+40>>2]=1938556;c[F+44>>2]=1938560;c[F+48>>2]=1938564;c[F+52>>2]=1938568;c[F+56>>2]=1938572;c[F+60>>2]=1938576;c[F+64>>2]=1938580;c[F+68>>2]=1938584;c[F+72>>2]=1938588;c[F+76>>2]=1938592;c[F+80>>2]=1938596;c[F+84>>2]=1938600;c[F+88>>2]=1938604;c[F+92>>2]=1938608;c[F+96>>2]=1938612;Su(a+11|0,35360,F)|0}if(!(ut(a,35436,10)|0)){c[E>>2]=1938772;Su(a+10|0,96484,E)|0}if(!(ut(a,35447,11)|0)){c[D>>2]=1938800;Su(a+11|0,96484,D)|0}if(!(ut(a,51100,7)|0)){c[C>>2]=1938804;Su(a+7|0,96484,C)|0}if((ut(a,93198,6)|0)==0?(c[B>>2]=2142440,Su(a+6|0,96484,B)|0,c[555247]|0):0)c[555247]=c[535610];if(!(ut(a,35459,9)|0)){c[A>>2]=1938820;Su(a+9|0,96484,A)|0}if(!(ut(a,51487,16)|0)){c[z>>2]=1938788;Su(a+16|0,96484,z)|0}if(!(ut(a,51388,9)|0)){c[y>>2]=1938792;Su(a+9|0,96484,y)|0}if(!(ut(a,35469,12)|0)){c[x>>2]=1938836;Su(a+12|0,96484,x)|0}if(!(ut(a,35482,20)|0)){c[w>>2]=2141880;Su(a+20|0,96484,w)|0}if(!(ut(a,35503,22)|0)){c[v>>2]=2141884;Su(a+22|0,96484,v)|0}if(!(ut(a,35526,14)|0)){c[u>>2]=I;Su(a+14|0,96484,u)|0;c[484711]=(c[I>>2]|0)==2&1}if(!(ut(a,50818,13)|0)){c[t>>2]=1938844;Su(a+13|0,96484,t)|0}if(!(ut(a,35541,14)|0)){c[s>>2]=1938848;Su(a+14|0,96484,s)|0}if(!(ut(a,51593,9)|0)){c[r>>2]=1938776;Su(a+9|0,96484,r)|0}if(!(ut(a,50604,9)|0)){c[q>>2]=1938780;Su(a+9|0,96484,q)|0}if(!(ut(a,35556,19)|0)){c[p>>2]=1938500;Su(a+19|0,96484,p)|0}if(!(ut(a,35576,19)|0)){c[o>>2]=1938496;Su(a+19|0,96484,o)|0}if(!(ut(a,35596,22)|0)){c[n>>2]=1938504;Su(a+22|0,96484,n)|0}if(!(ut(a,35619,11)|0)){c[m>>2]=1938828;Su(a+11|0,96484,m)|0}if(!(ut(a,35631,14)|0)){c[l>>2]=1938784;Su(a+14|0,96484,l)|0}if(!(ut(a,35646,22)|0)){c[k>>2]=1938492;Su(a+22|0,96484,k)|0}if(!(ut(a,35669,18)|0)){c[j>>2]=1938484;Su(a+18|0,96484,j)|0}if(!(ut(a,35688,16)|0)){c[i>>2]=1938488;Su(a+16|0,96484,i)|0}if(!(ut(a,35705,16)|0)){c[h>>2]=1938480;Su(a+16|0,96484,h)|0}if(!(ut(a,35722,14)|0)){c[g>>2]=1938476;Su(a+14|0,96484,g)|0}if(!(ut(a,35737,18)|0)){c[f>>2]=1938816;Su(a+18|0,96484,f)|0}if(!(ut(a,35756,20)|0)){c[e>>2]=1938512;Su(a+20|0,96484,e)|0}if(ut(a,35777,13)|0){Ia=b;return 0}c[d>>2]=1938448;Su(a+13|0,96484,d)|0;c[555803]=c[484612];Ia=b;return 0}function cb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0;b=Ia;Ia=Ia+432|0;d=b+424|0;e=b+416|0;f=b+408|0;g=b+400|0;h=b+392|0;i=b+384|0;j=b+376|0;k=b+368|0;l=b+360|0;m=b+352|0;n=b+344|0;o=b+336|0;p=b+328|0;q=b+320|0;r=b+312|0;s=b+304|0;t=b+296|0;u=b+288|0;v=b+280|0;w=b+272|0;x=b+264|0;y=b+256|0;z=b+248|0;A=b+240|0;B=b+232|0;C=b+224|0;D=b+216|0;E=b+208|0;F=b+200|0;G=b+192|0;H=b+184|0;I=b+176|0;J=b+168|0;K=b+160|0;L=b+152|0;M=b+144|0;N=b+136|0;O=b+128|0;P=b+120|0;Q=b+112|0;R=b+104|0;S=b+96|0;T=b+88|0;U=b+80|0;V=b+72|0;W=b+64|0;X=b+56|0;Y=b+48|0;Z=b+40|0;_=b+32|0;$=b+24|0;aa=b+16|0;ba=b+8|0;ca=b;da=a+8|0;a=c[da>>2]|0;c[ca>>2]=35804;_u(a,35791,ca)|0;hv(35810,25,1,c[da>>2]|0)|0;ca=c[da>>2]|0;c[ba>>2]=c[535610];_u(ca,35836,ba)|0;hv(35848,37,1,c[da>>2]|0)|0;ba=c[da>>2]|0;c[aa>>2]=3115688;_u(ba,35886,aa)|0;hv(35901,36,1,c[da>>2]|0)|0;aa=c[da>>2]|0;c[$>>2]=3117736;_u(aa,35938,$)|0;hv(35954,65,1,c[da>>2]|0)|0;$=c[da>>2]|0;c[_>>2]=c[484613];_u($,36020,_)|0;hv(36040,77,1,c[da>>2]|0)|0;hv(36118,78,1,c[da>>2]|0)|0;_=c[da>>2]|0;c[Z>>2]=c[484614];_u(_,36197,Z)|0;hv(36218,111,1,c[da>>2]|0)|0;hv(36330,12,1,c[da>>2]|0)|0;Z=c[da>>2]|0;c[Y>>2]=c[484629];_u(Z,36343,Y)|0;Y=c[da>>2]|0;c[X>>2]=c[484630];_u(Y,36343,X)|0;X=c[da>>2]|0;c[W>>2]=c[484631];_u(X,36343,W)|0;W=c[da>>2]|0;c[V>>2]=c[484632];_u(W,36343,V)|0;V=c[da>>2]|0;c[U>>2]=c[484633];_u(V,36343,U)|0;U=c[da>>2]|0;c[T>>2]=c[484634];_u(U,36343,T)|0;T=c[da>>2]|0;c[S>>2]=c[484635];_u(T,36343,S)|0;S=c[da>>2]|0;c[R>>2]=c[484636];_u(S,36343,R)|0;R=c[da>>2]|0;c[Q>>2]=c[484637];_u(R,36343,Q)|0;Q=c[da>>2]|0;c[P>>2]=c[484638];_u(Q,36343,P)|0;P=c[da>>2]|0;c[O>>2]=c[484639];_u(P,36343,O)|0;O=c[da>>2]|0;c[N>>2]=c[484640];_u(O,36343,N)|0;N=c[da>>2]|0;c[M>>2]=c[484641];_u(N,36343,M)|0;M=c[da>>2]|0;c[L>>2]=c[484642];_u(M,36343,L)|0;L=c[da>>2]|0;c[K>>2]=c[484643];_u(L,36343,K)|0;K=c[da>>2]|0;c[J>>2]=c[484644];_u(K,36343,J)|0;J=c[da>>2]|0;c[I>>2]=c[484645];_u(J,36343,I)|0;I=c[da>>2]|0;c[H>>2]=c[484646];_u(I,36343,H)|0;H=c[da>>2]|0;c[G>>2]=c[484647];_u(H,36343,G)|0;G=c[da>>2]|0;c[F>>2]=c[484648];_u(G,36343,F)|0;F=c[da>>2]|0;c[E>>2]=c[484649];_u(F,36343,E)|0;E=c[da>>2]|0;c[D>>2]=c[484650];_u(E,36343,D)|0;D=c[da>>2]|0;c[C>>2]=c[484651];_u(D,36343,C)|0;C=c[da>>2]|0;c[B>>2]=c[484652];_u(C,36343,B)|0;B=c[da>>2]|0;c[A>>2]=c[484653];_u(B,36343,A)|0;hv(36347,2,1,c[da>>2]|0)|0;hv(36350,52,1,c[da>>2]|0)|0;A=c[da>>2]|0;c[z>>2]=c[484693];_u(A,36403,z)|0;hv(36419,70,1,c[da>>2]|0)|0;z=c[da>>2]|0;c[y>>2]=c[484700];_u(z,36490,y)|0;hv(36507,125,1,c[da>>2]|0)|0;y=c[da>>2]|0;c[x>>2]=c[484705];_u(y,36633,x)|0;hv(36648,52,1,c[da>>2]|0)|0;x=c[da>>2]|0;c[w>>2]=c[484697];_u(x,36701,w)|0;w=c[da>>2]|0;c[v>>2]=c[484698];_u(w,36722,v)|0;hv(36737,68,1,c[da>>2]|0)|0;v=c[da>>2]|0;c[u>>2]=c[484701];_u(v,36806,u)|0;hv(36819,101,1,c[da>>2]|0)|0;u=c[da>>2]|0;c[t>>2]=c[484702];_u(u,36921,t)|0;hv(36941,102,1,c[da>>2]|0)|0;t=c[da>>2]|0;c[s>>2]=c[535471];_u(t,37044,s)|0;hv(37072,28,1,c[da>>2]|0)|0;hv(37101,68,1,c[da>>2]|0)|0;s=c[da>>2]|0;c[r>>2]=c[484711];_u(s,37170,r)|0;hv(37189,64,1,c[da>>2]|0)|0;r=c[da>>2]|0;c[q>>2]=c[484712];_u(r,37254,q)|0;hv(37274,36,1,c[da>>2]|0)|0;q=c[da>>2]|0;c[p>>2]=c[484694];_u(q,37311,p)|0;hv(37326,59,1,c[da>>2]|0)|0;p=c[da>>2]|0;c[o>>2]=c[484695];_u(p,37386,o)|0;hv(37401,109,1,c[da>>2]|0)|0;o=c[da>>2]|0;c[n>>2]=c[484625];_u(o,37511,n)|0;hv(37536,53,1,c[da>>2]|0)|0;n=c[da>>2]|0;c[m>>2]=c[484624];_u(n,37590,m)|0;hv(37615,90,1,c[da>>2]|0)|0;m=c[da>>2]|0;c[l>>2]=c[484626];_u(m,37706,l)|0;if(!(c[484696]|0)){ea=c[da>>2]|0;hv(37753,48,1,ea)|0;fa=c[da>>2]|0;ga=c[484623]|0;c[k>>2]=ga;_u(fa,37802,k)|0;ha=c[da>>2]|0;hv(37830,67,1,ha)|0;ia=c[da>>2]|0;hv(37898,62,1,ia)|0;ja=c[da>>2]|0;ka=c[484621]|0;c[j>>2]=ka;_u(ja,37961,j)|0;la=c[da>>2]|0;hv(37985,89,1,la)|0;ma=c[da>>2]|0;na=c[484622]|0;c[i>>2]=na;_u(ma,38075,i)|0;oa=c[da>>2]|0;hv(38097,34,1,oa)|0;pa=c[da>>2]|0;hv(38132,26,1,pa)|0;qa=c[da>>2]|0;hv(38159,24,1,qa)|0;ra=c[da>>2]|0;hv(38184,29,1,ra)|0;sa=c[da>>2]|0;hv(38214,30,1,sa)|0;ta=c[da>>2]|0;hv(38245,30,1,ta)|0;ua=c[da>>2]|0;va=c[484620]|0;c[h>>2]=va;_u(ua,38276,h)|0;wa=c[da>>2]|0;hv(38298,95,1,wa)|0;xa=c[da>>2]|0;ya=c[484619]|0;c[g>>2]=ya;_u(xa,38394,g)|0;za=c[da>>2]|0;hv(38414,51,1,za)|0;Aa=c[da>>2]|0;hv(38466,80,1,Aa)|0;Ba=c[da>>2]|0;Ca=c[484704]|0;c[f>>2]=Ca;_u(Ba,38547,f)|0;Da=c[da>>2]|0;hv(38571,83,1,Da)|0;Ea=c[da>>2]|0;hv(38655,82,1,Ea)|0;Fa=c[da>>2]|0;Ga=c[484628]|0;c[e>>2]=Ga;_u(Fa,38738,e)|0;Ha=c[da>>2]|0;hv(38764,79,1,Ha)|0;Ja=c[da>>2]|0;Ka=c[484612]|0;c[d>>2]=Ka;_u(Ja,38844,d)|0;Ia=b;return 0}hv(37734,18,1,c[da>>2]|0)|0;ea=c[da>>2]|0;hv(37753,48,1,ea)|0;fa=c[da>>2]|0;ga=c[484623]|0;c[k>>2]=ga;_u(fa,37802,k)|0;ha=c[da>>2]|0;hv(37830,67,1,ha)|0;ia=c[da>>2]|0;hv(37898,62,1,ia)|0;ja=c[da>>2]|0;ka=c[484621]|0;c[j>>2]=ka;_u(ja,37961,j)|0;la=c[da>>2]|0;hv(37985,89,1,la)|0;ma=c[da>>2]|0;na=c[484622]|0;c[i>>2]=na;_u(ma,38075,i)|0;oa=c[da>>2]|0;hv(38097,34,1,oa)|0;pa=c[da>>2]|0;hv(38132,26,1,pa)|0;qa=c[da>>2]|0;hv(38159,24,1,qa)|0;ra=c[da>>2]|0;hv(38184,29,1,ra)|0;sa=c[da>>2]|0;hv(38214,30,1,sa)|0;ta=c[da>>2]|0;hv(38245,30,1,ta)|0;ua=c[da>>2]|0;va=c[484620]|0;c[h>>2]=va;_u(ua,38276,h)|0;wa=c[da>>2]|0;hv(38298,95,1,wa)|0;xa=c[da>>2]|0;ya=c[484619]|0;c[g>>2]=ya;_u(xa,38394,g)|0;za=c[da>>2]|0;hv(38414,51,1,za)|0;Aa=c[da>>2]|0;hv(38466,80,1,Aa)|0;Ba=c[da>>2]|0;Ca=c[484704]|0;c[f>>2]=Ca;_u(Ba,38547,f)|0;Da=c[da>>2]|0;hv(38571,83,1,Da)|0;Ea=c[da>>2]|0;hv(38655,82,1,Ea)|0;Fa=c[da>>2]|0;Ga=c[484628]|0;c[e>>2]=Ga;_u(Fa,38738,e)|0;Ha=c[da>>2]|0;hv(38764,79,1,Ha)|0;Ja=c[da>>2]|0;Ka=c[484612]|0;c[d>>2]=Ka;_u(Ja,38844,d)|0;Ia=b;return 0}function db(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Ia;Ia=Ia+32|0;f=b+16|0;g=b+8|0;h=b;c[537596]=0;if(c[536392]|0){Ia=b;return}ic();c[h>>2]=3118768;c[h+4>>2]=1937144;vv(38945,h)|0;h=Aq(e)|0;Ho(d,1,e,h)|0;c[g>>2]=e;vv(39048,g)|0;c[h+20>>2]=0;g=Sb(h)|0;Ro(h);if(!g){c[484720]=-1;Ia=b;return}do if(bv(1937144,39063)|0){h=bv(1937144,39081)|0;if(!h){Rs(3118768,39086)|0;break}else{Rs(3118768,h+4|0)|0;break}}else Qo(1937144,0,3118768,0,1);while(0);h=3118768+(bu(3118768)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=3118768;c[f+4>>2]=1937144;vv(39112,f)|0;Zb(g,3118768);jc(g,3118768);c[780894]=0;c[781022]=6;c[780900]=1;Ia=b;return}function eb(a){a=a|0;c[537596]=0;if(!(c[780901]|0)){Mg(39175,0,0);c[484720]=-2;return}else{Rs(2141888,39175)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[484720]=-2;return}}function fb(a,b){a=a|0;b=b|0;Rs(2141888,a)|0;c[535536]=Xr()|0;c[535537]=b+400+(Xr()|0);c[535538]=15;return}function gb(){var b=0,d=0,e=0,f=0,g=0,h=0;ic();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<32?b:32):0;b=e<<15;f=xq(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=vs()|0;Rb(b,f);c[b+45860>>2]=43;la(3,0)|0;a[104896]=0;g=0;do{h=ka(4)|0;a[104896+g>>0]=h;g=g+1|0;a[104896+g>>0]=0}while((h|0)!=0&g>>>0<1023);Zb(b,104896);if(d){d=0;do{b=vs()|0;Rb(b,f+(d<<15)|0);c[b+45860>>2]=43;la(3,d|0)|0;a[104896]=0;g=0;do{h=ka(4)|0;a[104896+g>>0]=h;g=g+1|0;a[104896+g>>0]=0}while((h|0)!=0&g>>>0<1023);jc(b,104896);ws(b);d=d+1|0}while((d|0)<(e|0))}c[780894]=0;c[780900]=1;return}function hb(){var b=0;b=ka(0)|0;if((b|0)!=0|(a[1937144]|0)==0){c[537596]=0;Cn(39361);c[484611]=0;gb();return}else{c[537596]=1;Cn(39342);c[484611]=1;qa(1937144,0,1,1);return}}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;e=Ia;Ia=Ia+16|0;f=e;g=e+4|0;Wv(2150388,0,66948)|0;if((b|0)<=1){Ia=e;return}h=1;i=0;a:while(1){j=d+(h<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=48;break a;break}default:{}}b:do if((i|0)!=17&l<<24>>24==45){n=k+1|0;o=(au(n,39389)|0)==0;if(!(au(n,86293)|0)){c[484543]=1;c[484608]=0;p=0}else p=o?4:-1;if(!(au(n,39398)|0)){c[484627]=1;q=0}else q=p;if(!(au(n,39409)|0)){c[484609]=1;c[484608]=1;r=0}else r=q;if((au(n,39437)|0)!=0?(o=(au(n,39425)|0)==0,s=(au(n,39415)|0)==0,t=(au(n,51388)|0)==0,u=(au(n,51487)|0)==0,v=(au(n,35459)|0)==0,w=(au(n,51100)|0)==0,(au(n,39439)|0)!=0):0)x=o?11:s?10:t?9:u?8:v?7:w?6:r;else{c[742801]=1;c[484543]=1;c[484608]=0;c[555284]=1;x=0}w=(au(n,39444)|0)==0;v=w|(au(n,39450)|0)==0;w=(au(n,50818)|0)==0;u=(au(n,35296)|0)==0;t=(au(n,35306)|0)==0;s=(au(n,35777)|0)==0;o=(au(n,90290)|0)==0;y=(au(n,93198)|0)==0;z=(au(n,39452)|0)==0;A=(au(n,39461)|0)==0;B=(au(n,39472)|0)==0;C=(au(n,51192)|0)==0;D=(au(n,39483)|0)==0;E=(au(n,39485)|0)==0;F=(au(n,39487)|0)==0;G=(au(n,39496)|0)==0;H=(au(n,39504)|0)==0;I=H?28:G?27:F?26:E?25:D?24:C?22:B?21:A?20:z?19:y?18:o?17:s?16:t?15:u?14:w?13:v?12:x}else{c[g>>2]=0;c[f>>2]=g;Su(k,94793,f)|0;do switch(i|0){case 0:{if(!(a[1937144]|0)){Wv(1937144,0,1024)|0;Rs(1937144,c[j>>2]|0)|0;I=0;break b}else{Rs(2150392+(c[537597]<<10)|0,c[j>>2]|0)|0;c[537597]=(c[537597]|0)+1;I=0;break b}break}case 4:{c[484613]=c[g>>2];I=0;break b;break}case 6:{c[484701]=c[g>>2];I=0;break b;break}case 7:{c[484705]=c[g>>2];I=0;break b;break}case 8:{c[484697]=c[g>>2];I=0;break b;break}case 9:{c[484698]=c[g>>2];I=0;break b;break}case 10:{c[484706]=c[g>>2];I=0;break b;break}case 11:{c[535463]=c[g>>2];I=0;break b;break}case 12:{kv(3126573,c[j>>2]|0,1024)|0;I=0;break b;break}case 13:{c[484711]=c[g>>2];I=0;break b;break}case 14:{Wo(c[j>>2]|0,3115688)|0;I=0;break b;break}case 15:{Wo(c[j>>2]|0,3117736)|0;I=0;break b;break}case 16:{c[484612]=c[g>>2];I=0;break b;break}case 17:{kv(2142448,c[j>>2]|0,1023)|0;c[555284]=1;I=0;break b;break}case 18:{v=c[g>>2]|0;w=(v|0)<256?v:256;v=(w|0)>0?w:0;c[535610]=v;if(!(c[555247]|0)){I=0;break b}c[555247]=v;I=0;break b;break}case 19:{c[535871]=c[g>>2];I=0;break b;break}case 20:{c[535873]=c[g>>2];I=0;break b;break}case 21:{c[535874]=c[g>>2];I=0;break b;break}case 22:{c[484702]=c[g>>2];I=0;break b;break}case 23:{kv(2219928,c[j>>2]|0,1023)|0;I=0;break b;break}default:{if(!((i|0)!=24|(c[536396]|0)!=0)){c[536396]=Fu(c[j>>2]|0,96074)|0;I=0;break b}if(!((i|0)!=25|(c[536397]|0)!=0)){c[536397]=Fu(c[j>>2]|0,104706)|0;I=0;break b}switch(i|0){case 26:{kv(2145596,c[j>>2]|0,2047)|0;I=0;break b;break}case 27:{kv(2147644,c[j>>2]|0,2047)|0;I=0;break b;break}case 28:{kv(1938176,c[j>>2]|0,255)|0;I=0;break b;break}default:{I=0;break b}}}}while(0)}while(0);h=h+1|0;if((h|0)>=(b|0)){m=48;break}else i=I}if((m|0)==48){Ia=e;return}}function jb(){var a=0;if(c[537423]|0){ka(5)|0;c[537423]=0}c[535869]=0;c[780894]=2;c[742774]=-15;c[798948]=0;Rg();Tg();Lg(3196396);c[781022]=7;Nn(c[742782]|0);Nn(c[742795]|0);bo(c[(c[26544]|0)+4>>2]|0,2,2,5,5,7);bo(c[(c[26544]|0)+4>>2]|0,5,2,2,5,7);a=Fa(0)|0;zl((Xr()|0)+a|0);or();lr(0,0);c[554964]=0;c[535872]=0;c[484610]=0;if(!(no()|0))return;do oo()|0;while((no()|0)!=0);return}function kb(){Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;return}function lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+2896|0;f=e+2888|0;g=e+2880|0;h=e+2872|0;i=e+2864|0;j=e+2048|0;k=e+1024|0;l=e;Wv(1937144,0,213240)|0;Tk();c[484699]=0;c[484701]=16;c[484697]=3;c[484706]=-1;c[484709]=1;c[535470]=1;c[535471]=1;c[484711]=0;c[484694]=1;c[484626]=1;c[484623]=5;c[484622]=20;c[484628]=4;c[484625]=0;c[484624]=0;c[484698]=2;ka(6)|0;yn(62178);Do(2);Eo(3);wq(2971096,0,224700);An()|0;c[484608]=c[484712];ib(b,d);Vq(1);if((c[555241]|0)<32|(c[555242]|0)<32){c[555241]=580;c[555242]=540}if(!((a[3115688]|0)!=0?(d=Dr(3115688,97321,j,-1)|0,Fr(j)|0,!(d|0)):0))ds(40671,3115688);if(!((a[3117736]|0)!=0?(d=Dr(3117736,97321,j,-1)|0,Fr(j)|0,!(d|0)):0))ds(40678,3117736);Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;c[781999]=vs()|0;es(40685,k);es(40695,k);if(c[742801]|0){c[i>>2]=1937144;vv(40704,i)|0}i=Oo(k)|0;c[742802]=i;if(!i){c[h>>2]=k;vv(40717,h)|0;ya(0)}h=c[c[i>>2]>>2]|0;c[h+20>>2]=0;c[742803]=xs(h,0)|0;h=c[(c[c[742802]>>2]|0)+4>>2]|0;c[h+20>>2]=0;c[742804]=Lo(3196396,h)|0;h=c[(c[c[742802]>>2]|0)+8>>2]|0;c[h+20>>2]=0;i=Lo(3196396,h)|0;c[742805]=i;if(c[484696]|0){h=(c[(c[i>>2]|0)+152>>2]|0)+16|0;i=c[c[h>>2]>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[c[h>>2]>>2]|0)+2>>0]=d;d=c[(c[h>>2]|0)+4>>2]|0;i=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[h>>2]|0)+4>>2]|0)+2>>0]=i;i=c[(c[h>>2]|0)+8>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[(c[h>>2]|0)+8>>2]|0)+2>>0]=d;d=c[(c[h>>2]|0)+12>>2]|0;i=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[h>>2]|0)+12>>2]|0)+2>>0]=i;i=c[(c[h>>2]|0)+16>>2]|0;d=a[i>>0]|0;a[i>>0]=a[i+2>>0]|0;a[(c[(c[h>>2]|0)+16>>2]|0)+2>>0]=d}zn(93616);zn(c[(c[(c[c[742804]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[535871]|0)){d=c[535873]|0;h=c[535874]|0;if((d|0)>1|(h|0)>1){i=(d|0)<8?d:8;d=(h|0)<8?h:8;tr((i|0)<1?128:i<<7,(d|0)<1?128:d<<7,8,256)|0;break}else{tr(128,128,8,256)|0;c[555257]=-1;break}}else tr(144,136,8,256)|0;while(0);ur(c[(c[c[742804]>>2]|0)+4>>2]|0);c[742782]=Sn(128,128,8)|0;c[742787]=Sn(128,128,8)|0;c[742788]=Sn(128,128,8)|0;c[742789]=Sn(128,128,8)|0;c[742790]=Sn(128,128,8)|0;c[742782]=c[742787];c[742783]=Sn(128,128,8)|0;c[742784]=Sn(128,128,8)|0;c[742785]=Sn(128,128,8)|0;c[742786]=Sn(128,128,8)|0;c[742795]=Sn(128,128,8)|0;c[535604]=Sn(128,128,8)|0;c[766827]=Gl(128,128)|0;c[766828]=Gl(128,128)|0;d=0;do{c[3067316+(d<<2)>>2]=Gl(8,32)|0;d=d+1|0}while((d|0)!=64);c[742806]=Sn(1,1,8)|0;c[742807]=Sn(8,8,8)|0;Wv(105920,0,260)|0;c[26544]=vs()|0;jb();d=Bs(0,65538)|0;c[778903]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778904]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778905]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778906]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778907]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778908]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778909]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778910]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778911]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778912]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778913]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778914]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778915]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778916]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778917]=d;c[d+308>>2]=4;c[d+312>>2]=6;i=c[484694]|0;h=(i|0)<4?i:4;c[d+316>>2]=((h|0)>1?h:1)<<2;c[d+332>>2]=0;d=Bs(0,65538)|0;c[778918]=d;c[d+308>>2]=4;c[d+312>>2]=6;h=c[484694]|0;i=(h|0)<4?h:4;c[d+316>>2]=((i|0)>1?i:1)<<2;c[d+332>>2]=0;c[778919]=c[778903];ku(3118768,rc(40174)|0)|0;d=0;do{if(!(Gr(3118768)|0))break;d=d+1|0;c[g>>2]=d;wt(j,40187,g)|0;ku(3118768,rc(j)|0)|0}while(d>>>0<1e3);Kb(c[26544]|0,3119792);Tq(22050,1)|0;c[555267]=1;ka(7)|0;do if(!((c[742801]|0)==0&(a[2142448]|0)==0)){_o(1937144,k);d=(bc(k)|0)==0;c[484542]=d&1;if(!d){c[f>>2]=1937144;vv(40735,f)|0;ya(1)}if(!(a[2142448]|0)){c[780894]=0;c[780900]=1;break}else{c[742801]=1;Rs(l,3115688)|0;Rs(3115688,40754)|0;Rs(3116712,3196396)|0;bm(2142448);Rs(3115688,l)|0;ya(0)}}while(0);c[484713]=0;if(ka(8)|0)c[484713]=1;if(ka(9)|0)c[484713]=3;c[555803]=c[484612];if(!((a[2147644]|a[2145596])<<24>>24)){Ia=e;return}uc(2145596,2147644);c[537423]=1;Ia=e;return}function mb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function nb(){if(c[535872]|0)return;c[535872]=(Xr()|0)+150;return}function ob(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+128|0;f=e;g=(c[780901]|0)!=0;h=c[781999]|0;i=c[(g&(a[3152405]|0)==0?h+4|0:2971148+((g?b:0)<<2)|0)>>2]|0;b=c[742795]|0;c[781037]=1;c[f>>2]=$k(2971096,h,24416)|0;c[f+4>>2]=$k(2971096,c[781999]|0,24417)|0;c[f+8>>2]=$k(2971096,c[781999]|0,24418)|0;c[f+12>>2]=$k(2971096,c[781999]|0,24419)|0;c[f+16>>2]=$k(2971096,c[781999]|0,24420)|0;c[f+20>>2]=$k(2971096,c[781999]|0,24421)|0;c[f+24>>2]=$k(2971096,c[781999]|0,24422)|0;c[f+28>>2]=$k(2971096,c[781999]|0,24423)|0;c[f+32>>2]=$k(2971096,c[781999]|0,24424)|0;c[f+36>>2]=$k(2971096,c[781999]|0,24425)|0;c[f+40>>2]=$k(2971096,c[781999]|0,24426)|0;c[f+44>>2]=$k(2971096,c[781999]|0,24427)|0;c[f+48>>2]=$k(2971096,c[781999]|0,24428)|0;c[f+52>>2]=$k(2971096,c[781999]|0,24429)|0;c[f+56>>2]=$k(2971096,c[781999]|0,24430)|0;c[f+60>>2]=$k(2971096,c[781999]|0,24431)|0;c[f+64>>2]=$k(2971096,c[781999]|0,24432)|0;c[f+68>>2]=$k(2971096,c[781999]|0,24433)|0;c[f+72>>2]=$k(2971096,c[781999]|0,24434)|0;c[f+76>>2]=$k(2971096,c[781999]|0,24435)|0;c[f+80>>2]=$k(2971096,c[781999]|0,24436)|0;c[f+84>>2]=$k(2971096,c[781999]|0,24437)|0;c[f+88>>2]=$k(2971096,c[781999]|0,24438)|0;c[f+92>>2]=$k(2971096,c[781999]|0,24439)|0;c[f+96>>2]=$k(2971096,c[781999]|0,24440)|0;c[f+100>>2]=$k(2971096,c[781999]|0,24441)|0;c[f+104>>2]=$k(2971096,c[781999]|0,24442)|0;c[f+108>>2]=$k(2971096,c[781999]|0,24443)|0;c[f+112>>2]=$k(2971096,c[781999]|0,24444)|0;c[f+116>>2]=$k(2971096,c[781999]|0,24445)|0;c[f+120>>2]=$k(2971096,c[781999]|0,24446)|0;c[f+124>>2]=$k(2971096,c[781999]|0,24447)|0;h=$k(2971096,c[781999]|0,24415)|0;a:do if((h|0)==16){g=i+12|0;j=b+12|0;k=0;do{l=(($k(2971096,c[781999]|0,(k>>>3)+24432|0)|0)&1<<(k&7)|0)==0;m=l?3123944:f;l=k<<7;n=l+128|0;o=l;do{a[(c[j>>2]|0)+o>>0]=c[m+((a[(c[g>>2]|0)+o>>0]&15)<<2)>>2]&143;o=o+1|0}while(o>>>0<n>>>0);k=k+1|0}while((k|0)!=128);if(!(c[535872]|0))c[535872]=(Xr()|0)+150}else{if((h|0)==32&(c[781033]|0)==1&(c[780894]|0)==1){k=i+12|0;g=b+12|0;j=64;n=0;while(1){o=n<<7;if(o>>>0<(o|64)>>>0){m=o;do{o=c[k>>2]|0;a[(c[g>>2]|0)+m>>0]=c[((a[o+(m+64)>>0]|0)==0?3123944:f)+((a[o+m>>0]&15)<<2)>>2]&143;m=m+1|0}while((m|0)!=(j|0))}n=n+1|0;if((n|0)==128)break;else j=j+128|0}if(c[535872]|0)break;c[535872]=(Xr()|0)+150;break}j=i+12|0;if((h&-16|0)!=48){n=b+12|0;g=0;while(1){a[(c[n>>2]|0)+g>>0]=c[3123944+((a[(c[j>>2]|0)+g>>0]&15)<<2)>>2]&143;g=g+1|0;if((g|0)==16384)break a}}g=h+-48|0;n=b+12|0;k=0;do{m=k>>>3;o=(($k(2971096,c[781999]|0,m+24432|0)|0)&1<<(k&7)|0)==0;l=k<<7;p=l+128|0;q=f+((o?m:m+1&15)<<2)|0;m=l;do{l=d[(c[j>>2]|0)+m>>0]|0;a[(c[n>>2]|0)+m>>0]=c[((g|0)==(l|0)?q:3123944+((l&15)<<2)|0)>>2]&143;m=m+1|0}while(m>>>0<p>>>0);k=k+1|0}while((k|0)!=128);if(!(c[535872]|0))c[535872]=(Xr()|0)+150}while(0);if(!((c[780894]|0)==1&(c[780901]|0)!=0)){Ia=e;return}mb(b,c[781033]|0);Ia=e;return}function pb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[485555]|0){case 2:{jm(a);return}case 3:{mm(a);return}default:{b=(c[26757]|0)==7?22:0;d=((c[485556]<<3)+8|0)/2|0;e=b+d|0;Hk(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;Wn(a,24,f,103,e+63|0,7);e=f+6|0;if((c[26757]|0)==7){Hk(a,10,25,118,55,1);Wn(a,11,26,117,54,7);Bo(a,40935,c[742805]|0,22,34,1,7)|0;Bo(a,40957,c[742805]|0,20,42,1,7)|0;if((up((Xr()|0)*50|0)|0)<-1999)g=0;else g=(up((Xr()|0)*50|0)|0)/2e3|0;Rn(c[(c[c[742804]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((up(((Xr()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(up(((Xr()|0)*50|0)+32768|0)|0)/2e3|0;Rn(c[(c[c[742804]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[485556]|0)<=0)return;h=0;g=e;while(1){Bo(a,106960+(h*72|0)|0,c[742805]|0,(h|0)==(c[485557]|0)?35:34,g,1,7)|0;if((h|0)==(c[485557]|0))Rn(c[(c[c[742804]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[106960+(h*72|0)+68>>2]|0)==2){e=(ym(3120504,3121528)|0)==0;f=c[(c[c[742804]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){co(f,a,0,0,74,b,7,7,13,0);break}else{Rn(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[485556]|0))break;else g=g+8|0}return}}}function qb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=c[554334]|0;if(!e){f=Sn(128,128,8)|0;c[554334]=f;g=f}else g=e;e=b+4|0;Gp(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);Nn(b);Gp(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[742804]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=(g|0)==0;k=g<<7|16;l=0;do{m=c[f>>2]|0;n=l<<2;o=c[m+(n<<2)>>2]|0;if(j){p=0;q=0;r=0;s=0;t=0;do{u=d[o+q>>0]|0;v=d[i+(u*3|0)>>0]|0;w=d[i+(u*3|0)+1>>0]|0;x=d[i+(u*3|0)+2>>0]|0;u=80-q+v+w+x|0;t=u+t|0;s=(B(u,v)|0)+s|0;r=(B(u,w)|0)+r|0;p=(B(u,x)|0)+p|0;q=q+1|0}while((q|0)!=64);q=c[m+((n|1)<<2)>>2]|0;x=p;u=0;w=r;v=s;y=t;do{z=d[q+u>>0]|0;A=d[i+(z*3|0)>>0]|0;C=d[i+(z*3|0)+1>>0]|0;D=d[i+(z*3|0)+2>>0]|0;z=80-u+A+C+D|0;y=z+y|0;v=(B(z,A)|0)+v|0;w=(B(z,C)|0)+w|0;x=(B(z,D)|0)+x|0;u=u+1|0}while((u|0)!=64);u=c[m+((n|2)<<2)>>2]|0;q=x;t=0;s=w;r=v;p=y;do{D=d[u+t>>0]|0;z=d[i+(D*3|0)>>0]|0;C=d[i+(D*3|0)+1>>0]|0;A=d[i+(D*3|0)+2>>0]|0;D=80-t+z+C+A|0;p=D+p|0;r=(B(D,z)|0)+r|0;s=(B(D,C)|0)+s|0;q=(B(D,A)|0)+q|0;t=t+1|0}while((t|0)!=64);t=c[m+((n|3)<<2)>>2]|0;u=q;y=0;v=s;w=r;x=p;while(1){A=d[t+y>>0]|0;D=d[i+(A*3|0)>>0]|0;C=d[i+(A*3|0)+1>>0]|0;z=d[i+(A*3|0)+2>>0]|0;A=80-y+D+C+z|0;E=A+x|0;F=(B(A,D)|0)+w|0;D=(B(A,C)|0)+v|0;C=(B(A,z)|0)+u|0;y=y+1|0;if((y|0)==64){G=C;H=D;I=F;J=E;break}else{u=C;v=D;w=F;x=E}}}else{x=0;w=0;v=0;u=0;y=0;do{t=d[o+(127-w)>>0]|0;p=d[i+(t*3|0)>>0]|0;r=d[i+(t*3|0)+1>>0]|0;s=d[i+(t*3|0)+2>>0]|0;t=80-w+p+r+s|0;y=t+y|0;u=(B(t,p)|0)+u|0;v=(B(t,r)|0)+v|0;x=(B(t,s)|0)+x|0;w=w+1|0}while((w|0)!=64);w=c[m+((n|1)<<2)>>2]|0;o=x;s=0;t=v;r=u;p=y;do{q=d[w+(127-s)>>0]|0;E=d[i+(q*3|0)>>0]|0;F=d[i+(q*3|0)+1>>0]|0;D=d[i+(q*3|0)+2>>0]|0;q=80-s+E+F+D|0;p=q+p|0;r=(B(q,E)|0)+r|0;t=(B(q,F)|0)+t|0;o=(B(q,D)|0)+o|0;s=s+1|0}while((s|0)!=64);s=c[m+((n|2)<<2)>>2]|0;w=o;y=0;u=t;v=r;x=p;do{D=d[s+(127-y)>>0]|0;q=d[i+(D*3|0)>>0]|0;F=d[i+(D*3|0)+1>>0]|0;E=d[i+(D*3|0)+2>>0]|0;D=80-y+q+F+E|0;x=D+x|0;v=(B(D,q)|0)+v|0;u=(B(D,F)|0)+u|0;w=(B(D,E)|0)+w|0;y=y+1|0}while((y|0)!=64);y=c[m+((n|3)<<2)>>2]|0;s=w;p=0;r=u;t=v;o=x;while(1){E=d[y+(127-p)>>0]|0;D=d[i+(E*3|0)>>0]|0;F=d[i+(E*3|0)+1>>0]|0;q=d[i+(E*3|0)+2>>0]|0;E=80-p+D+F+q|0;C=E+o|0;z=(B(E,D)|0)+t|0;D=(B(E,F)|0)+r|0;F=(B(E,q)|0)+s|0;p=p+1|0;if((p|0)==64){G=F;H=D;I=z;J=C;break}else{s=F;r=D;t=z;o=C}}}o=l+k|0;a[i+(o*3|0)>>0]=(I|0)/(J|0)|0;a[i+(o*3|0)+1>>0]=(H|0)/(J|0)|0;a[i+(o*3|0)+2>>0]=(G|0)/(J|0)|0;l=l+1|0}while((l|0)!=32);g=g+1|0}while((g|0)!=2);g=0;do{J=g<<7&128|16;G=0;do{H=G+J|0;I=G+-1|0;f=((I|0)>0?I:0)+J|0;G=G+1|0;I=(G>>>0<31?G:31)+J|0;l=i+(H*3|0)|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)>>0]|0)+(d[i+(I*3|0)>>0]|0)|0)>>>3;l=i+(H*3|0)+1|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)+1>>0]|0)+(d[i+(I*3|0)+1>>0]|0)|0)>>>3;l=i+(H*3|0)+2|0;a[l>>0]=(((d[l>>0]|0)*6|0)+(d[i+(f*3|0)+2>>0]|0)+(d[i+(I*3|0)+2>>0]|0)|0)>>>3}while((G|0)!=32);g=g+1|0}while((g|0)!=128);g=h+4|0;G=0;do{J=G+16|0;I=(ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>16;f=(ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>8;l=ao(h,1,(B(c[g>>2]|0,G)|0)/32|0)|0;H=i+(J*3|0)|0;a[H>>0]=I+(((d[H>>0]|0)/5|0)&255);H=i+(J*3|0)+1|0;a[H>>0]=f+(((d[H>>0]|0)/5|0)&255);H=i+(J*3|0)+2|0;a[H>>0]=l+(((d[H>>0]|0)/5|0)&255);G=G+1|0}while((G|0)!=32);G=0;do{H=G+144|0;l=(ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>16;J=(ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0)>>>8;f=ao(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,G)|0)/32|0)|0;I=i+(H*3|0)|0;a[I>>0]=l+(((d[I>>0]|0)/5|0)&255);I=i+(H*3|0)+1|0;a[I>>0]=J+(((d[I>>0]|0)/5|0)&255);I=i+(H*3|0)+2|0;a[I>>0]=f+(((d[I>>0]|0)/5|0)&255);G=G+1|0}while((G|0)!=32);ur(i);i=c[e>>2]|0;if((i|0)<=0){Un(b,0,0,172);K=c[b>>2]|0;L=K+-1|0;Un(b,L,0,172);M=c[e>>2]|0;N=M+-1|0;Un(b,0,N,172);O=c[b>>2]|0;P=O+-1|0;Q=c[e>>2]|0;R=Q+-1|0;Un(b,P,R,172);return}G=i;i=0;do{g=(i<<5|0)/(G|0)|0;bo(b,0,i,2,i,g+16|0);h=c[b>>2]|0;bo(b,h+-3|0,i,h+-1|0,i,g+144|0);i=i+1|0;G=c[e>>2]|0}while((i|0)<(G|0));Un(b,0,0,172);K=c[b>>2]|0;L=K+-1|0;Un(b,L,0,172);M=c[e>>2]|0;N=M+-1|0;Un(b,0,N,172);O=c[b>>2]|0;P=O+-1|0;Q=c[e>>2]|0;R=Q+-1|0;Un(b,P,R,172);return}function rb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((Xr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f>>0]|0;i=h&255;j=B(g+1001|0,b)|0;if(!(g&2)){k=0;while(1){l=c[(c[e>>2]|0)+(g<<2)>>2]|0;if((k|0)==127){m=128;n=i}else{o=k+1|0;m=o;n=d[l+o>>0]|0}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((n&15|0)==0?1:n^128):n;if((m|0)==128)break;else k=m}}else{k=0;do{j=c[(c[e>>2]|0)+(g<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+k>>0]=h}g=g+2|0;if(g>>>0>=128)break;else f=128}return}function sb(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=Ia;Ia=Ia+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[554335]|0;if((i|0)==5){Xr()|0;j=c[554335]|0}else j=i;c[554335]=j+1;j=c[742787]|0;a[2142156]=0;c[535605]=Xr()|0;if(c[780900]|0){Ia=b;return}Nn(c[742765]|0);i=c[798799]|0;if((i|0)!=0&(c[780894]|0)==0){if((i|0)==1){jm(j);k=c[798799]|0}else k=i}else if(c[780895]|0){Pn(j,0,0,128,128,5);if((c[780895]|0)==1){i=c[484705]|0;if(i>>>0<2){Pn(j,0,0,128,128,1);l=c[484705]|0}else l=i;if((l|0)==2){Pn(j,0,0,128,128,0);m=c[484705]|0}else m=l;if((m|0)==3)Pn(j,0,0,128,128,5)}Pn(j,0,0,128,7,8);Pn(j,0,121,128,127,8);wo(7,0);cs(f,g,h);if(!(c[h>>2]|0))c[798589]=-1;if(((((c[798591]|0)==89?(m=xo(yo()|0)|0,m|0):0)?(c[m+12>>2]|0)<20:0)?(c[m+16>>2]|0)<20:0)?c[m+20>>2]&1|0:0)c[798591]=(c[h>>2]|0)==0?93:94;m=c[f>>2]|0;if(((c[780895]|0)==1?(c[h>>2]|c[781042]|0)==0:0)&(m|0)==(c[554336]|0)?(h=c[g>>2]|0,(h|0)==(c[554337]|0)):0)n=h;else{c[536398]=0;n=c[g>>2]|0}c[554336]=m;c[554337]=n;n=Xr()|0;m=c[798591]|0;if((n|0)>=(c[536398]|0)&(m|0)!=0?(n=c[(c[c[742804]>>2]|0)+(m<<2)>>2]|0,m=c[n>>2]|0,h=c[n+4>>2]|0,Rn(n,j,0,0,(c[f>>2]|0)-((m|0)/2|0)|0,(c[g>>2]|0)-((h|0)/2|0)|0,m,h),(c[798589]|0)!=-1):0){h=c[f>>2]|0;m=c[g>>2]|0;Pn(j,h+6|0,m+4|0,h+14|0,m+10|0,7);c[e>>2]=c[798589];wt(1719968,40980,e)|0;Bo(j,1719968,c[742805]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}if(!((c[484717]|0)!=0&(c[780901]|0)==0&(c[780894]|0)==1)){if(!(c[485558]|c[780903]|c[742797]))ob(0)}else Gp(j,c[742795]|0,0,0,0,0,128,128);j=c[742765]|0;Gp(c[742795]|0,j,0,0,0,0,128,128);if(c[485558]|c[485555]|0)pb(j);a:do if((c[780903]|0)>0|(c[780904]|0)>140?(c[780894]|0)==1&(c[780901]|0)!=0:0){do if(!((c[484717]|0)>0|(c[537596]|0)!=0)){if(c[535537]|0?(au(2141888,93388)|0)==0:0)break;g=c[798801]|0;f=(g|0)/2|0;if((g|0)>-2)o=f;else o=12-((0-f|0)%12|0)|0;Rn(c[(c[c[742804]>>2]|0)+(((o|0)%12|0)+212<<2)>>2]|0,j,0,0,3,3,12,12);break a}while(0);f=c[798801]|0;g=(f|0)/2|0;if((f|0)>-2)p=g;else p=16-((0-g|0)%16|0)|0;Rn(c[(c[c[742804]>>2]|0)+(((p|0)%16|0)+229<<2)>>2]|0,j,0,0,3,3,12,12)}while(0);Gp(c[742765]|0,c[535604]|0,0,0,0,0,128,128);j=Xr()|0;do if((j|0)<(c[535537]|0)){p=Xr()|0;o=c[535536]|0;g=p-o|0;f=(c[535537]|0)-p|0;p=(o|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(au(2141888,61592)|0)){Wn(c[742765]|0,0,p+119|0,101,p+127|0,0);Pn(c[742765]|0,1,p+120|0,100,p+126|0,6);Bo(c[742765]|0,2141888,c[742805]|0,16,p+121|0,1,1)|0;Rn(c[(c[c[742804]>>2]|0)+904>>2]|0,c[742765]|0,0,0,2,(p<<1)+112|0,15,15);break}g=(au(2141888,61568)|0)==0;f=c[742765]|0;if(g){Wn(f,0,p+119|0,101,p+127|0,0);Pn(c[742765]|0,1,p+120|0,127,p+126|0,6);Bo(c[742765]|0,2141888,c[742805]|0,16,p+121|0,1,1)|0;Rn(c[(c[c[742804]>>2]|0)+908>>2]|0,c[742765]|0,0,0,109,(p<<1)+112|0,17,15);break}else{Pn(f,0,p+121|0,128,p+127|0,8);Bo(c[742765]|0,2141888,c[742805]|0,1,p+122|0,1,c[535538]|0)|0;break}}else if(a[2142156]|0){Pn(c[742765]|0,0,121,128,127,8);Bo(c[742765]|0,2142156,c[742805]|0,1,122,1,2)|0}while(0);j=Xr()|0;c[535605]=j-(c[535605]|0);j=Xr()|0;if((j|0)<(c[535872]|0)?(j=Xr()|0,(j|0)>((c[535872]|0)+-150|0)):0){j=c[742765]|0;p=j+16|0;j=(((Xr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){o=c[(c[p>>2]|0)+(g<<2)>>2]|0;e=a[o+f>>0]|0;m=e&255;h=B(g+1001|0,j)|0;b:do if(!(g&2)){n=o;l=0;while(1){i=l+1|0;if((l|0)==127){q=128;r=m}else{q=i;r=d[n+i>>0]|0}i=(l&6|0)==0?((B(h,l+1103|0)|0)%19|0|0)!=0:0;a[n+l>>0]=i?((r&15|0)==0?1:r^128):r;if((q|0)==128)break b;n=c[(c[p>>2]|0)+(g<<2)>>2]|0;l=q}}else{l=o;n=0;do{i=n;n=n+1|0;a[l+i>>0]=a[l+n>>0]|0;l=c[(c[p>>2]|0)+(g<<2)>>2]|0}while((n|0)!=127);a[l+127>>0]=e}while(0);g=g+2|0;if(g>>>0>=128)break;else f=128}}if(!(c[535871]|0))s=1;else{qb(c[742765]|0);s=(c[535871]|0)==0}f=(c[780901]|0)!=0;if(s&(f&(((a[3120504]|0)!=0&f|(c[484611]|0)!=0)^1))?(a[3152374]&1)!=0:0){f=c[742765]|0;s=c[f>>2]|0;g=(s|0)/128|0;if((s|0)>127?(c[f+4>>2]|0)>127:0){f=0;do{s=B(f,g)|0;p=f<<7;q=0;do{r=q+s|0;if((r+-1|0)>>>0<3){ob(r);Gp(c[742795]|0,c[742765]|0,0,0,q<<7,p,128,128)}q=q+1|0}while((q|0)!=(g|0));f=f+1|0}while((f|0)<((c[(c[742765]|0)+4>>2]|0)/128|0|0))}}else t=80;if((t|0)==80?(Nk(0),(Ok()|0)>1):0){t=1;do{Nn(c[2971148+(t<<2)>>2]|0);t=t+1|0}while((t|0)<(Ok()|0))}if(c[536388]|0)Xg(c[742765]|0);if(!(c[485555]|0))Vg(c[742765]|0);t=c[484620]|0;if((t|0)<=127){Ia=b;return}mb(c[742765]|0,t);Ia=b;return}function tb(a){a=a|0;return (a|0)>15&(a|0)!=27&1|0}function ub(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Ia;Ia=Ia+2064|0;e=d+2048|0;f=d+1024|0;g=d;if(!(c[798798]|0)){Ia=d;return}if(!b)ku(f,3194372)|0;else ku(f,rc(b)|0)|0;if(a[f>>0]|0?(h=f+((bu(f)|0)+-1)|0,(a[h>>0]|0)==42):0)a[h>>0]=0;a:do switch(c[798797]|0){case 0:{qc(b,g)|0;if(!(a[g>>0]|0)){h=1719968;i=40985;j=h+13|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}else{c[e>>2]=g;wt(1719968,40998,e)|0}Jg(1719968,12);if(!(Hr(f)|0)){Lg(41012);k=0;l=17;break a}else{i=Dr(f,97321,3194372,16384)|0;c[798797]=1;m=i;l=18;break a}break}case 2:{i=Dr(f,97321,3194372,-16385)|0;c[798797]=3;n=i;l=23;break}default:{k=Er(3194372)|0;l=17}}while(0);if((l|0)==17)switch(c[798797]|0){case 1:{m=k;l=18;break}case 3:{n=k;l=23;break}default:{}}do if((l|0)==18){if(m|0){c[798797]=2;break}if(au(3194628,104886)|0?au(3194628,96845)|0:0){Jg(3194628,14);c[798798]=(c[798798]|0)+-1}}else if((l|0)==23){if(n|0){Fr(3194372)|0;c[798797]=0;break}if(bv(3194628,93459)|0){Lg(3194628);c[798798]=(c[798798]|0)+-1;break}if((c[798721]&16384|0)==0&(a[2140800]|0)==42){Jg(3194628,5);c[798798]=(c[798798]|0)+-1}}while(0);if(!((c[798798]|0)==0&(c[798797]|0)!=0)){Ia=d;return}Jg(41022,12);Ia=d;return}function vb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;c[485556]=0;e=c[485555]|0;if((e|0)<2){c[485556]=1;f=106960;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(106960,41031,16)|0;c[26757]=0;if(a[3127662]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127662,16)|0;c[106960+(h*72|0)+68>>2]=257}if(a[3127726]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127726,16)|0;c[106960+(h*72|0)+68>>2]=258}if(a[3127790]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127790,16)|0;c[106960+(h*72|0)+68>>2]=259}if(a[3127854]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127854,16)|0;c[106960+(h*72|0)+68>>2]=260}if(a[3127918]|0){h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,3127918,16)|0;c[106960+(h*72|0)+68>>2]=261}h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,93039,16)|0;c[106960+(h*72|0)+68>>2]=8;h=c[485556]|0;c[485556]=h+1;i=106960+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(i,41040,16)|0;c[106960+(h*72|0)+68>>2]=1;if(Eg()|0){h=Eg()|0;i=c[485556]|0;c[485556]=i+1;j=106960+(i*72|0)|0;f=j;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(j,h,16)|0;c[106960+(i*72|0)+68>>2]=5}if(c[484543]|0){i=c[485556]|0;c[485556]=i+1;h=106960+(i*72|0)|0;f=h;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(h,91017,16)|0;c[106960+(i*72|0)+68>>2]=6}k=c[485555]|0}else k=e;if((k|0)!=4){Ia=b;return}wt(1719968,(c[555247]|0)==0?41060:41051,d)|0;d=c[485556]|0;c[485556]=d+1;k=106960+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(k,1719968,16)|0;c[106960+(d*72|0)+68>>2]=9;f=1719968;d=41070;g=f+17|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(g|0));d=c[535610]|0;k=(c[555247]|0)>0?16:18;a[1719976]=(d|0)>31?k:45;a[1719977]=(d|0)>63?k:45;a[1719978]=(d|0)>95?k:45;a[1719979]=(d|0)>127?k:45;a[1719980]=(d|0)>159?k:45;a[1719981]=(d|0)>191?k:45;a[1719982]=(d|0)>223?k:45;a[1719983]=(d|0)>255?k:45;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,1719968,16)|0;c[106960+(k*72|0)+68>>2]=19;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,60622,16)|0;c[106960+(k*72|0)+68>>2]=13;k=c[485556]|0;c[485556]=k+1;d=106960+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));kv(d,93193,16)|0;c[106960+(k*72|0)+68>>2]=11;Ia=b;return}function wb(){var b=0,d=0,e=0,f=0,g=0;b=c[781053]|0;if(c[485559]|0){c[485559]=0;c[485555]=1;c[485556]=1;d=106960;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));kv(106960,41087,16)|0;c[26757]=7;f=c[485556]|0;c[485556]=f+1;g=106960+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));kv(g,41099,16)|0;c[106960+(f*72|0)+68>>2]=0;c[485557]=0;a[1724745]=1;nl()}if((b|0)==0|(c[780901]|0)==0|(c[485555]|0)!=0)return;if(($k(2971096,c[781999]|0,24368)|0)==1)_k(2971096,c[781999]|0,24368,0);else{c[485555]=1;vb();c[485557]=0}a[1724745]=1;nl();return}function xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(qo(-5)|0)!=0;d=b&(c[554340]|0)==0&1;c[554340]=qo(-5)|0;if(!(no()|0))e=d;else{b=d;while(1){d=oo()|0;a:do if(!(qo(-5)|0)){f=c[798930]|0;if((c[485555]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3195464+f>>0]=h;c[798930]=(c[798930]|0)+1;i=b}else i=b}else{do if((d|0)==112){c[536388]=((c[536388]|0)+1|0)%2|0;nl()}else{if((d|0)==114&(c[742800]|0)==0){h=Xr()|0;if((h|0)<=((c[535608]|0)+500|0))break;c[742800]=1;c[485555]=0;c[535608]=Xr()|0;if(no()|0)do oo()|0;while((no()|0)!=0);nl()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=rs()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){zq(c[485560]|0);f=xq((bu(h)|0)<<2)|0;c[485560]=f;Ls(h,f)|0;zq(h)}else zq(h);nl()}while(0);a[3195464+(c[798930]|0)>>0]=d+95;c[798930]=(c[798930]|0)+1;i=0}while(0);if(!(no()|0)){e=i;break}else b=i}}if(!e)return;a[3195464+(c[798930]|0)>>0]=-38;c[798930]=(c[798930]|0)+1;return}function yb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(ql(2,0)|0)c[485557]=(c[485557]|0)+-1;b=(ql(3,0)|0)==0;d=c[485557]|0;if(b)e=d;else{b=d+1|0;c[485557]=b;e=b}b=c[485556]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[485557]=(f|0)%(b|0)|0;b=ql(0,0)|0;f=ql(1,0)|0;e=(b|0)!=0;d=(f|0)==0;do if(f|b|0){g=c[106960+((c[485557]|0)*72|0)+68>>2]|0;if((g|0)>255){h=(g|0)<261?g+-256|0:5;i=(h|0)>0?h:0;h=(e?1:2)&((a[3127988+i>>0]^3)&255);if(!h)break;a[3127982+i>>0]=h;c[485558]=1;if(c[485555]|0)c[798930]=0;c[485555]=0;h=3124188;c[h>>2]=0;c[h+4>>2]=0;c[781175]=1;c[781176]=1;break}if((g|0)==19){if(e)c[535610]=(c[535610]|0)+-32;g=c[535610]|0;if(d)j=g;else{h=g+32|0;c[535610]=h;j=h}h=(j|0)<256?j:256;g=(h|0)>8?h:8;c[535610]=g;c[555247]=g;g=3124188;c[g>>2]=0;c[g+4>>2]=0;c[781175]=1;c[781176]=1;vb()}}while(0);if(!(((ql(4,0)|0)==0?(ql(5,0)|0)==0:0)?!(ql(6,0)|0):0))k=22;a:do if((k|0)==22){c[781051]=0;c[781052]=0;c[781053]=0;c[781179]=1;c[781180]=1;c[781181]=1;j=c[106960+((c[485557]|0)*72|0)+68>>2]|0;if((j|0)>255?(d=(j|0)<261?j+-256|0:5,e=a[3127988+d>>0]&112^112,e<<24>>24):0){a[3127982+d>>0]=e;c[485558]=1;if(c[485555]|0)c[798930]=0;c[485555]=0}do switch(j|0){case 0:{if(c[485555]|0)c[798930]=0;c[485555]=0;break a;break}case 1:{if(c[485555]|0)c[798930]=0;c[485555]=0;c[742800]=1;break a;break}case 13:{c[485555]=3;break a;break}case 3:{if(c[485555]|0)c[798930]=0;c[485555]=0;c[780900]=2;c[485554]=2;break a;break}case 4:{if(c[485555]|0)c[798930]=0;c[485555]=0;ah();c[798799]=0;c[780894]=0;c[781022]=6;break a;break}case 5:{Ig();break a;break}case 6:{c[554811]=1;break a;break}case 8:{c[485555]=4;vb();c[485557]=0;break a;break}case 9:{if(!(c[555247]|0)){e=c[535610]|0;l=(e|0)==0?256:e}else l=0;c[555247]=l;vb();break a;break}case 10:{yr();vb();break a;break}case 11:{c[485555]=1;vb();c[485557]=0;break a;break}case 12:{gm();c[485555]=2;nl();break a;break}default:break a}while(0)}while(0);if(c[485555]|c[554962]|0)return;nl();return}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[798799]|0){if(!(no()|0))return;do{a=oo()|0;b=c[798799]|0;if((b|0)==2)d=c[798799]|0;else d=b;if((d|0)==1){im(a);e=c[798799]|0}else e=d;if((e|0)==2){Wm(a);f=c[798799]|0}else f=e;if((f|0)==0?no()|0:0)do oo()|0;while((no()|0)!=0)}while((no()|0)!=0);return}if(!(c[798797]|0)){if(!(c[798800]|0))return;if(!(no()|0))return;f=oo()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;_g(108112+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[798800]=0;Lg(93543);return}else{if(c[798798]|0)return;if(!(no()|0))return;do{f=oo()|0;if((f|0)!=0?(g=c[781024]|0,d=g+-6|0,c[781024]=d,Pn(c[742782]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[798797]=0;Fr(3194372)|0;h=0}else h=17;c[798798]=h}while((no()|0)!=0);return}}function Ab(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+272|0;g=f+256|0;h=f;c[g>>2]=d;c[g+4>>2]=e;wt(h,a,g)|0;Rs(2141888,h)|0;c[535536]=Xr()|0;c[535537]=b+400+(Xr()|0);c[535538]=15;Ia=f;return}function Bb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+1312|0;d=b+1304|0;e=b+1296|0;f=b+1040|0;g=b;ws(c[781999]|0);ws(c[26544]|0);Ds(c[778903]|0);Ds(c[778904]|0);Ds(c[778905]|0);Ds(c[778906]|0);Ds(c[778907]|0);Ds(c[778908]|0);Ds(c[778909]|0);Ds(c[778910]|0);Ds(c[778911]|0);Ds(c[778912]|0);Ds(c[778913]|0);Ds(c[778914]|0);Ds(c[778915]|0);Ds(c[778916]|0);Ds(c[778917]|0);Ds(c[778918]|0);c[778919]=0;if(!(a[3126573]|0))qv(42397)|0;else{c[e>>2]=3126573;vv(41141,e)|0}Vv(g|0,3126573,1025)|0;wq(3118764,0,75604);Vv(3126573,g|0,1025)|0;Wv(3193872,0,488)|0;c[798575]=2;c[798506]=0;c[798576]=5;c[798472]=1;c[798491]=8;c[798492]=0;c[778921]=0;c[484616]=0;c[535466]=1;Rs(3116712,3196396)|0;c[781999]=vs()|0;c[26544]=vs()|0;g=Bs(0,65538)|0;c[778903]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778904]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778905]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778906]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778907]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778908]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778909]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778910]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778911]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778912]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778913]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778914]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778915]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778916]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778917]=g;c[g+308>>2]=4;c[g+312>>2]=6;e=c[484694]|0;h=(e|0)<4?e:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Bs(0,65538)|0;c[778918]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[484694]|0;e=(h|0)<4?h:4;c[g+316>>2]=((e|0)>1?e:1)<<2;c[g+332>>2]=0;c[778919]=c[778903];jb();c[535868]=0;ku(3118768,rc(40174)|0)|0;g=0;while(1){if(!(Gr(3118768)|0)){i=7;break}g=g+1|0;c[d>>2]=g;wt(f,40187,d)|0;ku(3118768,rc(f)|0)|0;if(g>>>0>=1e3){i=7;break}}if((i|0)==7){Kb(c[26544]|0,3119792);Ia=b;return}}function Cb(a){a=a|0;if((c[742800]|0)>0)return 0;else{Qd(c[554360]|0,a)|0;tf(c[554360]|0)|0}return 0}function Db(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[742800]|0;if(!b)return;d=(b|0)<(((c[798454]|0)==60?12:6)|0)?b+1|0:0;c[742800]=d;if((d|0)==2){b=$k(2971096,c[781999]|0,24366)|0;if(!(tp(8)|0))c[781033]=tp(4)|0;e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);e=c[781999]|0;_k(2971096,e,24384,tp(256)|0);if(!(tp(4)|0)){e=c[781999]|0;_k(2971096,e,24414,tp(16)|0|240)}tp(3)|0;tp(10)|0;e=(c[535463]|0)==0?4:c[535464]<<1;f=e*10|0;if((e|0)>0){g=0;do{h=c[781999]|0;i=tp(12288)|0;_k(2971096,h,i,tp(256)|0);g=g+1|0}while((g|0)<(f|0))}f=c[781999]|0;g=(tp(32)|0)+24320|0;_k(2971096,f,g,tp(140)|0);g=c[781999]|0;f=(tp(32)|0)+24320|0;_k(2971096,g,f,tp(140)|0);if(!(tp(4)|0)){f=c[781999]|0;_k(2971096,f,24369,tp(256)|0);f=c[781999]|0;_k(2971096,f,24370,tp(256)|0);f=c[781999]|0;_k(2971096,f,24371,tp(256)|0)}if(!(tp(4)|0)){f=c[781999]|0;_k(2971096,f,24408,tp(256)|0);f=c[781999]|0;_k(2971096,f,24409,tp(256)|0);f=c[781999]|0;_k(2971096,f,24410,tp(256)|0);f=c[781999]|0;_k(2971096,f,24411,tp(256)|0)}f=(e|0)/2|0;g=(e|0)>1;if(g){e=0;do{i=(tp(10240)|0)+1024|0;h=c[781999]|0;j=(tp(2048)|0)+i|0;k=j-(tp(2048)|0)|0;cl(2971096,h,i,k,tp(1024)|0);k=c[781999]|0;i=tp(11264)|0;h=tp(11264)|0;cl(2971096,k,i,h,tp(1024)|0);e=e+1|0}while((e|0)!=(f|0));if(g){g=0;do{e=tp(11776)|0;h=c[781999]|0;i=tp(256)|0;dl(2971096,h,e,i,tp(512)|0);g=g+1|0}while((g|0)!=(f|0))}}_k(2971096,c[781999]|0,24366,b);l=c[742800]|0}else l=d;if(l|0)return;c[780900]=1;if(a[3126573]|0)return;Rs(3126573,3125548)|0;return}function Eb(){var a=0,b=0,d=0,e=0,f=0,g=0;a=c[780900]|0;if(!a)return;c[742800]=0;if((a|0)==1){fh();if((c[780894]|0)==2)c[780894]=0;b=c[780900]|0}else b=a;if((b|0)==2){ah();d=c[780900]|0}else d=b;if((d|0)==3){Bb();e=c[780900]|0}else e=d;if((e|0)==4){ah();Rg();Lg(3196396);Lg(174160);f=c[780900]|0}else f=e;if((f|0)==5){Bb();g=c[780900]|0}else g=f;if((g|0)==6)Rg();c[780900]=0;return}function Fb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Ia;Ia=Ia+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[484717]|0){case 1:{f=2;break}case 0:{Ia=a;return}default:{}}if((f|0)==2){g=Xr()|0;if((g|0)>(((c[555283]|0)*1e3|0)+(c[484718]|0)|0)?(Pm(0),Gg(),(c[780901]|0)==0):0){c[781024]=(c[781024]|0)+-6;Mg(41184,0,0)}if(!(c[484717]|0)){Ia=a;return}}if((qo(41)|0)==0?!((c[780901]|0)!=0&(c[781053]|0)!=0):0){g=c[484717]|0;if((g|0)==2){c[484717]=0;h=(bv(1940168,41227)|0)!=0;i=c[484719]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){Sm(1940168)|0;break}if(h&(i|0)==2){Im(1940168)|0;break}if((i|0)!=3){j=Tb(1940168)|0;if(j|0){Zb(j,1940168);c[484720]=6;if((c[780901]|0)==0|(c[742801]|0)!=0){c[781024]=(c[781024]|0)+-6;Mg(41259,0,0);Jg(2008174,14);k=dh(1940168)|0;l=bu(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;wt(1719968,41276,b)|0;Mg(1719968,0,0);break}else{Hg();c[780900]=1;c[780903]=20;break}}l=c[484618]|0;c[484720]=-10-l;if((l|0)==1){Rs(2141888,41298)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;m=c[484618]|0}else m=l;if((m|0)==2){Rs(2141888,60936)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;n=c[484618]|0}else n=m;if((n|0)==3){Rs(2141888,41323)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;o=c[484618]|0}else o=n;if((o|0)==4){Rs(2141888,44078)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15}}}else{l=Mp(1940168)|0;Rs(e,1940168)|0;k=bv(1940168,41232)|0;if(k|0)Rs(e+(k-1940168)+1|0,k+6|0)|0;do if(l)if((bu(Lp(l,93404,0)|0)|0)>>>0<=1)if(!(au(Lp(l,93425,0)|0,97411)|0)){p=l;break}else{f=19;break}else{ep(1940168,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=Mp(e)|0;if(!l){if(!(c[780901]|0))Mg(41298,0,0);Gg();c[484720]=-3;break}else p=l}l=Lp(p,93404,0)|0;if((bu(l)|0)>>>0<2){k=(au(Lp(p,93425,0)|0,97411)|0)==0;j=(c[780901]|0)!=0;do if(k)if(j)q=-1;else{Mg(41239,0,0);q=-1}else if(j){Rs(2141888,39175)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;q=-2;break}else{Mg(39175,0,0);q=-2;break}while(0);c[484720]=q;Gg();c[780903]=0}else{j=bc(vm(l)|0)|0;_m(p);do if(!j){c[484720]=5;if((c[780901]|0)==0|(c[742801]|0)!=0){c[781024]=(c[781024]|0)+-6;Mg(41259,0,0);Rs(1719968,Lp(p,93408,0)|0)|0;nm(1719968);Jg(1719968,14);k=bu(c[c[26544]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;wt(1719968,41276,d)|0;Mg(1719968,0,0);break}else{Hg();c[780900]=1;c[780903]=20;break}}else{Jm(l);Rs(2008174,Lp(p,93408,0)|0)|0;nm(2008174)}while(0);Kp(p)}c[798801]=0}while(0);r=c[484717]|0}else r=g;if((r|0)!=3){Ia=a;return}c[484717]=0;c[484720]=-3;Gg();if(!(c[780901]|0)){Mg(93388,0,0);Ia=a;return}else{Rs(2141888,93388)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;Ia=a;return}}Pm(0);Gg();if(!(c[780901]|0)){c[781024]=(c[781024]|0)+-6;Mg(41203,0,0)}c[781053]=0;c[781181]=1;Ia=a;return}function Gb(){var a=0,b=0,d=0;a=sr(0,Xr()|0)|0;c[485561]=c[a>>2];c[485562]=c[a+4>>2];c[485563]=c[a+8>>2];c[485564]=c[a+12>>2];c[485565]=c[a+16>>2];c[485566]=c[a+20>>2];if(!(c[485563]|0)){a=sr(4,Xr()|0)|0;c[485561]=c[a>>2];c[485562]=c[a+4>>2];c[485563]=c[a+8>>2];c[485564]=c[a+12>>2];c[485565]=c[a+16>>2];c[485566]=c[a+20>>2]}a=sr(1,Xr()|0)|0;c[485567]=c[a>>2];c[485568]=c[a+4>>2];c[485569]=c[a+8>>2];c[485570]=c[a+12>>2];c[485571]=c[a+16>>2];c[485572]=c[a+20>>2];if(!(c[485569]|0)){a=sr(5,Xr()|0)|0;c[485567]=c[a>>2];c[485568]=c[a+4>>2];c[485569]=c[a+8>>2];c[485570]=c[a+12>>2];c[485571]=c[a+16>>2];c[485572]=c[a+20>>2]}a=sr(2,Xr()|0)|0;c[485573]=c[a>>2];c[485574]=c[a+4>>2];c[485575]=c[a+8>>2];c[485576]=c[a+12>>2];c[485577]=c[a+16>>2];c[485578]=c[a+20>>2];if(!(c[485575]|0)){a=sr(6,Xr()|0)|0;c[485573]=c[a>>2];c[485574]=c[a+4>>2];c[485575]=c[a+8>>2];c[485576]=c[a+12>>2];c[485577]=c[a+16>>2];c[485578]=c[a+20>>2]}a=sr(3,Xr()|0)|0;c[485579]=c[a>>2];c[485580]=c[a+4>>2];c[485581]=c[a+8>>2];c[485582]=c[a+12>>2];c[485583]=c[a+16>>2];c[485584]=c[a+20>>2];if(c[485581]|0){b=Xr()|0;d=sr(-1,b)|0;c[485585]=c[d>>2];c[485586]=c[d+4>>2];c[485587]=c[d+8>>2];c[485588]=c[d+12>>2];c[485589]=c[d+16>>2];c[485590]=c[d+20>>2];return}a=sr(7,Xr()|0)|0;c[485579]=c[a>>2];c[485580]=c[a+4>>2];c[485581]=c[a+8>>2];c[485582]=c[a+12>>2];c[485583]=c[a+16>>2];c[485584]=c[a+20>>2];b=Xr()|0;d=sr(-1,b)|0;c[485585]=c[d>>2];c[485586]=c[d+4>>2];c[485587]=c[d+8>>2];c[485588]=c[d+12>>2];c[485589]=c[d+16>>2];c[485590]=c[d+20>>2];return}function Hb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;b=Ia;Ia=Ia+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;if(c[554811]|0){Nn(c[742782]|0);or();lr(0,0);Ia=b;return}m=c[8719]|0;do if((c[780894]|0)!=2&(m|0)!=-1){if((c[535610]|0)==(m|0)?(c[555247]|0)==(c[8720]|0):0)break;Xo()}while(0);c[8719]=c[535610];c[8720]=c[555247];Zg();do if((c[485555]|0)==0&(c[780894]|0)==1&(c[780901]|0)!=0){if((ml(6,0)|0)==0?(kl(6,0)|0)<=128:0){c[554338]=Xr()|0;c[554339]=0;break}m=c[554339]|0;c[554339]=m+1;if((m|0)>4?(m=Xr()|0,(m|0)>((c[554338]|0)+500|0)):0){c[485555]=1;c[485557]=0;vb();nl();a[1724745]=1}}else c[554338]=Xr()|0;while(0);oc();Zk();m=c[555247]|0;if(m|0)c[535610]=m;c[555248]=256;m=(($k(2971096,c[781999]|0,24365)|0)&5|0)==5;is((c[485555]|0)==0&((c[780894]|0)==1&m)&1);m=c[535463]|0;n=c[780894]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[535463]=o;if((o|0)==12)c[742800]=1;if((c[780900]|0)==1){gc(c[742795]|0,0,0)|0;c[535463]=1;o=(c[535464]|0)+1|0;c[535464]=o;if((o|0)==48)ya(0);else{p=c[780894]|0;break}}else p=1}else p=n;while(0);if(!((c[780895]|0)>>>0>1&((c[484699]|0)!=0&(p|0)==0))){c[554966]=0;c[554965]=0}if(qo(-5)|0?(qo(16)|0)==3:0){if(!(c[555247]|0)){p=c[535610]|0;c[555247]=(p|0)==0?256:p;Rs(2141888,41123)|0}else{c[555247]=0;Rs(2141888,41104)|0}c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[555248]=256;vb()}if(qo(-5)|0?(qo(45)|0)==3:0){p=(c[535610]|0)+-32|0;n=(p|0)<256?p:256;p=(n|0)>0?n:0;c[535610]=p;c[555247]=p;q=1719968;r=41354;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1719979]=(p|0)>31?16:45;a[1719980]=(p|0)>63?16:45;a[1719981]=(p|0)>95?16:45;a[1719982]=(p|0)>127?16:45;a[1719983]=(p|0)>159?16:45;a[1719984]=(p|0)>191?16:45;a[1719985]=(p|0)>223?16:45;a[1719986]=(p|0)>255?16:45;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[535536]=(c[535536]|0)+-1e3;vb();if(no()|0)do oo()|0;while((no()|0)!=0)}if(qo(-5)|0?(qo(46)|0)==3:0){p=(c[535610]|0)+32|0;n=(p|0)<256?p:256;p=(n|0)>0?n:0;c[535610]=p;c[555247]=p;q=1719968;r=41354;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1719979]=(p|0)>31?16:45;a[1719980]=(p|0)>63?16:45;a[1719981]=(p|0)>95?16:45;a[1719982]=(p|0)>127?16:45;a[1719983]=(p|0)>159?16:45;a[1719984]=(p|0)>191?16:45;a[1719985]=(p|0)>223?16:45;a[1719986]=(p|0)>255?16:45;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;c[535536]=(c[535536]|0)+-1e3;vb();if(no()|0)do oo()|0;while((no()|0)!=0)};c[781307]=-1;c[781308]=-1;c[781309]=-1;c[781310]=-1;c[781311]=-1;c[781312]=-1;c[781313]=-1;c[781314]=-1;p=c[485555]|0;r=c[555247]|0;q=c[742775]|0;s=ns()|0;n=(($k(2971096,c[781999]|0,24365)|0)&5|0)==5;pa(10,p|0,r|0,q|0,s|0,1,(c[485555]|0)==0&((c[780894]|0)==1&n)&1|0,c[484610]|0,c[554811]|0)|0;c[554341]=(c[554341]|0)+1;n=ka(11)|0;a:do if((n|0)>0){s=ka(12)|0;do switch(n|0){case 1:{c[780900]=1;break a;break}case 2:{q=(s|0)<256?s:256;c[555247]=(q|0)>0?q:0;c[555248]=256;break a;break}case 3:{if(!(c[555247]|0)){q=c[535610]|0;c[555247]=(q|0)==0?256:q;Rs(2141888,41123)|0}else{c[555247]=0;Rs(2141888,41104)|0}c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[555248]=256;break a;break}case 4:{if(!(c[485555]|0)){c[485591]=1;c[554338]=0;break a}else{c[798930]=0;c[485555]=0;break a}break}case 5:{q=(s|0)==0;r=(c[485555]|0)!=0;if(!(q|r)){c[485555]=1;vb();c[485557]=0;break a}if(!(q&r))break a;c[798930]=0;c[485555]=0;break a;break}case 6:{Wv(1937144,0,1024)|0;la(3,0)|0;a[104896]=0;r=0;do{q=ka(4)|0;a[104896+r>>0]=q;r=r+1|0;a[104896+r>>0]=0}while((q|0)!=0&r>>>0<1023);Rs(1937144,xm(3196396,104896)|0)|0;Bb();Nn(c[742765]|0);Nn(c[742795]|0);Nn(c[742782]|0);break a;break}case 7:{r=c[485555]|0;if((r|1|0)!=3){c[485555]=3;gm();break a}if(r|0)c[798930]=0;c[485555]=0;break a;break}case 9:{c[536395]=0;pc();break a;break}case 10:{c[536395]=1;break a;break}case 11:{c[536395]=0;break a;break}default:break a}while(0)}while(0);ka(13)|0;c[781307]=ka(14)|0;c[781308]=ka(14)|0;c[781309]=ka(14)|0;c[781310]=ka(14)|0;c[781311]=ka(14)|0;c[781312]=ka(14)|0;c[781313]=ka(14)|0;c[781314]=ka(14)|0;c[535611]=ka(15)|0;c[798591]=89;Eb();if((c[780894]|0)!=1){c[554962]=0;if(c[485555]|0)c[798930]=0;c[485555]=0;c[798454]=30}n=(Xr()|0)+72e6|0;s=(c[485555]|c[554962]|0)==0;r=c[798454]|0;q=n-(c[554342]|0)|0;p=B((((q|0)<32e3?q:32e3)<<16|0)/1e3|0,s?r:30)|0;q=p+(c[535606]|0)|0;p=(q|0)>0?q:0;c[535606]=p;c[554342]=n;if(!(c[535463]|0))t=p;else{c[535606]=65536;t=65536}p=(r|0)==60?131072:131071;r=t>>>0<p>>>0?t:p;p=(r|0)>0?r:0;c[535606]=p;if(s){cs(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[554344]|0)|(l|0)!=(c[554343]|0);c[554343]=l;c[554344]=j;j=(qo(225)|0)==0;l=(c[780894]|0)!=1;s=c[535606]|0;if((s|0)<65536&(l&(k&j)^1)|l&(s|0)<32768){l=2143500+(c[536387]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(ns()|0)==0;j=l?c[555250]|0:c[555249]|0;if((j|0)>0)u=100/(((j|0)<50?j:50)>>>0)|0;else u=1e4;j=c[554345]|0;if((j|0)<(u|0)){Hn();v=c[554345]|0}else v=j;w=c[535606]|0;x=v+1|0}else{w=s;x=0}c[554345]=x;if((w|0)>65535)do{do if((c[780894]|0)==1){if((c[484717]|0)>0|(c[537596]|0)!=0){pl();if((c[484717]|0)>0)Fb();w=c[780903]|0;if((w|0)<=10)break;c[780903]=w+-1;break}w=c[780903]|0;if((w|0)>0){c[780903]=w+-1;break}Gb();w=(c[780904]|0)+-1|0;x=(w|0)<150?w:150;c[780904]=(x|0)>0?x:0;xb();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;cs(g,h,i);x=c[8716]|0;w=c[g>>2]|0;do if((x|0)==-1){y=c[h>>2]|0;z=c[i>>2]|0}else{if((x|0)!=(w|0))c[781042]=c[781042]|1;s=c[h>>2]|0;if((c[8717]|0)!=(s|0))c[781042]=c[781042]|2;v=c[8718]|0;j=c[i>>2]|0;if((v|0)==(j|0)){y=s;z=v;break}c[781042]=c[781042]|4;y=s;z=j}while(0);c[8716]=w;c[8717]=y;c[8718]=z;if((c[780901]|0)==0|(c[781379]|0)<2){pl();if(c[780901]|0)c[742775]=((c[798454]|0)==30?2:1)+(c[742775]|0);wb();Yg()}if((c[742800]|0)>2)break;c[536392]=1;ih();c[536392]=0;if(!(c[742797]|0))break;c[535607]=1;if(!((c[780901]|0)!=0&(c[781379]|0)==2))break;if((Qg(0)|0)<=2097152)break;ol();wb();Yg()}else{pl();x=c[798799]|0;if((x|0)==1){km();A=c[798799]|0}else A=x;c[780903]=0}while(0);x=c[780894]|0;if((x|0)==2){xn();C=c[780894]|0}else C=x;do if((C|0)==3){x=po()|0;if(!(c[781047]|x|c[781048]|c[781049]|c[781050]|c[781051]|c[781052]|c[781053]))break;jb()}while(0);Db();c[535606]=(c[535606]|0)+-65536;c[742774]=(c[742774]|0)+1;c[798801]=(c[798801]|0)+1;x=c[554346]&1^1;c[554346]=x;do if(!(c[484703]|0)){j=c[554962]|0;s=c[485555]|0;v=c[798454]|0;if((v|0)==60&(j|x|s|0)==0){Lh(c[535604]|0);D=c[485555]|0;E=c[554962]|0;F=c[798454]|0}else{D=s;E=j;F=v}if((F|0)==30|(D|E|0)!=0){Lh(c[535604]|0);G=c[485555]|0;H=c[554962]|0;I=c[798454]|0}else{G=D;H=E;I=F}if(!((G|H|0)==0&(I|0)==15))break;Lh(c[535604]|0);Lh(c[535604]|0)}while(0)}while((c[535606]|0)>65535)}else if((p|0)>65535){pl();Gb();switch(c[485555]|0){case 2:{km();break}case 3:{if(ql(6,0)|0){if(c[485555]|0)c[798930]=0;c[485555]=0;nl()}break}default:{xb();yb()}}c[535606]=(c[535606]|0)+-65536;if(!(c[484703]|0))Lh(c[535604]|0)}if(!(c[780895]|c[780894])){zb();p=c[798797]|0;I=c[798798]|0;if((p|0)!=0&(I|0)>0){ub(0);J=c[798797]|0;K=c[798798]|0}else{J=p;K=I}if((J|0)!=0&(K|0)>0)ub(0)}if((c[780894]|0)==1&(c[780895]|0)==0&(c[485555]|0)==2?(qo(41)|0)==3:0)hm();if(c[780902]|0)c[780902]=0;do if(!(c[484624]|0))L=0;else{if((qo(63)|0)!=3?(qo(58)|0)!=3:0)M=0;else M=1;if((qo(64)|0)!=3?(qo(59)|0)!=3:0)N=M;else N=2;if((qo(65)|0)!=3?(qo(60)|0)!=3:0)O=N;else O=3;if((qo(66)|0)!=3?(qo(61)|0)!=3:0)P=O;else P=4;if((qo(67)|0)!=3?(qo(62)|0)!=3:0){L=P;break}L=5}while(0);if(!(qo(-5)|0))Q=L;else{P=(qo(35)|0)==3;Q=P?1:L}if(!(qo(-5)|0))R=Q;else{L=(qo(36)|0)==3;R=L?2:Q}if(!(qo(-5)|0))S=R;else{Q=(qo(37)|0)==3;S=Q?3:R}if(!(qo(-5)|0))T=S;else{R=(qo(38)|0)==3;T=R?4:S}if(!(qo(-5)|0))U=T;else{S=(qo(39)|0)==3;U=S?5:T}b:do if(!(qo(-4)|0))switch(U|0){case 1:{if(!(gc(c[742795]|0,0,0)|0)){Rs(2141888,60414)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;break b}else{Rs(2141888,42155)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break b}break}case 3:{Mh();Rs(2141888,42184)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;break b;break}case 4:{T=Kh(0,0)|0;do if((T|0)!=9)if((T|0)>0){Rs(2141888,42241)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break}else{c[f>>2]=Qh()|0;c[f+4>>2]=0;wt(g,60572,f)|0;Rs(2141888,g)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15;break}else{Rs(2141888,42209)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1900;c[535538]=15}while(0);if((c[484702]|0)!=1)break b;Mh();break b;break}default:break b}while(0);if(c[502428]|0){Vv(1724192,2009198,512)|0;c[502428]=0}if(!(c[484717]|c[780903]|c[780904]))c[798801]=0;g=c[780894]|0;if((g|0)==1&(c[780901]|0)!=0){f=$k(2971096,c[781999]|0,24367)|0;U=(f|0)==1|((f|0)!=2?(c[485558]|c[485555]|0)!=0:0);f=c[554964]|0;c[554964]=(f+-1|0)>>>0<4&(U^1)?f+1|0:U&1;V=c[780894]|0}else V=g;do if((V|1|0)==3){c[554980]=0;W=199}else{g=c[554980]|0;if(g|0){c[e>>2]=g&255;wt(1719968,42265,e)|0;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;c[554980]=0}g=c[554981]|0;if(!g)break;c[d>>2]=g&255;wt(1719968,42287,d)|0;Rs(2141888,1719968)|0;c[535536]=Xr()|0;c[535537]=(Xr()|0)+1400;c[535538]=15;W=199}while(0);if((W|0)==199)c[554981]=0;W=c[536397]|0;if(W|0)Nu(W)|0;Nu(c[8745]|0)|0;Ia=b;return}function Ib(){var a=0;$l()|0;if(c[798797]|0)Fr(3194372)|0;a=c[536396]|0;if(a|0)Lu(a)|0;a=c[536397]|0;if(!a){Dn()|0;return}Lu(a)|0;Dn()|0;return}function Jb(a,b){a=a|0;b=b|0;ka(16)|0;return Jn(a,b)|0}function Kb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+1024|0;f=e;g=d;h=g+40|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));i=d+40|0;a[i>>0]=0;if(!b){Ia=e;return}j=vq(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;Gq(g,bu(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Lb(b,j,0)|0;c[b>>2]=g;if(!h)Gq(j,32768,d)|0;else Rs(d,f)|0;a[i>>0]=0;zq(j);Ia=e;return}function Lb(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;wq(d,0,32768);Rq();f=0;do{a[d+f>>0]=$k(0,b,f)|0;f=f+1|0}while((f|0)!=17152);Sq();f=vq(262144)|0;g=c[b>>2]|0;do if(!e){h=f;i=Ml(g,f,bu(g)|0)|0;j=0}else{if(!(hn(g,f)|0)){b=vq(262144)|0;h=b;i=Ml(f,b,bu(f)|0)|0;j=f;break}zq(f);k=2;return k|0}while(0);c[554347]=i;if((i|0)>15616){zq(h);zq(j);k=1;return k|0}else{Vv(d+17152|0,h|0,i|0)|0;zq(h);zq(j);k=0;return k|0}return 0}function Mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+1056|0;d=b+1040|0;e=b+1024|0;f=b+768|0;g=b+512|0;h=b;i=Vo(a)|0;Zo(a,0,f,g);c[e>>2]=f;c[e+4>>2]=g;wt(h,104363,e)|0;if(!i){c[d>>2]=a;vv(42417,d)|0;Ia=b;return}c[484610]=0;if((bv(a,58348)|0)==0?(bv(a,92099)|0)==0:0){j=i+12|0;k=i+16|0}else{a=vq(20971520)|0;Rh(e);d=i+12|0;g=i+16|0;Th(c[d>>2]|0,c[g>>2]|0,a,e)|0;Uh(a+(bu(a)|0)|0,e)|0;c[i+20>>2]=0;c[g>>2]=0;Ho(a,bu(a)|0,1,i)|0;zq(a);j=d;k=g}g=bu(h)|0;na(17,h|0,g|0,c[j>>2]|0,c[k>>2]|0)|0;Cq(i);Ia=b;return}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ia;Ia=Ia+16|0;g=f;h=f+4|0;i=Vo(a)|0;j=i+16|0;k=vq(((c[j>>2]<<3|0)/6|0)+256|0)|0;wq(h,0,12);c[g>>2]=b;wt(k,42530,g)|0;g=k+(bu(k)|0)|0;if(i|0){Rh(h);Th(c[i+12>>2]|0,c[j>>2]|0,g,h)|0;Uh(g+(bu(g)|0)|0,h)|0}h=bu(k)|0;oa(18,k|0,h|0,d|0,e|0,a|0,bu(a)|0)|0;zq(k);Ro(i);Ia=f;return}function Ob(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=Ia;Ia=Ia+16|0;h=g;i=xq(32768)|0;wq(i,0,32768);if(Lb(b,i,1)|0){Jg(43954,8);zq(i);j=1;Ia=g;return j|0}if(bv(e,59915)|0){b=c[554347]|0;k=xq((b<<1|1)+1024|0)|0;if((b|0)>0){l=k;m=0;n=0;while(1){c[h>>2]=d[i+(m+17152)>>0];wt(l,104626,h)|0;o=n+2|0;if((m&31|0)==31){a[k+o>>0]=10;p=n+3|0}else p=o;m=m+1|0;o=k+p|0;if((m|0)==(b|0)){q=o;break}else{l=o;n=p}}}else q=k;a[q>>0]=0;os(k)|0;zq(k);zq(i);Mg(43979,b,0);j=0;Ia=g;return j|0}b=Po(e,104706)|0;if(!b){zq(i);j=1;Ia=g;return j|0}if(!f){Ho(i,1,32768,b)|0;Mg(44038,32768,0)}else{Ho(i+17152|0,1,c[554347]|0,b)|0;Mg(44009,c[554347]|0,0)}Ro(b);zq(i);j=0;Ia=g;return j|0}function Pb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=Ia;Ia=Ia+256|0;h=g+64|0;i=g+240|0;j=g+232|0;k=g+224|0;l=g+216|0;m=g+208|0;n=g+200|0;o=g+192|0;p=g+184|0;q=g+176|0;r=g+168|0;s=g+160|0;t=g+152|0;u=g+144|0;v=g+136|0;w=g+128|0;x=g+120|0;y=g+112|0;z=g+104|0;A=g+96|0;B=g;C=g+244|0;D=B;E=D+64|0;do{c[D>>2]=0;D=D+4|0}while((D|0)<(E|0));D=xq(32800)|0;wq(D,0,32800);if(Lb(b,D,f)|0){zq(D);Jg(43954,8);F=2;Ia=g;return F|0}a[D+32768>>0]=43;a[D+32769>>0]=0;a[D+32770>>0]=2;a[D+32771>>0]=7;a[D+32772>>0]=Qm()|0;a[D+32773>>0]=0;Gq(D,32768,B)|0;c[C>>2]=0;c[A>>2]=C;Su(B,44055,A)|0;a[D+32774>>0]=c[C>>2];c[C>>2]=0;c[z>>2]=C;Su(B+2|0,44055,z)|0;a[D+32775>>0]=c[C>>2];c[C>>2]=0;c[y>>2]=C;Su(B+4|0,44055,y)|0;a[D+32776>>0]=c[C>>2];c[C>>2]=0;c[x>>2]=C;Su(B+6|0,44055,x)|0;a[D+32777>>0]=c[C>>2];c[C>>2]=0;c[w>>2]=C;Su(B+8|0,44055,w)|0;a[D+32778>>0]=c[C>>2];c[C>>2]=0;c[v>>2]=C;Su(B+10|0,44055,v)|0;a[D+32779>>0]=c[C>>2];c[C>>2]=0;c[u>>2]=C;Su(B+12|0,44055,u)|0;a[D+32780>>0]=c[C>>2];c[C>>2]=0;c[t>>2]=C;Su(B+14|0,44055,t)|0;a[D+32781>>0]=c[C>>2];c[C>>2]=0;c[s>>2]=C;Su(B+16|0,44055,s)|0;a[D+32782>>0]=c[C>>2];c[C>>2]=0;c[r>>2]=C;Su(B+18|0,44055,r)|0;a[D+32783>>0]=c[C>>2];c[C>>2]=0;c[q>>2]=C;Su(B+20|0,44055,q)|0;a[D+32784>>0]=c[C>>2];c[C>>2]=0;c[p>>2]=C;Su(B+22|0,44055,p)|0;a[D+32785>>0]=c[C>>2];c[C>>2]=0;c[o>>2]=C;Su(B+24|0,44055,o)|0;a[D+32786>>0]=c[C>>2];c[C>>2]=0;c[n>>2]=C;Su(B+26|0,44055,n)|0;a[D+32787>>0]=c[C>>2];c[C>>2]=0;c[m>>2]=C;Su(B+28|0,44055,m)|0;a[D+32788>>0]=c[C>>2];c[C>>2]=0;c[l>>2]=C;Su(B+30|0,44055,l)|0;a[D+32789>>0]=c[C>>2];c[C>>2]=0;c[k>>2]=C;Su(B+32|0,44055,k)|0;a[D+32790>>0]=c[C>>2];c[C>>2]=0;c[j>>2]=C;Su(B+34|0,44055,j)|0;a[D+32791>>0]=c[C>>2];c[C>>2]=0;c[i>>2]=C;Su(B+36|0,44055,i)|0;a[D+32792>>0]=c[C>>2];c[C>>2]=0;c[h>>2]=C;Su(B+38|0,44055,h)|0;a[D+32793>>0]=c[C>>2];C=Sn(160,205,32)|0;Gp(c[(c[c[742804]>>2]|0)+580>>2]|0,C,0,0,0,0,160,205);B=c[b+45856>>2]|0;if(B|0)Gp(B,C,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){i=a[b>>0]|0;G=i<<24>>24==10;H=b+1|0;if(G^i<<24>>24!=0)b=H;else break}i=G?H:b;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;H=(a[b>>0]|0)==32?B+3|0:b;b=0;a:while(1){B=a[H>>0]|0;switch(B<<24>>24){case 10:case 0:{break a;break}default:{}}if(b>>>0>=31)break;a[h+b>>0]=B;H=H+1|0;b=b+1|0}Bo(C,h,c[742805]|0,18,167,1,-1808)|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[i>>0]|0)==45?(a[i+1>>0]|0)==45:0){b=i+2|0;H=(a[b>>0]|0)==32?i+3|0:b;b=0;b:while(1){i=a[H>>0]|0;switch(i<<24>>24){case 10:case 0:{break b;break}default:{}}if(b>>>0>=31)break;a[h+b>>0]=i;H=H+1|0;b=b+1|0}Bo(C,h,c[742805]|0,18,175,1,-1808)|0}Bo(C,104368,c[742805]|0,18,187,1,-6250336)|0;h=0;b=c[C+12>>2]|0;while(1){H=a[b>>0]&-4;a[b>>0]=H;a[b>>0]=(d[D+(h>>>2)>>0]|0)>>>(h<<1&6)&3|H&255;h=h+1|0;if((h|0)==131200)break;else b=b+1|0}bp(e,C)|0;Tn(C)|0;zq(D);F=0;Ia=g;return F|0}function Qb(a,b){a=a|0;b=b|0;return Pb(a,b,0)|0}function Rb(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{_k(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=xq(65538)|0;c[a>>2]=e;wq(e,0,65538)}e=b+17152|0;b=(Ll(e)|0)==0;f=c[a>>2]|0;if(b){Vv(f|0,e|0,15616)|0;return}else{wq(f,0,65538);Nl(e,c[a>>2]|0,65537)|0;return}}function Sb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[484618]=0;if(!b){c[484618]=2;j=0;Ia=e;return j|0}k=$o(b)|0;if(!k){c[484618]=1;j=0;Ia=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=vs()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+45860>>2]=d[m>>0];n=a[m>>0]|0;if(!((n&255)<44|(c[484612]|0)!=0)){c[g>>2]=n&255;wt(1719968,44059,g)|0;Lg(1719968);c[484618]=3;Tn(k)|0;j=0;Ia=e;return j|0}Rb(b,l);Gq(l,32768,h)|0;g=0;n=0;m=0;do{c[i>>2]=0;c[f>>2]=i;Su(h+(m<<1)|0,44055,f)|0;o=a[l+(m+32774)>>0]|0;n=o<<24>>24==0?n:1;g=(c[i>>2]|0)==(o&255|0)?g:1;m=m+1|0}while((m|0)!=20);Tn(k)|0;if((n|0)!=0&(g|0)!=0){Lg(44078);p=0;q=4}else{p=b;q=0}c[484618]=q;j=p;Ia=e;return j|0}Tn(k)|0;c[484618]=5;j=0;Ia=e;return j|0}function Tb(a){a=a|0;var b=0,d=0;b=Po(a,96074)|0;d=Sb(b)|0;Ro(b);if(!d)return d|0;c[d+45856>>2]=zm(a)|0;return d|0}function Ub(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ia;Ia=Ia+16|0;e=d;f=Po(b,96074)|0;if(!f){g=0;Ia=d;return g|0}b=vs()|0;h=vq(262144)|0;i=vq(65536)|0;j=Fo(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=h+3|0;l=0;m=1}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=h+4|0;l=3;m=4}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=h+4|0;l=0;m=4;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=h;l=0;m=1;break a}k=o;l=0;m=2}else{k=h;l=0;m=1}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=o;l=1;m=2}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=h;l=0;m=1}n=(j+h-k|0)/(m|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(j,m)|0;q=a[k+(p+l)>>0]|0;r=0;s=0;while(1){if((s|0)==(l|0))t=r;else t=(a[k+(s+p)>>0]|0)==0?r:1;s=s+1|0;if(s>>>0>=m>>>0)break;else r=t}if(!t)if(q<<24>>24==13)u=o;else{a[k+o>>0]=q;u=o+1|0}else{a[k+o>>0]=95;a[k+(o+1)>>0]=120;r=0;s=o+2|0;while(1){c[e>>2]=a[k+(r+p)>>0];wt(k+s|0,104626,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=m>>>0){u=v;break}else s=v}}j=j+1|0;if((j|0)==(n|0)){w=u;break}else o=u}}else w=0;a[k+w>>0]=10;a[k+(w+1)>>0]=0;w=vq(131072)|0;Ls(k,w)|0;a[w+65534>>0]=0;Ro(f);zq(h);zq(i);i=w+(bu(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;Rs(c[b>>2]|0,w)|0;zq(w);g=b;Ia=d;return g|0}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+3120|0;e=d+3104|0;f=d+3088|0;g=d+3072|0;h=d+2048|0;i=d+1024|0;j=d;Rs(b,a)|0;if(Ts(b,93459)|0){Ia=d;return}Zo(a,h,i,j);if(Ts(j,92808)|0){c[g>>2]=h;c[g+4>>2]=i;c[g+8>>2]=j;wt(b,44106,g)|0;Ia=d;return}if(!(Ts(j,44116)|0)){c[e>>2]=h;c[e+4>>2]=i;c[e+8>>2]=j;wt(b,44121,e)|0;Ia=d;return}else{c[f>>2]=h;c[f+4>>2]=i;c[f+8>>2]=j;wt(b,44106,f)|0;Ia=d;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+4160|0;g=f+4096|0;h=f+2048|0;i=f+1024|0;j=f;k=f+4120|0;if(!(a[b>>0]|0)){Rs(h,44131)|0;Rs(i,93459)|0}else Zo(b,f+3072|0,h,i);ds(44140,j);if(e|0){Ir(k,0);e=c[k+8>>2]|0;l=c[k+12>>2]|0;m=c[k+16>>2]|0;n=c[k+20>>2]|0;o=c[k+24>>2]|0;c[g>>2]=c[k+4>>2];c[g+4>>2]=e;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;c[g+20>>2]=o;wt(1719968,44148,g)|0;lu(j,1719968)|0}lu(j,h)|0;lu(j,i)|0;if(d|0){d=xq(1048576)|0;i=Po(b,96074)|0;h=Fo(d,1,1048576,i)|0;Ro(i);i=Po(j,104706)|0;Ho(d,1,h,i)|0;Ro(i);zq(d);Ia=f;return 0}bh();if(Ts(b,92808)|0){Pb(c[26544]|0,j,0)|0;Ia=f;return 0}d=(Ts(b,44116)|0)==0;b=c[26544]|0;if(d){As(b,j)|0;Ia=f;return 0}else{Ob(b,j,0)|0;Ia=f;return 0}return 0}function Xb(a,b){a=a|0;b=b|0;Wb(a,b,1)|0;return 0}function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ia;Ia=Ia+1024|0;e=d;bh();f=vq(262144)|0;do if(hn(c[c[26544]>>2]|0,f)|0){if((Ts(b,92808)|0)==0?(Ts(b,44116)|0)==0:0){Rs(f,c[c[26544]>>2]|0)|0;break}zq(f);g=1;Ia=d;return g|0}while(0);h=bu(f)|0;i=bu(c[c[26544]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){Lg(44174);zq(f);g=1;Ia=d;return g|0}i=vq(262144)|0;wq(i,0,262144);h=Ml(f,i,bu(f)|0)|0;zq(i);if((Ts(b,92808)|0)==0?(Ts(b,44116)|0)==0:0){if((h|0)>15616){Jg(44245,9);Jg(44278,9);Mg(44231,h,15616);Lg(44309)}}else k=12;do if((k|0)==12){if((h|0)>15616){Jg(44199,8);Mg(44231,h,15616);zq(f);g=1;Ia=d;return g|0}if(Ts(b,92808)|0){i=c[(c[26544]|0)+45856>>2]|0;if(i|0){l=c[i+12>>2]|0;i=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==i<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}Jg(59953,9);Jg(59977,10)}}while(0);Vb(b,e);if(au(e,3118768)|0?Gr(e)|0:0)Wb(e,1,1)|0;do if(!(Ts(e,92808)|0)){b=(Ts(e,44116)|0)==0;h=c[26544]|0;if(b){o=As(h,e)|0;break}else{Rs(c[h>>2]|0,f)|0;ch();o=Ob(c[26544]|0,e,0)|0;break}}else{Rs(c[c[26544]>>2]|0,f)|0;ch();o=Pb(c[26544]|0,e,0)|0}while(0);if(!o){Rs(3118768,e)|0;Kb(c[26544]|0,3119792);if(!j)Jg(44329,9)}else if(c[780895]|0)fb(44349,1500);zq(f);g=o;Ia=d;return g|0}function Zb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Ia=f;return}ws(c[26544]|0);c[26544]=b;_b(b);j=c[(c[b+12>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=k;o=0;do{n=(a[m+o>>0]|0)==0?n:1;o=o+1|0}while((o|0)!=128);l=l+1|0;if((l|0)==64)break;else k=n}if(!n)Fh(b);else Gh(b);c[484610]=0;Kb(c[26544]|0,3119874);ch();bh();Kb(c[26544]|0,3119792);a[184176]=0;c[h>>2]=44393;c[h+4>>2]=3119792;wt(184176,44370,h)|0;h=184176+(bu(184176)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;Rs(i,184176)|0;if(!e)Rs(3118768,i)|0;else Rs(3118768,e)|0;do if(eh(e)|0){c[g>>2]=i;wt(1715360,44396,g)|0;Cn(1715360);h=ys(i)|0;if(!h){Cn(44464);break}Cn(44455);n=0;do{if(1<<(n&7)&d[(n>>>3)+(h+45884)>>0]|0)_k(0,b,n,$k(0,h,n)|0);n=n+1|0}while((n|0)!=17152)}while(0);kb();Os(c[(c[778903]|0)+364>>2]|0);i=c[778903]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778904]|0)+364>>2]|0);i=c[778904]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778905]|0)+364>>2]|0);i=c[778905]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778906]|0)+364>>2]|0);i=c[778906]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778907]|0)+364>>2]|0);i=c[778907]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778908]|0)+364>>2]|0);i=c[778908]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778909]|0)+364>>2]|0);i=c[778909]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778910]|0)+364>>2]|0);i=c[778910]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778911]|0)+364>>2]|0);i=c[778911]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778912]|0)+364>>2]|0);i=c[778912]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778913]|0)+364>>2]|0);i=c[778913]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778914]|0)+364>>2]|0);i=c[778914]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778915]|0)+364>>2]|0);i=c[778915]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778916]|0)+364>>2]|0);i=c[778916]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778917]|0)+364>>2]|0);i=c[778917]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;Os(c[(c[778918]|0)+364>>2]|0);i=c[778918]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;c[535868]=0;c[484715]=0;i=0;do{if(c[b+16+(i*680|0)>>2]&294|0)c[484715]=1;i=i+1|0}while((i|0)!=64);if(c[780901]|0){Ia=f;return}a[3125548]=0;Ia=f;return}function _b(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Ia;Ia=Ia+16|0;d=b;e=a+45864|0;if(c[e>>2]|0){Ia=b;return}c[e>>2]=1;e=a+45860|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(bv(c[a>>2]|0,48241)|0)){Ia=b;return}else{fb(44477,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+43536+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+16+(i*680|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+16+(i*680|0)+16>>2]|0)>(c[a+16+(i*680|0)+12>>2]|0);m=l;n=k?0:l;o=k<<31>>31}else{m=0;n=0;o=-1}k=c[a+43536+(f<<4)+4>>2]|0;l=k>>>0<64;if(l){p=c[a+16+(k*680|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(m|0)>(q|0)?m:q;if((o|0)==-1){r=(c[a+16+(k*680|0)+16>>2]|0)>(c[a+16+(k*680|0)+12>>2]|0);s=p;t=r?n:q;u=r?-1:1}else{s=p;t=n;u=0}}else{s=m;t=n;u=o}p=c[a+43536+(f<<4)+8>>2]|0;r=p>>>0<64;if(r){q=c[a+16+(p*680|0)+8>>2]|0;v=((q|0)>1?q:1)<<5;q=(s|0)>(v|0)?s:v;if((u|0)==-1){w=(c[a+16+(p*680|0)+16>>2]|0)>(c[a+16+(p*680|0)+12>>2]|0);x=q;y=w?t:v;z=w?-1:2}else{x=q;y=t;z=u}}else{x=s;y=t;z=u}q=c[a+43536+(f<<4)+12>>2]|0;w=q>>>0<64;if(w){v=c[a+16+(q*680|0)+8>>2]|0;A=((v|0)>1?v:1)<<5;v=(x|0)>(A|0)?x:A;if((z|0)==-1){B=(c[a+16+(q*680|0)+16>>2]|0)>(c[a+16+(q*680|0)+12>>2]|0);C=v;D=B?y:A;E=B?-1:3}else{C=v;D=y;E=z}}else{C=x;D=y;E=z}a:do if((C|0)!=(D|0)&(E|0)!=-1){if((j?(c[a+16+(i*680|0)+16>>2]|0)<=(c[a+16+(i*680|0)+12>>2]|0):0)?(v=c[a+16+(i*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0)break;if((l?(c[a+16+(k*680|0)+16>>2]|0)<=(c[a+16+(k*680|0)+12>>2]|0):0)?(v=c[a+16+(k*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((r?(c[a+16+(p*680|0)+16>>2]|0)<=(c[a+16+(p*680|0)+12>>2]|0):0)?(v=c[a+16+(p*680|0)+8>>2]|0,(((v|0)>1?v:1)<<5|0)==(C|0)):0){F=2;break}if(!w)break a;if((c[a+16+(q*680|0)+16>>2]|0)>(c[a+16+(q*680|0)+12>>2]|0))break a;v=c[a+16+(q*680|0)+8>>2]|0;if((((v|0)>1?v:1)<<5|0)==(C|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;wt(1719968,44509,d)|0;Lg(1719968);v=c[h>>2]|0;B=a+43536+(f<<4)+(F<<2)|0;c[h>>2]=c[B>>2];c[B>>2]=v}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+16+(F*680|0)+20+(d*20|0)+4>>2]|0)==6?(C=a+16+(F*680|0)+20+(d*20|0)+8|0,(c[C>>2]|0)>5):0)c[C>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(bv(c[a>>2]|0,44541)|0){F=vq(65538)|0;Rs(F,c[a>>2]|0)|0;Rs(c[a>>2]|0,44566)|0;lu(c[a>>2]|0,F)|0;Lg(45837);zq(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Ia=b;return}H=0;g=0;do{H=H+((c[a+16+(g*680|0)+4>>2]|0)>1&1)+((c[a+16+(g*680|0)+12>>2]|0)>63&1)+((c[a+16+(g*680|0)+16>>2]|0)>63&1)+((c[a+16+(g*680|0)+36>>2]|0)!=0&1)+((c[a+16+(g*680|0)+56>>2]|0)!=0&1)+((c[a+16+(g*680|0)+76>>2]|0)!=0&1)+((c[a+16+(g*680|0)+96>>2]|0)!=0&1)+((c[a+16+(g*680|0)+116>>2]|0)!=0&1)+((c[a+16+(g*680|0)+136>>2]|0)!=0&1)+((c[a+16+(g*680|0)+156>>2]|0)!=0&1)+((c[a+16+(g*680|0)+176>>2]|0)!=0&1)+((c[a+16+(g*680|0)+196>>2]|0)!=0&1)+((c[a+16+(g*680|0)+216>>2]|0)!=0&1)+((c[a+16+(g*680|0)+236>>2]|0)!=0&1)+((c[a+16+(g*680|0)+256>>2]|0)!=0&1)+((c[a+16+(g*680|0)+276>>2]|0)!=0&1)+((c[a+16+(g*680|0)+296>>2]|0)!=0&1)+((c[a+16+(g*680|0)+316>>2]|0)!=0&1)+((c[a+16+(g*680|0)+336>>2]|0)!=0&1)+((c[a+16+(g*680|0)+356>>2]|0)!=0&1)+((c[a+16+(g*680|0)+376>>2]|0)!=0&1)+((c[a+16+(g*680|0)+396>>2]|0)!=0&1)+((c[a+16+(g*680|0)+416>>2]|0)!=0&1)+((c[a+16+(g*680|0)+436>>2]|0)!=0&1)+((c[a+16+(g*680|0)+456>>2]|0)!=0&1)+((c[a+16+(g*680|0)+476>>2]|0)!=0&1)+((c[a+16+(g*680|0)+496>>2]|0)!=0&1)+((c[a+16+(g*680|0)+516>>2]|0)!=0&1)+((c[a+16+(g*680|0)+536>>2]|0)!=0&1)+((c[a+16+(g*680|0)+556>>2]|0)!=0&1)+((c[a+16+(g*680|0)+576>>2]|0)!=0&1)+((c[a+16+(g*680|0)+596>>2]|0)!=0&1)+((c[a+16+(g*680|0)+616>>2]|0)!=0&1)+((c[a+16+(g*680|0)+636>>2]|0)!=0&1)+((c[a+16+(g*680|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Ia=b;return}H=0;do{g=0;do{f=a+16+(H*680|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+16+(H*680|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Ia=b;return}function $b(b){b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;a[184176]=0;c[e>>2]=44393;c[e+4>>2]=b;wt(184176,44370,e)|0;e=184176+(bu(184176)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ia=d;return 184176}function ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Po(b,96074)|0;e=Sb(d)|0;Ro(d);if(e|0){c[e+45856>>2]=zm(b)|0;f=e;return f|0}e=ys(b)|0;if(e|0){f=e;return f|0}if(Ts(b,44116)|0?(e=Vo(b)|0,e|0):0){d=e+16|0;g=c[d>>2]|0;if((g|0)<32768){do Jo(0,e);while((c[d>>2]|0)<32768);if((g|0)<15617){g=e+12|0;d=0;do{h=c[g>>2]|0;a[h+(d+17152)>>0]=a[h+d>>0]|0;a[(c[g>>2]|0)+d>>0]=0;d=d+1|0}while((d|0)!=15616);i=g}else j=10}else j=10;if((j|0)==10)i=e+12|0;j=vs()|0;Rb(j,c[i>>2]|0);c[j+45860>>2]=43;Ro(e);if(j|0){f=j;return f|0}}if(!(Ts(b,45864)|0)){f=0;return f|0}f=Ub(b)|0;return f|0}function bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+1024|0;e=d;Rs(e,b)|0;f=ac(b)|0;g=c[779979]|0;h=c[484618]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Vb(b,e);i=ac(e)|0;j=c[779979]|0;k=c[484618]|0;l=i}else{j=g;k=h;l=f}if((l|0)==0&(j|0)!=1&(k|0)!=3){f=e+(bu(e)|0)|0;a[f>>0]=a[92808]|0;a[f+1>>0]=a[92809]|0;a[f+2>>0]=a[92810]|0;a[f+3>>0]=a[92811]|0;a[f+4>>0]=a[92812]|0;f=ac(e)|0;m=c[779979]|0;n=c[484618]|0;o=f}else{m=j;n=k;o=l}if((o|0)==0&(m|0)!=1&(n|0)!=3){Rs(e,b)|0;b=e+(bu(e)|0)|0;a[b>>0]=a[92808]|0;a[b+1>>0]=a[92809]|0;a[b+2>>0]=a[92810]|0;a[b+3>>0]=a[92811]|0;a[b+4>>0]=a[92812]|0;p=ac(e)|0}else p=o;if(!p){q=1;Ia=d;return q|0}Zb(p,e);q=0;Ia=d;return q|0}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(au(a,3122552)|0){Rs(3122552,a)|0;f=30-(c[780904]|0)|0;g=(f|0)<30?f:30;c[780903]=(g|0)>2?g:2;c[780904]=150}g=ac(a)|0;if(!g){h=1;return h|0}if((e|0)>0){a=0;do{f=c[781999]|0;_k(2971096,f,a+b|0,$k(0,g,a+d|0)|0);a=a+1|0}while((a|0)!=(e|0))}ws(g);h=0;return h|0}function dc(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Ia;Ia=Ia+1040|0;k=j+1024|0;l=j;c[k>>2]=b;wt(l,61063,k)|0;do if(!(bv(2009716,l)|0)){k=0;m=0;a:while(1){switch(a[2009716+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>63){o=3;Ia=j;return o|0}else{lu(2009716,l)|0;break}}while(0);Rs(3122552,b)|0;c[780903]=30;l=ac(b)|0;if(!l){n=vs()|0;if(!i)p=n;else{Wv(n+45884|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{_k(0,p,h+e|0,$k(2971096,c[781999]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;_k(0,p,n,$k(2971096,c[781999]|0,m)|0);q=c[26544]|0;_k(0,q,n,$k(2971096,c[781999]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{if(l>>>0<17152){e=(l>>>3)+(p+45884)|0;a[e>>0]=1<<(l&7)|d[e>>0]}l=l+1|0}while((l|0)<(i|0))}i=As(p,b)|0;ws(p);o=(i|0)==0?0:2;Ia=j;return o|0}function ec(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[3118768]|0))if(!b){fb(45895,1500);Ia=d;return}else{Lg(45869);Ia=d;return}ds(92888,g);if(bv(3118768,g)|0)if(!b){fb(45954,1500);Ia=d;return}else{Lg(45927);Ia=d;return}if(Yb(3118768)|0)if(!b){fb(45998,1500);Ia=d;return}else{Lg(45986);Ia=d;return}Zo(3118768,g,h,i);c[f>>2]=h;c[f+4>>2]=i;wt(1719968,46020,f)|0;if(!b){fb(1719968,1500);Ia=d;return}b=bu(3115688)|0;f=(ut(g,3115688,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=bu(3116712)|0;b=(ut(j+1|0,3116712,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;wt(1719968,46045,e)|0;Lg(1719968);Ia=d;return}function fc(){return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+1040|0;g=f+1024|0;h=f;i=c[484697]|0;j=(i|0)<32?i:32;i=(d|0)<32?d:32;k=(d|0)>0?((i|0)>1?i:1):(j|0)>1?j:1;hc(46072,e)|0;ku(h,185200)|0;e=B(k,c[b>>2]|0)|0;j=Sn(e,B(k,c[b+4>>2]|0)|0,8)|0;k=j+4|0;_n(b,j,0,0,c[j>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)>0){b=j+16|0;e=c[j>>2]|0;i=0;while(1){if((e|0)>0){d=e;l=0;while(1){m=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+l|0;if(!(a[m>>0]|0)){a[m>>0]=16;n=c[j>>2]|0}else n=d;l=l+1|0;if((l|0)>=(n|0)){o=n;break}else d=n}}else o=e;i=i+1|0;if((i|0)>=(c[k>>2]|0))break;else e=o}}c[g>>2]=h;wt(1715360,46076,g)|0;Cn(1715360);bp(h,j)|0;Nb(h,46072,128,128);Tn(j)|0;j=(Gr(h)|0)==0&1;Ia=f;return j|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+2224|0;f=e+2208|0;g=e+2200|0;h=e+2192|0;i=e+2184|0;j=e+2176|0;k=e+2144|0;l=e+2112|0;m=e+1088|0;n=e+64|0;o=e;Wv(185200,0,1024)|0;c[l>>2]=$m()|0;c[l+4>>2]=b;wt(o,46102,l)|0;if(c[484704]|0){Ir(l,1);p=$m()|0;q=c[l+4>>2]|0;r=c[l+8>>2]|0;s=c[l+12>>2]|0;t=c[l+16>>2]|0;u=c[l+20>>2]|0;v=c[l+24>>2]|0;c[k>>2]=p;c[k+4>>2]=q;c[k+8>>2]=r;c[k+12>>2]=s;c[k+16>>2]=t;c[k+20>>2]=u;c[k+24>>2]=v;c[k+28>>2]=b;wt(o,46112,k)|0}if(a[3195728]|0){c[j>>2]=3195728;c[j+4>>2]=b;wt(o,46142,j)|0}j=(d|0)==0;if(!(nu(o,37)|0))if(j){fs(o,n);ku(185200,n)|0;Ia=e;return 185200}else{ds(3196396,n);d=n+(bu(n)|0)|0;b=d;a[b>>0]=97;a[b+1>>0]=112;a[b+2>>0]=112;a[b+3>>0]=100;b=d+4|0;a[b>>0]=97;a[b+1>>0]=116;a[b+2>>0]=97;a[b+3>>0]=0;hs(n)|0;b=n+(bu(n)|0)|0;a[b>>0]=47;a[b+1>>0]=0;lu(n,_a()|0)|0;hs(n)|0;b=n+(bu(n)|0)|0;a[b>>0]=47;a[b+1>>0]=0;lu(n,o)|0;c[f>>2]=n;wt(1715360,46148,f)|0;Cn(1715360);ku(185200,n)|0;Ia=e;return 185200}if(j){j=0;while(1){c[i>>2]=j;wt(m,o,i)|0;fs(m,n);if(!(Gr(n)|0))break;else j=j+1|0}ku(185200,n)|0;Ia=e;return 185200}else{j=0;while(1){c[h>>2]=j;wt(m,o,h)|0;ds(3196396,n);i=n+(bu(n)|0)|0;f=i;a[f>>0]=97;a[f+1>>0]=112;a[f+2>>0]=112;a[f+3>>0]=100;f=i+4|0;a[f>>0]=97;a[f+1>>0]=116;a[f+2>>0]=97;a[f+3>>0]=0;hs(n)|0;f=n+(bu(n)|0)|0;a[f>>0]=47;a[f+1>>0]=0;lu(n,_a()|0)|0;hs(n)|0;f=n+(bu(n)|0)|0;a[f>>0]=47;a[f+1>>0]=0;lu(n,m)|0;c[g>>2]=n;wt(1715360,46148,g)|0;Cn(1715360);if(!(Gr(n)|0))break;else j=j+1|0}ku(185200,n)|0;Ia=e;return 185200}return 0}function ic(){c[554348]=0;return}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[554348]|0;if((f|0)==32){Ia=d;return}c[554348]=f+1;Rs(174672+(f*297|0)+41|0,b)|0;g=174672+(f*297|0)|0;Kb(a,g);f=bu(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;wt(1715360,46170,e)|0;Cn(1715360);e=ts(b,96789)|0;if(!e){Cn(46209);Ia=d;return}else{zs(a,e,0)|0;Ro(e);Ia=d;return}}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+1024|0;f=e;g=c[554348]|0;if((g|0)<=0){h=0;Ia=e;return h|0}a:do if(d){i=0;while(1){j=174672+(i*297|0)+41|0;if(!(au(b,j)|0)){k=i;break a}Vb(b,f);if(!(au(f,j)|0)){l=10;break}m=f+(bu(f)|0)|0;a[m>>0]=a[92808]|0;a[m+1>>0]=a[92809]|0;a[m+2>>0]=a[92810]|0;a[m+3>>0]=a[92811]|0;a[m+4>>0]=a[92812]|0;if(!(au(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[554348]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=174672+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==12){h=174672+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==14){Ia=e;return h|0}}else{j=0;while(1){if(!(au(b,174672+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ia=e;return h|0}while(0);h=174672+(k*297|0)|0;Ia=e;return h|0}function lc(){return 0}function mc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+128|0;d=b+64|0;e=b;if(!(a[3118768]|0)){f=0;Ia=b;return f|0}g=ac(3118768)|0;if(!g){f=0;Ia=b;return f|0}_b(g);h=c[(c[g+12>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=i;m=0;do{l=(a[k+m>>0]|0)==0?l:1;m=m+1|0}while((m|0)!=128);j=j+1|0;if((j|0)==64)break;else i=l}if(!l)Fh(g);else Gh(g);Kb(g,d);Kb(c[26544]|0,e);ws(g);if(!(au(d,e)|0)){f=0;Ia=b;return f|0}if(!(au(d,3119792)|0)){f=0;Ia=b;return f|0}f=(au(d,3119874)|0)!=0&1;Ia=b;return f|0}function nc(a){a=a|0;return 0}function oc(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2219928]|0)){a[2219928]=0;return}b=ac(2219928)|0;d=(b|0)!=0;if((c[780895]|c[780894]|0)==0&((d|(c[780901]|0)!=0)^1)){Lg(46249);a[2219928]=0;return}if(d){ws(b);fb(46274,2e3);a[2219928]=0;return}if(Ts(2219928,46287)|0){fb(46295,2e3);a[2219928]=0;return}if(!(Ts(2219928,92808)|0)){if(!(a[2219928]|0)){a[2219928]=0;return}b=Vo(2219928)|0;if((c[b+16>>2]|0)>524288)fb(46346,2e3);else sn(b);Cq(b);a[2219928]=0;return}b=ap(2219928)|0;if(!b){a[2219928]=0;return}vh();d=b+4|0;e=Sn(c[b>>2]|0,c[d>>2]|0,8)|0;Pk(b,e,c[742761]|0);do if((c[780894]|0)!=1&(c[780895]|0)==2){f=c[798472]|0;g=(f|0)/16|0;Gp(e,c[(c[26544]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){tn(e);break}fb(46317,2e3)}while(0);Tn(b)|0;Tn(e)|0;a[2219928]=0;return}function pc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b+8|0;f=b;g=b+24|0;h=Aq(139392)|0;i=ka(19)|0;j=i;ka(20)|0;do if(i){c[f>>2]=j;vv(46841,f)|0;k=bv(j,46862)|0;if(k|0){l=k+7|0;Wh(g);k=bu(l)|0;m=h+16|0;c[m>>2]=Xh(l,k,c[h+12>>2]|0,g)|0;k=h+20|0;c[k>>2]=0;l=Sb(h)|0;if(!l)n=xs(h,0)|0;else n=l;l=(n|0)!=0;if((c[780894]|0)==0&((l|(c[780901]|0)!=0)^1)){Lg(46249);a[2219928]=0;Ia=b;return}if(l){ws(n);fb(46274,2e3);break}c[k>>2]=0;k=$o(h)|0;if(!k){c[d>>2]=c[m>>2];vv(46906,d)|0;if((c[m>>2]|0)>524288){fb(46346,2e3);break}else{sn(h);break}}vh();m=k+4|0;l=Sn(c[k>>2]|0,c[m>>2]|0,8)|0;Pk(k,l,c[742761]|0);do if((c[780894]|0)!=1&(c[780895]|0)==2){o=c[798472]|0;p=(o|0)/16|0;Gp(l,c[(c[26544]|0)+4>>2]|0,0,0,o-(p<<4)<<3,p<<3,c[k>>2]|0,c[m>>2]|0)}else{p=c[l>>2]|0;if((p|0)<=128?(o=c[l+4>>2]|0,(o|0)<=128):0){c[e>>2]=p;c[e+4>>2]=o;vv(46870,e)|0;tn(l);break}fb(46317,2e3)}while(0);Tn(k)|0;Tn(l)|0}}else Lg(46946);while(0);Ro(h);Ia=b;return}function qc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+2048|0;e=d+1024|0;f=d;if((a[b>>0]|0)==47)ku(c,b)|0;else{a[c>>0]=47;a[c+1>>0]=0;lu(c,3116712)|0;lu(c,b)|0}b=a[c>>0]|0;if(b<<24>>24==47?(a[c+1>>0]|0)==0:0){Ia=d;return c|0}a[e>>0]=0;if(b<<24>>24==47){g=c;while(1){h=g+1|0;i=a[h>>0]|0;if(i<<24>>24==47)g=h;else{j=i;k=h;break}}}else{j=b;k=c}a:do if(j<<24>>24){b=j;g=k;h=0;while(1){i=b;l=g;b:while(1){switch(i<<24>>24){case 0:case 47:{break b;break}default:{}}m=l+1|0;i=a[m>>0]|0;l=m}i=l-g|0;c:do switch(i|0){case 1:{if(b<<24>>24==46)n=h;else o=26;break}case 2:{if(b<<24>>24==46?(a[g+1>>0]|0)==46:0)if((h|0)>1){m=e+h+-1|0;if(m>>>0>e>>>0){p=m;q=h;while(1){if((a[p>>0]|0)==47){r=p;s=q;break}a[p>>0]=0;t=q+-1|0;a[e+t>>0]=0;u=p+-1|0;if(u>>>0>e>>>0){p=u;q=t}else{r=u;s=t;break}}if((s|0)>0){v=r;w=s}else{n=s;break c}}else{v=m;w=h}q=w+-1|0;a[v>>0]=0;a[e+q>>0]=0;n=q}else n=h;else o=26;break}default:o=26}while(0);if((o|0)==26){o=0;Wv(f+i|0,0,(i>>>0>1023?0:1024-i|0)|0)|0;Vv(f|0,g|0,i|0)|0;q=e+(bu(e)|0)|0;a[q>>0]=47;a[q+1>>0]=0;lu(e,f)|0;n=bu(e)|0}q=l;d:while(1){x=a[q>>0]|0;switch(x<<24>>24){case 0:{break a;break}case 47:{q=q+1|0;break}default:break d}}b=x;g=q;h=n}}while(0);ku(c,e)|0;Ia=d;return c|0}function rc(a){a=a|0;ku(186224,3115688)|0;qc((a|0)==0?3196396:a,186224+(bu(186224)|0)+-1|0)|0;return 186224}function sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;ds(3196396,d);g=d+(bu(d)|0)|0;h=g;a[h>>0]=97;a[h+1>>0]=112;a[h+2>>0]=112;a[h+3>>0]=100;h=g+4|0;a[h>>0]=97;a[h+1>>0]=116;a[h+2>>0]=97;a[h+3>>0]=0;hs(d)|0;h=d+(bu(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;lu(d,_a()|0)|0;hs(d)|0;h=d+(bu(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;lu(d,b)|0;c[f>>2]=d;wt(1715360,46148,f)|0;Cn(1715360);Ia=e;return}function tc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d;f=d+4|0;g=xq(32768)|0;wq(g,0,32768);if(Lb(b,g,1)|0){Jg(43954,8);zq(g);Ia=d;return}h=vq(62464)|0;i=h;j=46974;k=i+27|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));c[537424]=1;wq(f,0,12);Rh(f);j=c[554347]|0;Th(g+17152|0,j,h+(bu(h)|0)|0,f)|0;Uh(h+(bu(h)|0)|0,f)|0;f=b+4|0;b=c[(c[f>>2]|0)+12>>2]|0;j=0;g=0;do{i=j;j=j+1|0;g=(a[b+i>>0]&15)==0?g:j}while((j|0)!=16384);if((g|0)>0){j=h+(bu(h)|0)|0;a[j>>0]=38;a[j+1>>0]=103;a[j+2>>0]=61;a[j+3>>0]=0;j=h+(bu(h)|0)|0;b=0;while(1){i=c[(c[f>>2]|0)+12>>2]|0;k=a[i+b>>0]|0;l=k&15;m=l&255;if((b|0)<(g|0)){a:do if((k&15)==l<<24>>24){n=b;o=0;while(1){p=n+1|0;q=o+1|0;if((p|0)>=(g|0)){r=p;s=q;break a}if(q>>>0<67?(a[i+p>>0]&15)==l<<24>>24:0){n=p;o=q}else{r=p;s=q;break}}}else{r=b;s=0}while(0);if(s>>>0<4){t=r;u=s;v=13}else{a[j>>0]=Sh((m|48)&255)|0;w=2;x=j+1|0;y=r;z=s+252|0}}else{t=b;u=0;v=13}if((v|0)==13){v=0;w=1;x=j;y=t;z=(u<<4)+240|m}a[x>>0]=Sh(z&255)|0;j=j+w|0;a[j>>0]=0;if((y|0)>=(g|0))break;else b=y}}c[537424]=0;if((bu(h)|0)>>>0<2040){y=vq(65536)|0;c[e>>2]=h+23;wt(y,47001,e)|0;va(y|0);zq(y)}else Jg(47097,9);Mg(47124,bu(h)|0,0);zq(h);Ia=d;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;c[537424]=1;if(b|0?a[b>>0]|0:0){g=vq(16384)|0;Wh(f);Xh(b,bu(b)|0,g,f)|0;wq(c[c[26544]>>2]|0,0,65538);Nl(g,c[c[26544]>>2]|0,65537)|0;zq(g);ch()}if(!d){c[537424]=0;Ia=e;return}g=a[d>>0]|0;if(!(g<<24>>24)){c[537424]=0;Ia=e;return}f=g;g=d;d=0;while(1){b=Vh(f)|0;h=g+1|0;i=b&15;j=(b>>>4&3)+1|0;if((j|0)==4){b=a[h>>0]|0;if(!(b<<24>>24)){k=h;l=4}else{k=g+2|0;l=(Vh(b)|0)+4|0}}else{k=h;l=j}if((l|0)>0&(d|0)<16384){j=i&255;i=d;h=l;while(1){a[(c[(c[(c[26544]|0)+4>>2]|0)+12>>2]|0)+i>>0]=j;b=i+1|0;if((h|0)>1&(i|0)<16383){i=b;h=h+-1|0}else{m=b;break}}}else m=d;f=a[k>>0]|0;if(!(f<<24>>24))break;else{g=k;d=m}}Fh(c[26544]|0);c[537424]=0;Ia=e;return}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;f=c[a+16>>2]|0;g=a+8|0;h=c[g>>2]|0;do if(((c[a+24>>2]|0)-h>>3|0)<=(b|0)){if(((h-(c[a+28>>2]|0)>>3)+5|0)>(1e6-b|0)){i=0;Ia=d;return i|0}if(!(xc(a,2,e)|0)){j=c[g>>2]|0;k=c[e>>2]|0;break}else{i=0;Ia=d;return i|0}}else{j=h;k=b}while(0);b=f+4|0;f=j+(k<<3)|0;if((c[b>>2]|0)>>>0>=f>>>0){i=1;Ia=d;return i|0}c[b>>2]=f;i=1;Ia=d;return i|0}function wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)yc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){zc(a,1000200);Ac(a,47184,d)}else{zc(a,b);Ia=d;return}}function xc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Ia;Ia=Ia+176|0;g=4;h=Ys(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Sv(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Tv(c[p>>2]|0,h|0,g|0)|0;if(!q)Da(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Tv(c[p>>2]|0,h|0,g|0)|0;if(!t)Da(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Zs(h|0);Ia=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Zs(h|0);Ia=f;return v|0}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Da(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];yc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();La[d&255](b)|0;ja()}function zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)Lc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Pa[c[k>>2]&3](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);o=Pa[c[k>>2]&3](c[m>>2]|0,f,i,j)|0;if(!o)yc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;Cc(a,Bc(a,b,f)|0);Dc(a)}function Bc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Ia;Ia=Ia+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=nu(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=o;u=q;v=l;w=d;x=0;y=p;a:while(1){if((y|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(t-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}zc(b,C);D=c[n>>2]|0}else D=u;c[n>>2]=D+8;C=xd(b,w,v-w|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[v+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?104822:z;z=bu(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=xd(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=bd(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=wt(k,47853,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=xd(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=bd(b,73254,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=x+2|0;H=v+2|0;F=nu(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=I;u=I;v=F;w=H;x=G;y=J}}if((A|0)==5)yc(b,6);else if((A|0)==7){zc(b,1000200);Ac(b,47184,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;Ac(b,47858,h)}else if((A|0)==18){K=I;L=I;M=H;N=G;O=J;break}}else{K=o;L=q;M=d;N=0;O=p}while(0);do if((O|0)<16){p=c[b+32>>2]|0;if((p|0)>1e6)yc(b,6);d=(K-(c[b+28>>2]|0)>>3)+6|0;q=p<<1;p=(q|0)<1e6?q:1e6;q=(p|0)<(d|0)?d:p;if((q|0)>1e6){zc(b,1000200);Ac(b,47184,g)}else{zc(b,q);P=c[n>>2]|0;break}}else P=L;while(0);L=bu(M)|0;c[n>>2]=P+8;g=xd(b,M,L)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!N){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}Rc(b,N|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Ia;Ia=Ia+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ia=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=bu(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Vv(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[74024]|0;a[g+1>>0]=a[74025]|0;a[g+2>>0]=a[74026]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Vv(g|0,i+1|0,j|0)|0;break a}break}default:{l=nu(i,10)|0;m=g;n=47837;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Vv(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Vv(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[74024]|0;a[s+1>>0]=a[74025]|0;a[s+2>>0]=a[74026]|0;r=s+3|0};a[r>>0]=a[47847]|0;a[r+1>>0]=a[47848]|0;a[r+2>>0]=a[47849]|0;break a}}}while(0);c[f>>2]=d;wd(b,47850,f)|0;c[554351]=k;Ia=e;return}function Dc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+68>>2]|0;if(!d)yc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)yc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)Ac(a,47199,e);if((h&65535)>224)yc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(Ec(a,g,1)|0))Fc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;yc(a,2)}function Ec(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,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=Ia;Ia=Ia+32|0;i=h+24|0;j=h+16|0;k=h+8|0;l=h;m=e+28|0;n=e+12|0;o=e+8|0;p=e+24|0;q=e+32|0;r=f;a:while(1){s=c[m>>2]|0;t=r-s|0;f=c[r+4>>2]|0;u=(f&63)+-6|0;switch(u>>>4|u<<28|0){case 3:{v=3;break a;break}case 1:{v=6;break a;break}case 2:{v=7;break a;break}case 0:{v=33;break a;break}default:{}}switch(f&15){case 5:{w=(c[r>>2]|0)+8|0;break}case 7:{w=(c[r>>2]|0)+8|0;break}default:w=(c[n>>2]|0)+276+((f&15)<<2)|0}f=c[w>>2]|0;b:do if(!f)x=2217396;else{u=c[(c[n>>2]|0)+272>>2]|0;y=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[u+8>>2])*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(u|0):0)break;z=c[y+16>>2]|0;if(!z){x=2217396;break b}else y=z}x=y}while(0);f=x+4|0;if((c[f>>2]&15|0)!=6){v=77;break}u=c[o>>2]|0;if(u>>>0>r>>>0){z=u;do{A=z;z=z+-8|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[A+-4>>2]}while(z>>>0>r>>>0);B=c[o>>2]|0}else B=u;z=B+8|0;c[o>>2]=z;A=z;if(((c[p>>2]|0)-A|0)<8){z=c[q>>2]|0;if((z|0)>1e6){v=84;break}C=(A-(c[m>>2]|0)>>3)+5|0;A=z<<1;z=(A|0)<1e6?A:1e6;A=(z|0)<(C|0)?C:z;if((A|0)>1e6){v=86;break}zc(e,A)}A=(c[m>>2]|0)+t|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[f>>2];r=A}if((v|0)==3){c[e+112>>2]=((c[o>>2]|0)-r>>3)+-1;c[r>>2]=La[c[r>>2]&255](e)|0;c[r+4>>2]=3;c[o>>2]=r+8;if((g|0)<=1){D=1;Ia=h;return D|0}x=r;B=g;while(1){c[x+12>>2]=0;if((B|0)>2){x=x+8|0;B=B+-1|0}else{D=1;break}}Ia=h;return D|0}else if((v|0)==6)E=r;else if((v|0)==7)E=(c[r>>2]|0)+12|0;else if((v|0)==33){B=c[(c[r>>2]|0)+12>>2]|0;x=c[o>>2]|0;w=x-r>>3;A=w+-1|0;z=B+78|0;C=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(C|0)){F=c[q>>2]|0;if((F|0)>1e6)yc(e,6);G=(x-s>>3)+5+C|0;H=F<<1;F=(H|0)<1e6?H:1e6;H=(F|0)<(G|0)?G:F;if((H|0)>1e6){zc(e,1000200);Ac(e,47184,k)}else{zc(e,H);break}}while(0);k=a[B+76>>0]|0;C=k&255;if((w|0)>(C|0))I=A;else{w=c[o>>2]|0;x=A;do{A=w;w=w+8|0;c[A+4>>2]=0;x=x+1|0}while((x|0)<(C|0));c[o>>2]=w;I=x}if(!(a[B+77>>0]|0)){x=(c[m>>2]|0)+t|0;J=x+8|0;K=x}else{x=c[o>>2]|0;w=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(w|0)){A=c[q>>2]|0;if((A|0)>1e6)yc(e,6);H=w+5+(x-(c[m>>2]|0)>>3)|0;F=A<<1;A=(F|0)<1e6?F:1e6;F=(A|0)<(H|0)?H:A;if((F|0)>1e6){zc(e,1000200);Ac(e,47184,j)}else{zc(e,F);L=c[o>>2]|0;break}}else L=x;while(0);x=0-I|0;I=L+(x<<3)|0;if(k<<24>>24?(c[o>>2]=L+8,c[L>>2]=c[I>>2],j=L+(x<<3)+4|0,c[L+4>>2]=c[j>>2],c[j>>2]=0,k<<24>>24!=1):0){k=1;do{j=c[o>>2]|0;x=I+(k<<3)|0;c[o>>2]=j+8;c[j>>2]=c[x>>2];w=x+4|0;c[j+4>>2]=c[w>>2];c[w>>2]=0;k=k+1|0}while((k|0)!=(C|0))}J=L;K=(c[m>>2]|0)+t|0}L=e+16|0;C=c[(c[L>>2]|0)+12>>2]|0;if(!C){k=c[n>>2]|0;I=k+4|0;w=Pa[c[k>>2]&3](c[I>>2]|0,0,0,40)|0;if(!w){if(!(a[k+51>>0]|0))yc(e,4);Kc(e,1);j=Pa[c[k>>2]&3](c[I>>2]|0,0,0,40)|0;if(!j)yc(e,4);else M=j}else M=w;w=k+12|0;c[w>>2]=(c[w>>2]|0)+40;w=c[L>>2]|0;c[w+12>>2]=M;c[M+8>>2]=w;c[M+12>>2]=0;N=M}else N=C;c[L>>2]=N;b[N+16>>1]=g;c[N>>2]=K;c[N+24>>2]=J;K=J+(d[z>>0]<<3)|0;c[N+4>>2]=K;c[N+28>>2]=c[B+12>>2];a[N+18>>0]=1;c[o>>2]=K;K=c[n>>2]|0;N=K+12|0;B=c[N>>2]|0;if((B|0)<=0){D=0;Ia=h;return D|0}if(!(a[K+51>>0]|0)){z=K+8|0;c[z>>2]=B+1600+(c[z>>2]|0);c[N>>2]=-1600;D=0;Ia=h;return D|0}else{Oc(e);D=0;Ia=h;return D|0}}else if((v|0)==77)dd(e,r,47832);else if((v|0)==84)yc(e,6);else if((v|0)==86){zc(e,1000200);Ac(e,47184,i)}i=c[E>>2]|0;E=c[o>>2]|0;c[e+112>>2]=(E-r>>3)+-1;do if(((c[p>>2]|0)-E|0)<168){r=c[q>>2]|0;if((r|0)>1e6)yc(e,6);v=(E-s>>3)+25|0;N=r<<1;r=(N|0)<1e6?N:1e6;N=(r|0)<(v|0)?v:r;if((N|0)>1e6){zc(e,1000200);Ac(e,47184,l)}else{zc(e,N);break}}while(0);l=e+16|0;s=c[(c[l>>2]|0)+12>>2]|0;if(!s){E=c[n>>2]|0;q=E+4|0;p=Pa[c[E>>2]&3](c[q>>2]|0,0,0,40)|0;if(!p){if(!(a[E+51>>0]|0))yc(e,4);Kc(e,1);N=Pa[c[E>>2]&3](c[q>>2]|0,0,0,40)|0;if(!N)yc(e,4);else O=N}else O=p;p=E+12|0;c[p>>2]=(c[p>>2]|0)+40;p=c[l>>2]|0;c[p+12>>2]=O;c[O+8>>2]=p;c[O+12>>2]=0;P=O}else P=s;c[l>>2]=P;b[P+16>>1]=g;c[P>>2]=(c[m>>2]|0)+t;c[P+4>>2]=(c[o>>2]|0)+160;a[P+18>>0]=0;P=c[n>>2]|0;n=P+12|0;t=c[n>>2]|0;do if((t|0)>0)if(!(a[P+51>>0]|0)){m=P+8|0;c[m>>2]=t+1600+(c[m>>2]|0);c[n>>2]=-1600;break}else{Oc(e);break}while(0);n=La[i&255](e)|0;e=c[o>>2]|0;i=c[l>>2]|0;t=c[i>>2]|0;P=b[i+16>>1]|0;c[l>>2]=c[i+8>>2];c:do if(P<<16>>16){i=P<<16>>16;l=0-n|0;if((l|0)<0){m=e+(l<<3)|0;l=i;g=t;while(1){s=g+8|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];O=l+-1|0;if(!O){Q=s;break c}m=m+8|0;if(m>>>0>=(c[o>>2]|0)>>>0){R=O;S=s;break}else{l=O;g=s}}}else{R=i;S=t}if((R|0)>0){g=R;l=S;while(1){m=l+8|0;c[l+4>>2]=0;if((g|0)>1){g=g+-1|0;l=m}else{Q=m;break}}}else Q=S}else Q=t;while(0);c[o>>2]=Q;D=1;Ia=h;return D|0} 141 + function Si(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;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=i;l=c[g>>2]|0}else{h=Gd(g)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0}else{g=Gd(h)|0;m=c[b>>2]|0;n=g}if((m|0)>3){g=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[g+4>>2]|0)==3){o=n;p=c[g>>2]|0;q=j;r=l;break}else{o=n;p=Gd(g)|0;q=j;r=l;break}}else{o=n;p=0;q=j;r=l}}else{o=0;p=0;q=j;r=l}}else{o=0;p=0;q=j;r=0}}else{o=0;p=0;q=0;r=0}while(0);c[781044]=0;j=qk(a,5)|0;a=c[781030]<<16;l=q-a>>16;q=c[781031]<<16;n=r-q>>16;r=o-a>>16;a=p-q>>16;q=(r|0)<(l|0);p=q?r:l;o=q?l:r;r=(a|0)<(n|0);l=r?a:n;q=r?n:a;a=c[742782]|0;do if(!(c[781044]|0)){n=c[a+28>>2]|0;r=(p|0)>(n|0)?p:n;n=(c[a+32>>2]|0)+-1|0;m=(o|0)<(n|0)?o:n;n=c[a+36>>2]|0;b=(l|0)>(n|0)?l:n;n=(c[a+40>>2]|0)+-1|0;k=(q|0)<(n|0)?q:n;if((m|0)<(r|0)|(k|0)<(b|0))return 0;if((m-r|0)<8&(k-b|0)>4){n=Kk(a,r,b,k,j)|0;if((m|0)<=(r|0)){s=n;break}i=n;n=r;while(1){n=n+1|0;d=(Kk(c[742782]|0,n,b,k,j)|0)+i|0;if((n|0)>=(m|0)){s=d;break}else i=d}}else{i=xk(a,r,m,b,j)|0;if((k|0)<=(b|0)){s=i;break}n=i;i=b;while(1){i=i+1|0;d=(xk(c[742782]|0,r,m,i,j)|0)+n|0;if((i|0)>=(k|0)){s=d;break}else n=d}}}else{n=Ck(a,-1,-1,128,l+-1|0,j)|0;k=(Ck(c[742782]|0,-1,q+1|0,128,128,j)|0)+n|0;n=k+(Ck(c[742782]|0,-1,l,p+-1|0,q,j)|0)|0;s=n+(Ck(c[742782]|0,o+1|0,l,128,q,j)|0)|0}while(0);jh((s|0)/16|0);return 0}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[742782]|0;if((yd(a)|0)<2)return 0;if(!(Ed(a,1)|0))d=0;else d=(Fd(a,1,0)|0)>>16;if(!(Ed(a,2)|0))e=0;else e=(Fd(a,2,0)|0)>>16;if(!(Ed(a,3)|0))f=0;else f=(Fd(a,3,0)|0)>>16;if(!(Ed(a,4)|0))g=0;else g=(Fd(a,4,0)|0)>>16;if(!(Ed(a,5)|0))h=0;else h=(Fd(a,5,0)|0)>>16;i=pk(a,6,1)|0;a=d-(c[781030]|0)<<16>>16;d=e-(c[781031]|0)<<16>>16;if((f|0)<1|(g|0)<1)return 0;e=((((f|0)<(g|0)?f:g)|0)/2|0)+-1|0;j=(h|0)<(e|0)?h:e;if((j|0)<1){e=a+f+-1|0;h=d+g|0;k=h+-1|0;l=Ik(b,a,d,e,d,i)|0;if((k|0)==(d|0))m=l;else m=(Ik(b,a,k,e,k,i)|0)+l|0;l=k-d|0;k=d+1|0;n=h+-2|0;if((((l|0)<0?0-l|0:l)|0)>1){l=(Ik(b,a,k,a,n,i)|0)+m|0;o=l+(Ik(b,e,k,e,n,i)|0)|0}else o=m;jh((o|0)/2|0);return 0}else{o=j<<1;m=o+2|0;n=-2-o|0;o=Fk(b,a,d,a+m|0,d+m|0,f+-1+n|0,g+-1+n|0,i)|0;n=j+2|0;j=a+n|0;m=a+f|0;f=m-n|0;e=f+-1|0;k=d+n|0;l=d+g|0;g=l-n|0;n=g+-1|0;h=l+-1|0;if((f|0)>(j|0)){f=(Ik(b,j,d,e,d,i)|0)+o|0;p=f+(Ik(b,j,h,e,h,i)|0)|0}else p=o;o=m+-1|0;if((g|0)>(k|0)){g=(Ik(b,a,k,a,n,i)|0)+p|0;q=g+(Ik(b,o,k,o,n,i)|0)|0}else q=p;jh((q|0)/2|0);return 0}return 0}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[742782]|0;if((yd(a)|0)<2)return 0;if(!(Ed(a,1)|0))d=0;else d=(Fd(a,1,0)|0)>>16;if(!(Ed(a,2)|0))e=0;else e=(Fd(a,2,0)|0)>>16;if(!(Ed(a,3)|0))f=0;else f=(Fd(a,3,0)|0)>>16;if(!(Ed(a,4)|0))g=0;else g=(Fd(a,4,0)|0)>>16;if(!(Ed(a,5)|0))h=0;else h=(Fd(a,5,0)|0)>>16;i=d-(c[781030]|0)<<16>>16;d=e-(c[781031]|0)<<16>>16;c[781044]=0;e=pk(a,6,1)|0;if((f|0)<1|(g|0)<1){if(!(c[781044]|0))return 0;jh((Ck(b,0,0,(c[b>>2]|0)+-1|0,(c[b+4>>2]|0)+-1|0,e)|0)/16|0);return 0}a=((((f|0)<(g|0)?f:g)|0)/2|0)+-1|0;j=(h|0)<(a|0)?h:a;a=(c[781044]|0)==0?1:2;if((j|0)>=1){h=j<<1;k=h+2|0;l=-2-h|0;h=f+-1|0;m=Gk(b,i,d,i+k|0,d+k|0,h+l|0,g+-1+l|0,e)|0;l=d+(j+2)|0;k=d+g+(-2-j)|0;if((l|0)<(k|0)){j=h+i|0;h=m;n=l;while(1){l=(Qa[a&3](b,i,j,n,e)|0)+h|0;n=n+1|0;if((n|0)>=(k|0)){o=l;break}else h=l}}else o=m;jh((o|0)/16|0);return 0}o=d+g|0;g=f+-1+i|0;f=0;m=d;do{f=(Qa[a&3](b,i,g,m,e)|0)+f|0;m=m+1|0}while((m|0)<(o|0));if(!(c[781044]|0))p=f;else{m=(Ck(b,-1,-1,c[b>>2]|0,d+-1|0,e)|0)+f|0;p=m+(Ck(b,-1,o,c[b>>2]|0,c[b+4>>2]|0,e)|0)|0}jh((p|0)/16|0);return 0}function Vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=yd(b)|0;if((d|0)<2)return 0;e=Fd(b,1,0)|0;f=Fd(b,2,0)|0;if((d|0)!=2){d=Fd(b,3,0)|0;if((d|0)<0)return 0;else{g=(a[3152374]&2)==0?0:d>>>15&1;h=d>>16}}else{g=0;h=4}d=pk(b,4,1)|0;b=e-(c[781030]<<16)>>16;e=f-(c[781031]<<16)>>16;f=h+g|0;jh((zk(c[742782]|0,b-h|0,e-h|0,f+b|0,f+e|0,d)|0)/2|0);return 0}function Wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=yd(b)|0;if((d|0)<2)return 0;e=Fd(b,1,0)|0;f=Fd(b,2,0)|0;c[781044]=0;g=pk(b,4,1)|0;do if((d|0)==2){h=0;i=4}else{j=Fd(b,3,0)|0;if((j|0)>=0){h=(a[3152374]&2)==0?0:j>>>15&1;i=j>>>16;break}if(!(c[781044]|0))return 0;jh((Ck(c[742782]|0,0,0,127,127,g)|0)/16|0);return 0}while(0);b=e-(c[781030]<<16)>>16;e=f-(c[781031]<<16)>>16;f=h+i|0;jh((Ek(c[742782]|0,b-i|0,e-i|0,f+b|0,f+e|0,g)|0)/16|0);return 0}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;f=Fd(a,4,0)|0;g=pk(a,5,1)|0;a=c[781030]<<16;h=b-a>>16;b=c[781031]<<16;i=d-b>>16;d=e-a>>16;a=f-b>>16;b=(d|0)<(h|0);f=(a|0)<(i|0);jh((zk(c[742782]|0,b?d:h,f?a:i,b?h:d,f?i:a,g)|0)/2|0);return 0}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;f=Fd(a,4,0)|0;c[781044]=0;g=pk(a,5,1)|0;a=c[781030]<<16;h=b-a>>16;b=c[781031]<<16;i=d-b>>16;d=e-a>>16;a=f-b>>16;b=(d|0)<(h|0);f=(a|0)<(i|0);jh((Ek(c[742782]|0,b?d:h,f?a:i,b?h:d,f?i:a,g)|0)/16|0);return 0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(Fd(a,1,0)|0)>>16;d=(Fd(a,2,0)|0)>>16;if(!(yd(a)|0)){c[781041]=1;return 0}if((yd(a)|0)==1){c[781041]=1;pk(a,1,1)|0;return 0}do if((yd(a)|0)<4){if((yd(a)|0)==3)pk(a,3,1)|0;if(!(c[781041]&1)){e=c[781039]|0;f=c[781040]|0;c[781039]=b;c[781040]=d;g=e;h=f;break}c[781039]=b;c[781040]=d;c[781041]=0;return 0}else{f=(Fd(a,3,0)|0)>>16;e=(Fd(a,4,0)|0)>>16;c[781039]=f;c[781040]=e;c[781041]=0;g=f;h=e}while(0);e=pk(a,5,1)|0;a=c[781030]|0;f=b-a<<16>>16;b=c[781031]|0;i=d-b<<16>>16;d=g-a<<16>>16;a=h-b<<16>>16;if((f|0)==(d|0)){jh((Kk(c[742782]|0,f,i,a,e)|0)/16|0);return 0}b=c[742782]|0;if((i|0)==(a|0)){jh((xk(b,f,d,i,e)|0)/16|0);return 0}else{jh((Ik(b,f,i,d,a,e)|0)/2|0);return 0}return 0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[781045]|0;d=(b|0)==0?13:b;if((yd(a)|0)==1)c[781045]=(Fd(a,1,0)|0)>>16;if((yd(a)|0)<2){Od(a,d<<16);e=1;return e|0}b=Fd(a,1,0)|0;f=Fd(a,2,0)|0;g=Fd(a,3,0)|0;h=Fd(a,4,0)|0;if((yd(a)|0)>4)i=Fd(a,5,0)|0;else i=0;if((yd(a)|0)>5)j=Fd(a,6,0)|0;else j=0;if((yd(a)|0)>6)k=Fd(a,7,0)|0;else k=8192;if((yd(a)|0)>7)l=Fd(a,8,0)|0;else l=0;if((yd(a)|0)>8)m=(Fd(a,9,0)|0)>>16;else m=0;a=c[781030]<<16;n=c[781031]<<16;jh((Jk(c[742782]|0,b-a|0,f-n|0,g-a|0,h-n|0,i,j,k,l,m,d)|0)<<1);e=0;return e|0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=yd(a)|0;if((Cd(a,1)|0)==5){if((b|0)>1)d=(Fd(a,2,0)|0)>>16;else d=0;Nd(a);if(!(uf(a,1)|0)){e=0;return e|0}switch(d|0){case 0:{do{if((Cd(a,-2)|0)==3){f=Hd(a,-2,0)|0;g=Hd(a,-1,0)|0;h=3123880+((f&15)<<2)|0;c[h>>2]=c[h>>2]&16|g&15}zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}case 1:{do{if((Cd(a,-2)|0)==3?(g=Hd(a,-2,0)|0,h=Hd(a,-1,0)|0,c[3123944+((g&15)<<2)>>2]=h&255,h&128|0):0)nb();zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}default:{h=(d|0)==2;do{if((Cd(a,-2)|0)==3?(d=Hd(a,-2,0)|0,g=Hd(a,-1,0)|0,h):0)c[3124008+((d&15)<<2)>>2]=g&255;zd(a,-2);jh(2)}while((uf(a,1)|0)!=0);e=0;return e|0}}}if((b|0)>=2){h=(Fd(a,1,0)|0)>>>16;g=Fd(a,2,0)|0;d=g>>16;f=(Fd(a,3,0)|0)>>16;i=h&15;h=d&255;switch(f|0){case 0:{j=3123880+(i<<2)|0;k=c[j>>2]|0;c[j>>2]=k&16|d&15;l=k;break}case 1:{k=3123944+(i<<2)|0;d=c[k>>2]|0;c[k>>2]=h;if(!(g&8388608))l=d;else{nb();l=d}break}case 2:{d=3124008+(i<<2)|0;i=c[d>>2]|0;c[d>>2]=h;l=i;break}default:l=0}i=l<<16;Od(a,(f|0)==0?i&-1114112:i);e=1;return e|0}do if((b|0)==1?(Cd(a,1)|0)==3:0){i=(Fd(a,1,0)|0)>>16;if((i+1|0)>>>0<2){c[780970]=0;if((i|0)==-1){m=37;break}c[780971]=1;c[780972]=2;c[780973]=3;c[780974]=4;c[780975]=5;c[780976]=6;c[780977]=7;c[780978]=8;c[780979]=9;c[780980]=10;c[780981]=11;c[780982]=12;c[780983]=13;c[780984]=14;c[780985]=15;break}switch(i|0){case -1:{c[780986]=0;c[781002]=0;c[780987]=1;c[781003]=1;c[780988]=2;c[781004]=18;c[780989]=3;c[781005]=19;c[780990]=4;c[781006]=36;c[780991]=5;c[781007]=21;c[780992]=6;c[781008]=214;c[780993]=7;c[781009]=103;c[780994]=8;c[781010]=72;c[780995]=9;c[781011]=73;c[780996]=10;c[781012]=154;c[780997]=11;c[781013]=59;c[780998]=12;c[781014]=220;c[780999]=13;c[781015]=93;c[781e3]=14;c[781016]=142;c[781001]=15;c[781017]=239;e=0;return e|0}case 1:{c[780986]=0;c[780987]=1;c[780988]=2;c[780989]=3;c[780990]=4;c[780991]=5;c[780992]=6;c[780993]=7;c[780994]=8;c[780995]=9;c[780996]=10;c[780997]=11;c[780998]=12;c[780999]=13;c[781e3]=14;c[781001]=15;e=0;return e|0}case 2:{c[781002]=0;c[781003]=1;c[781004]=18;c[781005]=19;c[781006]=36;c[781007]=21;c[781008]=214;c[781009]=103;c[781010]=72;c[781011]=73;c[781012]=154;c[781013]=59;c[781014]=220;c[781015]=93;c[781016]=142;c[781017]=239;e=0;return e|0}default:{e=0;return e|0}}}else m=23;while(0);if((m|0)==23){c[780970]=0;m=37}if((m|0)==37){c[780986]=0;c[781002]=0;c[780971]=1;c[780987]=1;c[781003]=1;c[780972]=2;c[780988]=2;c[781004]=18;c[780973]=3;c[780989]=3;c[781005]=19;c[780974]=4;c[780990]=4;c[781006]=36;c[780975]=5;c[780991]=5;c[781007]=21;c[780976]=6;c[780992]=6;c[781008]=214;c[780977]=7;c[780993]=7;c[781009]=103;c[780978]=8;c[780994]=8;c[781010]=72;c[780979]=9;c[780995]=9;c[781011]=73;c[780980]=10;c[780996]=10;c[781012]=154;c[780981]=11;c[780997]=11;c[781013]=59;c[780982]=12;c[780998]=12;c[781014]=220;c[780983]=13;c[780999]=13;c[781015]=93;c[780984]=14;c[781e3]=14;c[781016]=142;c[780985]=15;c[781001]=15;c[781017]=239}c[780970]=16;e=0;return e|0}function aj(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=yd(a)|0;d=c[780970]|0;e=c[780971]|0;f=c[780972]|0;g=c[780973]|0;h=c[780974]|0;i=c[780975]|0;j=c[780976]|0;k=c[780977]|0;l=c[780978]|0;m=c[780979]|0;n=c[780980]|0;o=c[780981]|0;p=c[780982]|0;q=c[780983]|0;r=c[780984]|0;s=c[780985]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[780971]=e&15;c[780972]=f&15;c[780973]=g&15;c[780974]=h&15;c[780975]=i&15;c[780976]=j&15;c[780977]=k&15;c[780978]=l&15;c[780979]=m&15;c[780980]=n&15;c[780981]=o&15;c[780982]=p&15;c[780983]=q&15;c[780984]=r&15;c[780985]=s&15;c[780970]=d&15|16;Od(a,t<<16);return 1}d=Fd(a,1,0)|0;if((b|0)==1){b=c[780970]&15;c[780970]=(d|0)>-1?b:b|16;c[780971]=d>>>26&16|c[780971]&15;c[780972]=d>>>25&16|c[780972]&15;c[780973]=d>>>24&16|c[780973]&15;c[780974]=d>>>23&16|c[780974]&15;c[780975]=d>>>22&16|c[780975]&15;c[780976]=d>>>21&16|c[780976]&15;c[780977]=d>>>20&16|c[780977]&15;c[780978]=d>>>19&16|c[780978]&15;c[780979]=d>>>18&16|c[780979]&15;c[780980]=d>>>17&16|c[780980]&15;c[780981]=d>>>16&16|c[780981]&15;c[780982]=d>>>15&16|c[780982]&15;c[780983]=d>>>14&16|c[780983]&15;c[780984]=d>>>13&16|c[780984]&15;c[780985]=d>>>12&16|c[780985]&15;jh(2);Od(a,t<<16);return 1}else{t=Id(a,2)|0;b=3123880+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Vd(a,d>>>4&1);return 1}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;b=c[781038]|0;d=b>>>1&32768|b<<16|b>>>3&16384;if(!(yd(a)|0)){e=0;c[781038]=e;Od(a,d);return 1}b=Fd(a,1,0)|0;e=b<<1&65536|b>>>16|b<<3&131072|b<<5&262144;c[781038]=e;Od(a,d);return 1}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=Ia;Ia=Ia+80|0;e=d+72|0;f=d+68|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+4|0;k=d;l=(a[3152374]<<4&255)<<24>>24>>7<<24>>24;m=(Fd(b,1,0)|0)>>16;n=(Fd(b,2,0)|0)>>16;o=Fd(b,3,0)|0;p=Fd(b,4,0)|0;q=a[3152406]|0;r=q<<24>>24>-1?8192:(q&255)<<8;q=a[3152407]|0;s=q<<24>>24==0?256:q&255;q=((r>>>0>32767?65536-r|0:8192)>>>0)/(s>>>0)|0;if((yd(b)|0)>4?(Cd(b,5)|0)!=0:0)t=(Fd(b,5,0)|0)>>16;else t=s;if((yd(b)|0)>5?(Cd(b,6)|0)!=0:0)u=(Fd(b,6,0)|0)>>16;else u=q;if((yd(b)|0)>6)v=(Fd(b,7,0)|0)>>16;else v=0;if((t|0)<1|(u|0)<1){Ia=d;return 0}b=o-(c[781030]<<16)>>16;o=p-(c[781031]<<16)>>16;p=c[(c[781999]|0)+8>>2]|0;q=c[781018]|0;s=c[781019]|0;if((b|0)<(q+-7|0)){r=(q-b|0)/8|0;w=r+m|0;x=(r<<3)+b|0;y=t-r|0}else{w=m;x=b;y=t}if((o|0)<(s+-7|0)){t=(s-o|0)/8|0;z=u-t|0;A=t+n|0;C=(t<<3)+o|0}else{z=u;A=n;C=o}o=((7-q+(c[781020]|0)|0)/8|0)+1|0;q=(o|0)<(y|0)?o:y;y=((7-s+(c[781021]|0)|0)/8|0)+1|0;s=(y|0)<(z|0)?y:z;if((s|0)>0){z=(q|0)>0;y=(v|0)==0;o=g+4|0;n=0;u=0;while(1){a:do if(z){t=u+A|0;b=(u<<3)+C|0;if(y){m=n;r=0;while(1){D=Ih(r+w|0,t)|0;if((D|0)==(l|0))E=m;else{F=(r<<3)+x|0;uk(p,c[742782]|0,D<<3&120,((D|0)/16|0)<<3,F,b,8,8,3123880);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[o>>2]=8;Vn(g,c[742782]|0,h,i,j,k,e,f);F=c[e>>2]|0;D=c[f>>2]|0;G=B(D,F)|0;E=((D|F|0)<0?0:G)+m|0}r=r+1|0;if((r|0)>=(q|0)){H=E;break a}else m=E}}m=n;r=0;while(1){G=Ih(r+w|0,t)|0;if((G|0)!=(l|0)?(c[(c[781999]|0)+44832+(G<<2)>>2]&v|0)!=0:0){F=(r<<3)+x|0;uk(p,c[742782]|0,G<<3&120,((G|0)/16|0)<<3,F,b,8,8,3123880);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[o>>2]=8;Vn(g,c[742782]|0,h,i,j,k,e,f);F=c[e>>2]|0;G=c[f>>2]|0;D=B(G,F)|0;I=((G|F|0)<0?0:D)+m|0}else I=m;r=r+1|0;if((r|0)>=(q|0)){H=I;break}else m=I}}else H=n;while(0);u=u+1|0;if((u|0)>=(s|0)){J=H;break}else n=H}}else J=0;jh(J);Ia=d;return 0}function dj(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;Od(a,(Ih(b,(Fd(a,2,0)|0)>>16)|0)<<16);return 1}function ej(a){a=a|0;var b=0,c=0;b=(Fd(a,1,0)|0)>>16;c=(Fd(a,2,0)|0)>>16;Jh(b,c,(Fd(a,3,0)|0)>>>16&255);return 0}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(yd(a)|0)){b=0;return b|0}d=Fd(a,1,0)|0;e=d>>16;if((yd(a)|0)==1){if(d>>>0>16777215)f=0;else f=c[(c[781999]|0)+44832+(e<<2)>>2]<<16&16711680;Od(a,f);b=1;return b|0}f=Fd(a,2,0)|0;if(d>>>0>16777215){Vd(a,0);b=1;return b|0}if(f>>>0>524287){Vd(a,0);b=1;return b|0}else{Vd(a,(c[(c[781999]|0)+44832+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=yd(a)|0;if((b|0)<2)return 0;d=Fd(a,1,0)|0;e=d>>16;f=Fd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[781999]|0)+44832+(e<<2)>>2]=g&255;return 0}b=Id(a,3)|0;if(f>>>0>524287)return 0;f=1<<g;g=(c[781999]|0)+44832+(e<<2)|0;e=(f&255^255)&c[g>>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fd(b,1,0)|0;e=d>>16;f=Fd(b,2,0)|0;g=f>>16;if(a[3152374]&16?(f|0)>8388607|((d|0)>8388607|(f|d|0)<0):0){h=($k(2971096,c[781999]|0,24409)|0)<<16;Od(b,h);return 1}h=(ao(c[(c[781999]|0)+8>>2]|0,e,g)|0)<<16&983040;Od(b,h);return 1}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[781022]|0;d=Fd(a,1,0)|0;e=Fd(a,2,0)|0;if((yd(a)|0)>2)f=(Fd(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=$k(2971096,c[781999]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;_k(2971096,c[781999]|0,f,g);return 0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;jh(4);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}b=c[781999]|0;d=(Fd(a,1,0)|0)>>16;if((yd(a)|0)>1)e=(Fd(a,2,0)|0)>>16;else e=0;if((yd(a)|0)>2)f=(Fd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){lr(0,e);return 0}else{a=(d|0)<63?d:63;fr(b,(a|0)>0?a:0,e);c[781381]=f;return 0}return 0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;jh(4);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}if((yd(a)|0)<1){b=0;return b|0}d=Fd(a,1,0)|0;e=d>>16;if((yd(a)|0)>1){f=Fd(a,2,0)|0;if((f+131072|0)>>>0>393215){b=0;return b|0}else g=f>>16}else g=-1;if((yd(a)|0)>2)h=(Fd(a,3,0)|0)>>16;else h=0;if((yd(a)|0)>3)i=(Fd(a,4,0)|0)>>16;else i=0;if((e|0)==-1){Od(a,(Zq(0,0,0,c[781999]|0,(g|0)==-2?-1:g)|0)<<16);b=1;return b|0}f=(g|0)==-2;if((e|0)==-2){dr(f?-1:g);b=0;return b|0}if(!f){f=(e|0)<63?e:63;j=(f|0)>0?f:0;f=(h|0)<31?h:31;$q((c[781999]|0)+16+(j*680|0)|0);h=c[781999]|0;Od(a,(Zq(h+16+(j*680|0)|0,(f|0)>0?f:0,i,h,g)|0)<<16);b=1;return b|0}if(d>>>0>=4194304){b=0;return b|0}$q((c[781999]|0)+16+(e*680|0)|0);b=0;return b|0}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(Fd(a,1,0)|0)>>16;if((yd(a)|0)==2?(Cd(a,2)|0)==4:0){c=Jd(a,2,0)|0;if(!c){d=0;return d|0}if((bu(c)|0)>>>0>256){d=0;return d|0}pn(b,c);d=0;return d|0}c=(Fd(a,2,0)|0)>>16;e=(Fd(a,3,0)|0)>>13;if((yd(a)|0)>3){f=Fd(a,4,0)|0;if((f|0)>65535){g=f>>16;h=8}else i=0}else{g=1;h=8}if((h|0)==8){h=0;f=0;while(1){j=(on(b,c,e)|0)+h|0;f=f+1|0;if((f|0)==(g|0)){i=j;break}else h=j}}jh((i|0)/64|0);Od(a,i<<13);d=1;return d|0}function mj(a){a=a|0;var b=0,d=0,e=0;b=(Fd(a,1,0)|0)>>16;d=(Fd(a,2,0)|0)>>16;e=Fd(a,3,0)|0;a=e>>16;if((e|0)<65536|(b|0)==(d|0))return 0;cl(2971096,c[781999]|0,b,d,a);jh((a+1|0)/4|0);return 0}function nj(a){a=a|0;var b=0,d=0,e=0;b=Fd(a,1,0)|0;d=Fd(a,2,0)|0;e=Fd(a,3,0)|0;a=e>>16;if((e|0)<65536)return 0;dl(2971096,c[781999]|0,b>>16,d>>16,a);jh((a+1|0)/4|0);return 0}function oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ia;Ia=Ia+1040|0;e=d+1032|0;f=d+1024|0;g=d+1036|0;h=d;if((yd(b)|0)>2){i=(Fd(b,1,0)|0)>>16;j=(Fd(b,2,0)|0)>>16;k=(Fd(b,3,0)|0)>>16;l=((k|0)<4096?k:4096)<<3;m=i;n=j;o=k}else{l=32768;m=0;n=0;o=17152}jh(l);if((yd(b)|0)==4?(Cd(b,4)|0)==4:0){l=Jd(b,4,g)|0;if((l|0)==0|(c[g>>2]|0)>>>0>512){Od(b,0);p=1;Ia=d;return p|0}if((a[l>>0]|0)==95?(a[l+1>>0]|0)==95:0){Od(b,0);p=1;Ia=d;return p|0}a[h>>0]=0;do if(!(kc(l,1)|0)){ds(61830,h);g=(a[l>>0]|0)==47?l+1|0:l;if((a[g>>0]|0)==47){p=0;Ia=d;return p|0}if(!(bv(g,96845)|0)){lu(h,g)|0;break}else{p=0;Ia=d;return p|0}}else{Ss(h,$b(kc(l,1)|0)|0,1023)|0;g=h+1023|0;a[g>>0]=0;k=Po(h,104528)|0;if(!k){c[f>>2]=h;wt(1715360,61838,f)|0;Cn(1715360);c[e>>2]=l;wt(1715360,61875,e)|0;Cn(1715360);Ss(h,l,1023)|0;a[g>>0]=0}Ro(k)}while(0);if(!(cc(h,m,n,o)|0)){Od(b,o<<16);p=1;Ia=d;return p|0}else{Od(b,0);p=1;Ia=d;return p|0}}el(2971096,c[781999]|0,m,n,o);Od(b,o<<16);p=1;Ia=d;return p|0}function pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+1040|0;e=d;f=d+1024|0;if((yd(b)|0)>2){g=(Fd(b,1,0)|0)>>16;h=(Fd(b,2,0)|0)>>16;i=(Fd(b,3,0)|0)>>16;j=((i|0)<4096?i:4096)<<6;k=i;l=g;m=h}else{j=262144;k=17152;l=0;m=0}jh(j);do if((yd(b)|0)>3?(Cd(b,4)|0)==4:0){j=Jd(b,4,f)|0;if((j|0)==0|(c[f>>2]|0)>>>0>512){Od(b,0);n=1;Ia=d;return n|0}if((a[j>>0]|0)==95?(a[j+1>>0]|0)==95:0){Od(b,0);n=1;Ia=d;return n|0}if(kc(j,1)|0){Ss(e,$b(kc(j,1)|0)|0,1023)|0;a[e+1023>>0]=0;o=0;p=1;break}ds(61830,e);h=(a[j>>0]|0)==47?j+1|0:j;if((a[h>>0]|0)==47){n=0;Ia=d;return n|0}if(!(bv(h,96845)|0)){lu(e,h)|0;o=0;p=0;break}else{n=0;Ia=d;return n|0}}else q=15;while(0);if((q|0)==15){Ss(e,$b(3119792)|0,1023)|0;a[e+1023>>0]=0;o=1;p=1}if(!(dc(e,l,m,k,o,p)|0)){Od(b,k<<16);n=1;Ia=d;return n|0}else{Od(b,0);n=1;Ia=d;return n|0}return 0}function qj(a){a=a|0;var b=0,c=0;if((Cd(a,1)|0)==5){Od(a,((Al((Ld(a,1)|0)<<8)|0)>>>8<<16)+65536|0);Xd(a,-2);jh(4);return 1}if((yd(a)|0)>0)b=Fd(a,1,0)|0;else b=65536;c=Al(b)|0;jh(4);Od(a,c);return 1}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);zl(g&2147483647);return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return g+65535&-65536|0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return g>>31&-131072|65536|0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;if((b|0)>0){d=c[a+8>>2]|0;a=0-b|0;b=d+(a<<3)|0;if((c[d+(a<<3)+4>>2]|0)==3)e=c[b>>2]|0;else e=Gd(b)|0;if((e|0)==-2147483648){f=2147483647;return f|0}else g=(e|0)<0?0-e|0:e}else g=0;f=g;return f|0}function vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0}else{h=Gd(d)|0;k=c[b>>2]|0;l=h}if((k|0)>2){h=(c[f>>2]|0)+(0-k<<3)+16|0;if((c[h+4>>2]|0)==3){m=l;n=c[h>>2]|0;break}else{m=l;n=Gd(h)|0;break}}else{m=l;n=0}}else{m=0;n=0}while(0);l=(j|0)<(m|0);k=(j|0)<(n|0);if(l&k){e=(m|0)<(n|0)?m:n;return e|0}if(!((m|0)<(j|0)&(m|0)<(n|0)))return (l?j:m)|0;e=k?j:n;return e|0}function wj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return up(g)|0}function xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return vp(g)|0}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;jh(6);b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Gd(f)|0;break}}else g=0;while(0);return vl(g)|0}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return wl(l,k)|0}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;if((b|0)<=0){d=0;e=~d;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=~d;return e|0}else{d=Gd(b)|0;e=~d;return e|0}return 0}function Bj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[554353]=(c[554353]|0)-b;if((b|0)<=0){d=0;e=d&-65536;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=d&-65536;return e|0}else{d=Gd(b)|0;e=d&-65536;return e|0}return 0}function Cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e&f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e&f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e&f;return g|0}else{e=Gd(d)|0;f=l;g=e&f;return g|0}return 0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e|f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e|f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e|f;return g|0}else{e=Gd(d)|0;f=l;g=e|f;return g|0}return 0}function Ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;if((d|0)<=0){e=0;f=0;g=e^f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=d;l=c[j>>2]|0}else{d=Gd(j)|0;k=c[b>>2]|0;l=d}if((k|0)<=1){e=0;f=l;g=e^f;return g|0}d=(c[h>>2]|0)+(0-k<<3)+8|0;if((c[d+4>>2]|0)==3){e=c[d>>2]|0;f=l;g=e^f;return g|0}else{e=Gd(d)|0;f=l;g=e^f;return g|0}return 0}function Fj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return El(l,k)|0}function Gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Fl(l,k)|0}function Hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Dl(l,k)|0}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Bl(l,k)|0}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[554353]=(c[554353]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{g=Gd(h)|0;i=c[b>>2]|0;j=g}if((i|0)>1){g=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=j;break}else{k=Gd(g)|0;l=j;break}}else{k=0;l=j}}else{k=0;l=0}while(0);return Cl(l,k)|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0;break}else{h=Gd(d)|0;k=c[b>>2]|0;l=h;break}}else{k=i;l=0}while(0);if((j|0)<(l|0)){if((k|0)<=0){e=0;return e|0}l=c[f>>2]|0;j=0-k|0;i=l+(j<<3)|0;if((c[l+(j<<3)+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}else{if((k|0)<=1){e=0;return e|0}i=(c[f>>2]|0)+(0-k<<3)+8|0;if((c[i+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}return 0}function Lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=d;j=c[h>>2]|0}else{d=Gd(h)|0;i=c[b>>2]|0;j=d}do if((i|0)>1){d=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){k=i;l=c[d>>2]|0;break}else{h=Gd(d)|0;k=c[b>>2]|0;l=h;break}}else{k=i;l=0}while(0);if((j|0)>(l|0)){if((k|0)<=0){e=0;return e|0}l=c[f>>2]|0;j=0-k|0;i=l+(j<<3)|0;if((c[l+(j<<3)+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}else{if((k|0)<=1){e=0;return e|0}i=(c[f>>2]|0)+(0-k<<3)+8|0;if((c[i+4>>2]|0)==3){e=c[i>>2]|0;return e|0}else{e=Gd(i)|0;return e|0}}return 0}function Mj(a){a=a|0;var b=0,d=0,e=0,f=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{Od(a,($k(2971096,c[781999]|0,f+b|0)|0)<<16);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{g=(f<<1)+b|0;h=($k(2971096,c[781999]|0,g)|0)<<16;Od(a,(($k(2971096,c[781999]|0,g+1|0)|0)<<24)+h|0);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((yd(a)|0)>0)c[554353]=(c[554353]|0)+-2;if((yd(a)|0)>1){b=Fd(a,2,0)|0;if((b|0)<2147418112)if((b|0)<65536){d=0;return d|0}else e=b>>16;else e=32767}else e=1;b=(Fd(a,1,0)|0)>>16;if(!(vc(a,e)|0)){Cb(61808)|0;d=0;return d|0}if((e|0)>0){f=0;do{g=(f<<2)+b|0;h=$k(2971096,c[781999]|0,g)|0;i=(($k(2971096,c[781999]|0,g+1|0)|0)<<8)+h|0;h=i+(($k(2971096,c[781999]|0,g+2|0)|0)<<16)|0;Od(a,h+(($k(2971096,c[781999]|0,g+3|0)|0)<<24)|0);f=f+1|0}while((f|0)!=(e|0))}jh(e+-1|0);d=e;return d|0}function Pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=l>>16;m=i+e|0;if((m&-8192|0)==24576){n=m+-24576|0;o=n>>6;p=n<<1&126;a[(c[(c[(c[742782]|0)+16>>2]|0)+(o<<2)>>2]|0)+p>>0]=f&15;a[(c[(c[(c[742782]|0)+16>>2]|0)+(o<<2)>>2]|0)+(p|1)>>0]=l>>>20&15}else _k(2971096,c[781999]|0,m,f);if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Qj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=l>>16;m=(i<<1)+e|0;if((m+-24576|0)>>>0<8191){n=(c[(c[742782]|0)+12>>2]|0)+((m<<1)+-49152)|0;a[n>>0]=f&15;o=n+1|0;a[o>>0]=f>>>4&15;n=o+1|0;a[n>>0]=f>>>8&15;a[n+1>>0]=f>>>12&15}else{_k(2971096,c[781999]|0,m,f&255);_k(2971096,c[781999]|0,m+1|0,f>>>8&255)}if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=e;j=c[h>>2]|0;break}else{g=Gd(h)|0;i=c[d>>2]|0;j=g;break}}else{i=e;j=0}while(0);e=j>>16;j=(i|0)<2?1:(i|0)<32768?i+-1|0:32767;if((i|0)>1)c[554353]=(c[554353]|0)+-2;if((j|0)<=0){k=j+-1|0;jh(k);return 0}g=b+8|0;b=i;i=0;while(1){h=i+1|0;do if((b|0)>(h|0)){f=(c[g>>2]|0)+(0-b<<3)+(h<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Gd(f)|0;break}}else l=0;while(0);f=(i<<2)+e|0;if((f+-24576|0)>>>0<8189){m=(c[(c[742782]|0)+12>>2]|0)+((f<<1)+-49152)|0;a[m>>0]=l&15;n=m+1|0;a[n>>0]=l>>>4&15;m=n+1|0;a[m>>0]=l>>>8&15;n=m+1|0;a[n>>0]=l>>>12&15;m=n+1|0;a[m>>0]=l>>>16&15;n=m+1|0;a[n>>0]=l>>>20&15;m=n+1|0;a[m>>0]=l>>>24&15;a[m+1>>0]=l>>>28}else{_k(2971096,c[781999]|0,f,l&255);_k(2971096,c[781999]|0,f+1|0,l>>>8&255);_k(2971096,c[781999]|0,f+2|0,l>>>16&255);_k(2971096,c[781999]|0,f+3|0,l>>>24)}if((h|0)==(j|0))break;b=c[d>>2]|0;i=h}k=j+-1|0;jh(k);return 0}function Sj(a){a=a|0;var b=0,d=0;b=c[742775]|0;d=Rv(b|0,((b|0)<0)<<31>>31|0,16)|0;b=Lv(d|0,G()|0,60,0)|0;G()|0;Od(a,b);return 1}function Tj(a){a=a|0;if(!(c[554381]|0))fb(61775,2e3);c[554381]=1;Nd(a);Od(a,0);return 2}function Uj(a){a=a|0;return 0}function Vj(a){a=a|0;c[798462]=1;ok(a,0);return 1}function Wj(a){a=a|0;c[798462]=1;ok(a,1);return 1}function Xj(b){b=b|0;var c=0,d=0;c=Fd(b,1,0)|0;d=c>>>16&255;if((d+-1|0)>>>0>4)return 0;a[3127988+d>>0]=c>>>24;c=Jd(b,2,0)|0;if(c|0?(bu(c)|0)>>>0<=63:0){Ss(3127598+(d<<6)|0,c,63)|0;a[3127598+(d<<6)+63>>0]=0;return 0}a[3127598+(d<<6)>>0]=0;return 0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=255;if((yd(a)|0)<=0){e=0;Ia=b;return e|0}f=Jd(a,1,d)|0;if((f|0)==0|(c[d>>2]|0)>>>0>64){e=0;Ia=b;return e|0}d=am(f)|0;jh(32);Vd(a,(d|0)==0&1);e=1;Ia=b;return e|0}function Zj(b){b=b|0;var d=0,e=0;d=Fd(b,1,0)|0;if(!(a[3120180]|0)){Cb(61745)|0;e=0;return e|0}if(d>>>0>4194303){Od(b,0);e=1;return e|0}else{Od(b,c[3120248+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function _j(b){b=b|0;var d=0,e=0;d=Fd(b,1,0)|0;e=Fd(b,2,0)|0;if(!(a[3120180]|0)){Cb(61715)|0;return 0}if(d>>>0>4194303)return 0;b=3120248+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[798463]=1;c[b>>2]=e;return 0}function $j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=Ia;Ia=Ia+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;jh(16);a:do if((yd(b)|0)>0){k=(Fd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{sf(c[554360]|0,2,0)|0;m=(c[798390]|0)+(c[781046]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=(n|0)>0?n:0;p=0;l=15;break a;break}case 2:{q=Wg(Qg(1)|0)|0;r=2;l=85;break a;break}default:{n=(k|0)==3?c[798931]<<16:0;switch(k|0){case 5:{q=2818048;r=k;l=85;break a;break}case 4:{qs();m=c[485560]|0;if(!m){Pd(b,3196396,0)|0;Ia=d;return 1}else{s=xq((bu(m)|0)+16|0)|0;Ls(c[485560]|0,s)|0;Pd(b,s,bu(s)|0)|0;zq(s);Ia=d;return 1}break}case 6:{s=bu(3125548)|0;Pd(b,3125548,s>>>0<1024?s:1024)|0;Ia=d;return 1}case 7:{q=c[798454]<<16;r=7;l=85;break a;break}case 9:{q=(Cr()|0)<<16;r=9;l=85;break a;break}case 11:{q=(Ok()|0)<<16;r=11;l=85;break a;break}case 13:{vb();q=4128768-((((c[485556]<<3)+8|0)/2|0)<<16)|0;r=13;l=85;break a;break}default:{o=n;p=k;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=Wg(Qg(0)|0)|0;p=1;l=15}b:do if((l|0)==15)switch(p|0){case 12:{q=1507328;r=p;l=85;break b;break}case 14:{q=6815744;r=p;l=85;break b;break}case 15:{vb();t=((((c[485556]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{k=(p|0)==10?c[798392]<<16:(p|0)==8?c[798455]<<16:o;if((p+-16|0)>>>0<11)u=bi(p)|0;else u=k;if((p+-46|0)>>>0<11){k=bi(p)|0;if((k|0)==-65536)v=bi(p+-30|0)|0;else v=k}else if((p|0)==29){t=_r()|0;break b}else v=u;k=(p|0)==30;n=(p|0)==31;s=(p|0)==28;switch(p|0){case 28:case 30:case 31:{if(!(($k(2971096,c[781999]|0,24365)|0)&1)){if(k)Vd(b,0);if(n)Pd(b,3196396,0)|0;if(!s){Ia=d;return 1}Vd(b,0);Ia=d;return 1}qs();if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0){if(!(c[798389]|0))fb(61568,2e3);c[798389]=1}if(s)if((Cd(b,2)|0)==3){Vd(b,(qo((Fd(b,2,0)|0)>>16)|0)!=0&1);Ia=d;return 1}else{Od(b,0);Ia=d;return 1}if(k){Vd(b,(c[798930]|0)>0&1);Ia=d;return 1}if(n){if(!(c[798930]|0)){Pd(b,3196396,0)|0;Ia=d;return 1}Pd(b,3195464,1)|0;n=0;do{k=n;n=n+1|0;a[3195464+k>>0]=a[3195464+n>>0]|0}while((n|0)!=255);c[798930]=(c[798930]|0)+-1;Ia=d;return 1}else w=v;break}default:if((p+-32|0)>>>0<9?(($k(2971096,c[781999]|0,24365)|0)&1|0)!=0:0){if((a[3120504]|0)!=0&(c[780901]|0)!=0|(c[484611]|0)!=0){if(!(c[798389]|0))fb(61592,2e3);c[798389]=1}cs(f,g,h);n=(p|0)==36?c[781304]|0:(p|0)==35?c[781303]|0:(p|0)==34?c[h>>2]|0:(p|0)==33?c[g>>2]|0:(p|0)==32?c[f>>2]|0:v;if(!(($k(2971096,c[781999]|0,24365)|0)&4))x=n;else x=(p|0)==39?c[781306]|0:(p|0)==38?c[781305]|0:n;w=x<<16}else w=v}switch(p|0){case 37:{n=c[781042]<<16;c[781042]=0;t=n;break b;break}case 57:{Vd(b,(nr()|0)!=0&1);Ia=d;return 1}default:{if((p&-8|0)==64){Nd(b);Ia=d;return 1}do if((p+-80|0)>>>0>=6){if((p+-90|0)>>>0<6){Ir(i,1);y=((p|0)==95?c[i+24>>2]|0:(p|0)==94?c[i+20>>2]|0:(p|0)==93?c[i+16>>2]|0:(p|0)==92?c[i+12>>2]|0:(p|0)==91?c[i+8>>2]|0:(p|0)==90?c[i+4>>2]|0:w)<<16;break}if((p|0)==99){n=(c[798390]|0)+(c[781046]|0)|0;k=((n|0)<2097152?n:2097152)<<6;t=(k|0)>0?k:0;break b}else y=w}else{Ir(i,0);y=((p|0)==85?c[i+24>>2]|0:(p|0)==84?c[i+20>>2]|0:(p|0)==83?c[i+16>>2]|0:(p|0)==82?c[i+12>>2]|0:(p|0)==81?c[i+8>>2]|0:(p|0)==80?c[i+4>>2]|0:w)<<16}while(0);switch(p|0){case 100:{if(!(Eg()|0)){Nd(b);Ia=d;return 1}else{k=Eg()|0;Pd(b,k,bu(Eg()|0)|0)|0;Ia=d;return 1}break}case 101:{if((a[3120504]|0)!=0&(c[780901]|0)!=0){Pd(b,3120504,bu(3120504)|0)|0;Ia=d;return 1}else{Nd(b);Ia=d;return 1}break}case 102:{k=la(22,0)|0;n=k;if(!k){Nd(b);Ia=d;return 1}else{Pd(b,n,bu(n)|0)|0;Ia=d;return 1}break}case 103:{Pd(b,3119833,bu(3119833)|0)|0;Ia=d;return 1}case 104:{Vd(b,0);Ia=d;return 1}case 106:{c[e>>2]=3125548;c[e+4>>2]=3119833;wt(1719968,104363,e)|0;Gq(1719968,bu(1719968)|0,j)|0;Pd(b,j,bu(j)|0)|0;Ia=d;return 1}case 107:{t=c[484720]<<16;break b;break}default:{if((p|0)!=109){q=(p|0)==108?c[554800]<<16:y;r=p;l=85;break b}t=((c[555260]|0)/4|0)<<16;break b}}}}}}while(0);c:do if((l|0)==85)switch(r|0){case 110:{Vd(b,c[485657]|0);Ia=d;return 1}case 111:{t=((c[555260]|0)/4|0)<<16|256;break c;break}case 120:{Vd(b,(un()|0)>0&1);Ia=d;return 1}case 121:{Vd(b,(vn()|0)>0&1);Ia=d;return 1}case 122:{Vd(b,c[536395]|0);Ia=d;return 1}case 124:{Qd(b,3196396)|0;Ia=d;return 1}default:{p=r+-190|0;if(p>>>0>=4){t=q;break c}t=(c[3193536+(p<<2)>>2]|0)!=0&1;break c}}while(0);Od(b,t);Ia=d;return 1}function ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=0;e=Jd(a,1,d)|0;f=c[d>>2]|0;if(!e){g=0;Ia=b;return g|0}if((yd(a)|0)>1)h=(Fd(a,2,0)|0)>>16;else h=1;if((yd(a)|0)>2?(Cd(a,3)|0)==3:0)i=(Fd(a,3,0)|0)>>16;else i=f;d=f+1|0;j=((h|0)<0?d:0)+h|0;h=((i|0)<0?d:0)+i|0;if((j|0)>(f|0)|((h|0)<(j|0)|(h|0)<1)){Pd(a,e,0)|0;g=1;Ia=b;return g|0}else{i=(j|0)<(f|0)?j:f;j=(i|0)>1?i:1;i=(h|0)<(f|0)?h:f;f=((i|0)>1?i:1)-j+1|0;Pd(a,e+j+-1|0,f)|0;jh((f|0)/2|0);g=1;Ia=b;return g|0}return 0}function bk(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Ia;Ia=Ia+16|0;d=c;e=yd(b)|0;if((e|0)<=16)if((e|0)>0){f=0;g=d}else{Pd(b,d,e)|0;jh(e);Ia=c;return 1}else{d=xq(e)|0;f=d;g=d}d=0;do{h=d;d=d+1|0;a[g+h>>0]=(Fd(b,d,0)|0)>>>16}while((d|0)!=(e|0));Pd(b,g,e)|0;if(!f){jh(e);Ia=c;return 1}zq(f);jh(e);Ia=c;return 1}function ck(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=32768;if((yd(b)|0)>0)f=Jd(b,1,e)|0;else f=0;if((yd(b)|0)>1)g=((Fd(b,2,0)|0)>>16)+-1|0;else g=0;if((yd(b)|0)>2){h=Fd(b,3,0)|0;if((h|0)<65536){i=0;Ia=d;return i|0}else j=h>>16}else j=1;if(!(vc(b,j)|0)){Cb(61547)|0;i=0;Ia=d;return i|0}jh(j);h=j+g|0;if((j|0)<=0){i=j;Ia=d;return i|0}if(!f){k=g;do{Nd(b);k=k+1|0}while((k|0)<(h|0));i=j;Ia=d;return i|0}k=g;do{if((k|0)>-1?k>>>0<(c[e>>2]|0)>>>0:0)Od(b,(((a[f+k>>0]|0)+256|0)%256|0)<<16);else Nd(b);k=k+1|0}while((k|0)<(h|0));i=j;Ia=d;return i|0}function dk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=0;if((yd(b)|0)<=0){i=0;Ia=d;return i|0}j=Jd(b,1,e)|0;if(!j){i=0;Ia=d;return i|0}k=c[e>>2]|0;Yd(b,0,1);jh(k);if((yd(b)|0)>2)l=Id(b,3)|0;else l=1;e=(Fd(b,3,0)|0)==2;m=e?1:l;if((Cd(b,2)|0)==3){l=(Fd(b,2,0)|0)>>16;e=(l|0)<(k|0)?l:k;l=(e|0)>1?e:1;e=vq(l+1|0)|0;a:do if((k|0)>0){if(!m){n=1;o=0;while(1){wq(e,0,l);p=k-o|0;q=(l|0)<(p|0)?l:p;Vv(e|0,j+o|0,q|0)|0;c[g>>2]=0;Pd(b,e,q)|0;_d(b,-2,n);o=o+l|0;if((k|0)<=(o|0))break a;else n=n+1|0}}n=1;o=0;while(1){wq(e,0,l);q=k-o|0;p=(l|0)<(q|0)?l:q;Vv(e|0,j+o|0,p|0)|0;c[g>>2]=0;if(!(Wc(e,bu(e)|0,g)|0))Pd(b,e,p)|0;else Od(b,c[g>>2]|0);_d(b,-2,n);o=o+l|0;if((k|0)<=(o|0))break;else n=n+1|0}}while(0);zq(e);i=1;Ia=d;return i|0}c[g>>2]=0;if((yd(b)|0)>1?(e=Jd(b,2,g)|0,l=c[g>>2]|0,!((e|0)==0|l>>>0>256)):0){r=l;s=e}else{c[g>>2]=1;r=1;s=97469}b:do if((s|0)==0|(r|0)==0){if((k|0)>0){g=f+1|0;if(!m){e=1;l=0;while(1){a[f>>0]=a[j+l>>0]|0;a[g>>0]=0;Pd(b,f,1)|0;_d(b,-2,e);l=l+1|0;if((l|0)==(k|0))break b;else e=e+1|0}}e=1;l=0;while(1){n=a[j+l>>0]|0;a[f>>0]=n;a[g>>0]=0;if((n+-48&255)<10)Od(b,(n<<24>>24<<16)+-3145728|0);else Pd(b,f,1)|0;_d(b,-2,e);l=l+1|0;if((l|0)==(k|0))break;else e=e+1|0}}}else{e=vq(k+1|0)|0;Vv(e|0,j|0,k|0)|0;c:do if(!m){l=1;g=0;while(1){n=a[s>>0]|0;o=g;while(1){t=(o|0)>=(k|0);if(t|(a[e+o>>0]|0)==n<<24>>24)break;o=o+1|0}a[e+o>>0]=0;c[h>>2]=0;Pd(b,e+g|0,o-g|0)|0;_d(b,-2,l);if(t)break c;l=l+1|0;g=o+1|0}}else{g=1;l=0;while(1){n=a[s>>0]|0;p=l;while(1){u=(p|0)>=(k|0);if(u|(a[e+p>>0]|0)==n<<24>>24)break;p=p+1|0}n=e+l|0;a[e+p>>0]=0;c[h>>2]=0;o=p-l|0;if(!(Wc(n,o,h)|0))Pd(b,n,o)|0;else Od(b,c[h>>2]|0);_d(b,-2,g);if(u)break c;g=g+1|0;l=p+1|0}}while(0);zq(e)}while(0);i=1;Ia=d;return i|0}function ek(a){a=a|0;var b=0;if(!(yd(a)|0))b=0;else b=Wf(a)|0;return b|0}function fk(a){a=a|0;var b=0,c=0;b=yd(a)|0;if((b|0)>=1){c=1;while(1){Bd(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return Gc(a,b,0,0)|0}function gk(a){a=a|0;c[742797]=1;if(c[798391]|0)return 0;c[798391]=1;return 0}function hk(b){b=b|0;var c=0,d=0,e=0;c=Fd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=3127982+(c>>>16)|0;c=a[e>>0]|0;if(!(c<<24>>24)){d=0;return d|0}Od(b,c<<24>>24<<16);a[e>>0]=0;d=1;return d|0}function ik(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;c[742775]=(c[742775]|0)+b;pl();return 0}function jk(a){a=a|0;lh();return 0}function kk(a){a=a|0;c[781379]=(Fd(a,1,0)|0)>>16;return 0}function lk(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;c[798454]=b;c[798455]=b;return 0}function mk(a){a=a|0;var b=0;b=(Fd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[3193824+(b<<2)>>2]=Qg(0)|0;c[3193836+(b<<2)>>2]=Xr()|0;return 0}function nk(b){b=b|0;var d=0,e=0,f=0;d=Fd(b,1,0)|0;e=d>>16;f=(d|0)>65535;d=f?((e|0)<7?e:7):0;if(f){if(!(a[3152374]&1)){Vd(b,0);return 1}if((c[535873]|0)<2&(c[535874]|0)<2){if(!(c[554380]|0))qv(61449)|0;c[554380]=1}}Nk(d);Vd(b,1);return 1}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(Fd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(yd(a)|0)){e=(b|0)==0;Od(a,((((e?c[781062]|0:c[781254]|0)|0)==0?0:32768)|((((e?c[781061]|0:c[781253]|0)|0)==0?0:16384)|((((e?c[781060]|0:c[781252]|0)|0)==0?0:8192)|((((e?c[781059]|0:c[781251]|0)|0)==0?0:4096)|((((e?c[781058]|0:c[781250]|0)|0)==0?0:2048)|((((e?c[781057]|0:c[781249]|0)|0)==0?0:1024)|((((e?c[781056]|0:c[781248]|0)|0)==0?0:512)|((((e?c[781055]|0:c[781247]|0)|0)==0?0:256)|((((e?c[781054]|0:c[781246]|0)|0)==0?0:128)|((((e?c[781053]|0:c[781245]|0)|0)==0?0:64)|((((e?c[781052]|0:c[781244]|0)|0)==0?0:32)|((((e?c[781051]|0:c[781243]|0)|0)==0?0:16)|((((e?c[781050]|0:c[781242]|0)|0)==0?0:8)|((((e?c[781049]|0:c[781241]|0)|0)==0?0:4)|((((e?c[781048]|0:c[781240]|0)|0)==0?0:2)|((e?c[781047]|0:c[781239]|0)|0)!=0)))))))))))))))<<16);return}if((yd(a)|0)>1)f=(Fd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[3124188+(f<<5)+(d<<2)>>2]|0;else g=c[3124956+(f<<5)+(d<<2)>>2]|0;else g=0;Vd(a,g);jh(4);return}function pk(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=c[781022]&255;if((yd(a)|0)>=(b|0)){f=Fd(a,b,0)|0;b=f>>>16&255;c[781022]=b;if(f&268435456){a=c[781043]|0;if(a&1|0?(g=f>>>8,h=g&131072|(g&65536|f&65535),c[781038]=h,f&67108864|0):0)c[781038]=h|262144;if(a&2){c[781044]=f&134217728;i=b}else i=b}else i=b}else i=e;if(!d){j=i;return j|0}d=c[3123880+((i&15)<<2)>>2]&15;if(!(c[781038]&262144)){j=c[3123880+(i>>>4<<2)>>2]<<4&240|d;return j|0}j=c[3124008+(d<<2)>>2]|0;return j|0}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+112>>2]|0;if((d|0)>=(b|0)){e=(c[a+8>>2]|0)+(0-d<<3)+(b<<3)+-8|0;if((c[e+4>>2]|0)==3)f=c[e>>2]|0;else f=Gd(e)|0;e=f>>>16&255;c[781022]=e;if(f&268435456){b=c[781043]|0;if(b&1|0?(d=f>>>8,a=d&131072|(d&65536|f&65535),c[781038]=a,f&67108864|0):0)c[781038]=a|262144;if(b&2){c[781044]=f&134217728;g=e}else g=e}else g=e}else g=c[781022]&255;e=c[3123880+((g&15)<<2)>>2]&15;if(!(c[781038]&262144)){h=c[3123880+(g>>>4<<2)>>2]<<4&240|e;return h|0}h=c[3124008+(e<<2)>>2]|0;return h|0}function rk(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=Ia;Ia=Ia+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;Yn(b);Xn(b);Vn(b,d,o,p,q,r,s,t);Zn(b);j=c[s>>2]|0;i=c[t>>2]|0;if((j|0)<1|(i|0)<1){Ia=n;return}h=(k|0)!=0;k=(l|0)!=0;if(h&k){l=b+16|0;g=d+16|0;f=j;e=i;u=0;while(1){if((f|0)>0){v=~u;w=e;x=f;y=0;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+y)>>0]=c[m+((a[(c[(c[l>>2]|0)+((c[p>>2]|0)+v+w<<2)>>2]|0)+(x+~y+(c[o>>2]|0))>>0]&15)<<2)>>2];y=y+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((y|0)>=(z|0)){B=A;C=z;break}else{w=A;x=z}}}else{B=e;C=f}u=u+1|0;if((u|0)>=(B|0))break;else{f=C;e=B}}Ia=n;return}if(k){k=b+16|0;B=d+16|0;e=j;C=i;f=0;while(1){if((e|0)>0){u=~f;l=C;g=0;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+g)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+u+l<<2)>>2]|0)+((c[o>>2]|0)+g)>>0]&15)<<2)>>2];g=g+1|0;x=c[s>>2]|0;w=c[t>>2]|0;if((g|0)>=(x|0)){D=w;E=x;break}else l=w}}else{D=C;E=e}f=f+1|0;if((f|0)>=(D|0))break;else{e=E;C=D}}Ia=n;return}if(h){h=b+16|0;D=d+16|0;C=j;E=i;e=0;while(1){if((C|0)>0){f=C;k=0;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+k)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(f+~k+(c[o>>2]|0))>>0]&15)<<2)>>2];k=k+1|0;f=c[s>>2]|0}while((k|0)<(f|0));F=c[t>>2]|0;G=f}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{C=G;E=F}}Ia=n;return}F=d+16|0;d=b+16|0;b=j;j=i;i=0;while(1){if(!b)H=j;else{E=(c[(c[F>>2]|0)+((c[r>>2]|0)+i<<2)>>2]|0)+(c[q>>2]|0)|0;G=(c[(c[d>>2]|0)+((c[p>>2]|0)+i<<2)>>2]|0)+(c[o>>2]|0)|0;C=b;while(1){a[E>>0]=c[m+((a[G>>0]&15)<<2)>>2];C=C+-1|0;if(!C)break;else{E=E+1|0;G=G+1|0}}H=c[t>>2]|0}G=i+1|0;if((G|0)>=(H|0))break;b=c[s>>2]|0;j=H;i=G}Ia=n;return}function sk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){tk(b,e,0,0,f,g,h,i);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0){e=i;do e=e+1|0;while((e|0)<(f|0));return}e=B(o,j)|0;o=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;e=i;while(1){i=c[(c[r>>2]|0)+(o>>16<<2)>>2]|0;if(!(c[781038]&131072)){n=(c[(c[b>>2]|0)+(e<<2)>>2]|0)+q|0;k=s;p=0;while(1){m=d[i+(k>>16)>>0]|0;if(!(m&240)){h=c[781035]|0;a[n>>0]=((h^15)&(d[n>>0]|0)|h&m&c[781036])&15}p=p+1|0;if((p|0)>=(g|0))break;else{n=n+1|0;k=k+l|0}}}else{k=e<<2&12^12;n=s;p=0;while(1){m=d[i+(n>>16)>>0]|0;if((m&240|0)==0?(h=p+q|0,t=c[781038]|0,u=t>>k>>>(h&3^3)&1,(t&65536|0)==0|(u|0)==0):0){t=(c[(c[b>>2]|0)+(e<<2)>>2]|0)+h|0;h=c[781035]|0;a[t>>0]=((h^15)&(d[t>>0]|0)|h&c[3124008+((m&15)<<2)>>2]>>(u<<2)&c[781036])&15}p=p+1|0;if((p|0)>=(g|0))break;else n=n+l|0}}e=e+1|0;if((e|0)>=(f|0))break;else o=o+j|0}return}function tk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=Ia;Ia=Ia+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=l;return}Vn(b,e,m,n,o,p,q,r);if(!((c[r>>2]|0)>0&(c[q>>2]|0)>0)){Ia=l;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;i=c[q>>2]|0;if(!(c[781038]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;g=j;f=i;while(1){s=d[g>>0]|0;if(!(s&240)){t=c[781035]|0;a[h>>0]=((t^15)&(d[h>>0]|0)|t&s&c[781036])&15}f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0}}}}else if((i|0)>0){g=i;h=j;f=0;while(1){s=d[h>>0]|0;if((s&240|0)==0?(t=(c[o>>2]|0)+f|0,u=(c[p>>2]|0)+e|0,v=c[781038]|0,w=v>>(u<<2&12^12)>>>(t&3^3)&1,(v&65536|0)==0|(w|0)==0):0){v=(c[(c[b>>2]|0)+(u<<2)>>2]|0)+t|0;t=c[781035]|0;a[v>>0]=((t^15)&(d[v>>0]|0)|t&c[3124008+((s&15)<<2)>>2]>>(w<<2)&c[781036])&15;x=c[q>>2]|0}else x=g;f=f+1|0;if((f|0)>=(x|0))break;else{g=x;h=h+1|0}}}e=e+1|0}while((e|0)<(c[r>>2]|0));Ia=l;return}function uk(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=Ia;Ia=Ia+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=m;return}Vn(b,e,n,o,p,q,r,s);if(!((c[s>>2]|0)>0&(c[r>>2]|0)>0)){Ia=m;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;i=c[r>>2]|0;if(!(c[781038]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;g=j;f=i;while(1){t=c[l+((a[g>>0]&15)<<2)>>2]|0;if(!(t&240)){u=c[781035]|0;a[h>>0]=((u^15)&(d[h>>0]|0)|u&t&c[781036])&15}f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0}}}}else if((i|0)>0){g=i;h=j;f=0;while(1){t=c[l+((a[h>>0]&15)<<2)>>2]|0;if((t&240|0)==0?(u=(c[p>>2]|0)+f|0,v=(c[q>>2]|0)+e|0,w=c[781038]|0,x=w>>(v<<2&12^12)>>>(u&3^3)&1,(w&65536|0)==0|(x|0)==0):0){w=(c[(c[b>>2]|0)+(v<<2)>>2]|0)+u|0;u=c[781035]|0;a[w>>0]=((u^15)&(d[w>>0]|0)|u&c[3124008+((t&15)<<2)>>2]>>(x<<2)&c[781036])&15;y=c[r>>2]|0}else y=g;f=f+1|0;if((f|0)>=(y|0))break;else{g=y;h=h+1|0}}}e=e+1|0}while((e|0)<(c[s>>2]|0));Ia=m;return}function vk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;i=c[781038]|0;if((g|0)<0)return;j=b+28|0;k=b+32|0;l=b+36|0;m=b+40|0;n=(i&65536|0)==0;o=b+16|0;b=1-g|0;p=g;g=0;while(1){q=p+e|0;r=g+f|0;s=c[j>>2]|0;if(((((s|0)<=(q|0)?(c[k>>2]|0)>(q|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(q&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+q|0;v=c[781035]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[781036])&15;w=c[j>>2]|0}else w=s;s=g+e|0;t=p+f|0;if(((((w|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;x=c[781035]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[781036])&15;y=c[j>>2]|0}else y=w;v=e-p|0;if(((((y|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(x=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(x|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;r=c[781035]|0;a[u>>0]=((r^15)&(d[u>>0]|0)|r&h>>(x<<2)&c[781036])&15;z=c[j>>2]|0}else z=y;x=e-g|0;if(((((z|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(r=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(r|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;t=c[781035]|0;a[u>>0]=((t^15)&(d[u>>0]|0)|t&h>>(r<<2)&c[781036])&15;A=c[j>>2]|0}else A=z;r=f-g|0;if(((((A|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;v=c[781035]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[781036])&15;B=c[j>>2]|0}else B=A;t=f-p|0;if(((((B|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;x=c[781035]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[781036])&15;C=c[j>>2]|0}else C=B;if(((((C|0)<=(q|0)?(c[k>>2]|0)>(q|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(v=i>>(r<<2&12^12)>>>(q&3^3)&1,n|(v|0)==0):0){x=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+q|0;q=c[781035]|0;a[x>>0]=((q^15)&(d[x>>0]|0)|q&h>>(v<<2)&c[781036])&15;D=c[j>>2]|0}else D=C;if(((((D|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){q=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;s=c[781035]|0;a[q>>0]=((s^15)&(d[q>>0]|0)|s&h>>(v<<2)&c[781036])&15}v=g+1|0;s=(b|0)<0;q=p+-1|0;p=s?p:q;if((p|0)<=(g|0))break;else{b=(v-(s?0:q)<<1|1)+b|0;g=v}}return}function wk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[781035]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[781036])&15;return}function xk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=c[781038]|0;if((c[b+36>>2]|0)>(g|0))return 0;if((c[b+40>>2]|0)<=(g|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(12-(g<<2)&12);i=((h&4|0)==0?j:l)<<8|((h&8|0)==0?j:l)|((h&2|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(f|0)<(e|0);j=l?e:f;h=l?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(j|0)<(h|0)?j:h+-1|0;if((f|0)>=(h|0))return 0;h=b+16|0;b=c[(c[h>>2]|0)+(g<<2)>>2]|0;j=b+f|0;l=b+(f+3&-4)|0;if(k){if((f|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}k=j;b=f;while(1){q=i>>>(b<<3&24);if(!(q&16)){r=c[781035]|0;a[k>>0]=((r^15)&(d[k>>0]|0)|r&q&c[781036])&15}if((b|0)<(e|0)){k=k+1|0;b=b+1|0}else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}b=c[781036]|0;k=b<<8|b|b<<16|b<<24;b=c[781035]|0;q=b<<8|b|b<<16|b<<24;a:do if((f|0)>(e|0))s=f;else{b=j;r=f;while(1){t=r&3;if(!t){s=r;break a}u=c[781035]|0;a[b>>0]=((u^15)&(d[b>>0]|0)|u&i>>>(t<<3)&c[781036])&15;t=r+1|0;if((r|0)<(e|0)){b=b+1|0;r=t}else{s=t;break}}}while(0);j=e+1&-4;if((s|0)<(j|0)){r=q^252645135;b=k&i&q;q=s+(j+-1-s&-4)|0;k=l;l=s;while(1){c[k>>2]=(c[k>>2]&r|b)&252645135;l=l+4|0;if((l|0)>=(j|0))break;else k=k+4|0}v=q+4|0}else v=s;if((v|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}s=v;while(1){v=(c[(c[h>>2]|0)+(g<<2)>>2]|0)+s|0;q=c[781035]|0;a[v>>0]=((q^15)&(d[v>>0]|0)|q&i>>>(s<<3&24)&c[781036])&15;if((s|0)<(e|0))s=s+1|0;else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}function yk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;l=c[781038]|0;m=((h|0)<0)<<31>>31;n=((g|0)<0)<<31>>31;o=Nv(g|0,n|0,g|0,n|0)|0;p=G()|0;q=Nv(h|0,m|0,h|0,m|0)|0;r=G()|0;s=Qv(o|0,p|0,2)|0;t=(g|0)%2|0;u=Hv(s|0,G()|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Hv(q|0,r|0,u|0,G()|0)|0;u=Iv(0,0,t|0,G()|0)|0;t=G()|0;s=Qv(q|0,r|0,2)|0;v=(h|0)%2|0;w=Hv(s|0,G()|0,v|0,((v|0)<0)<<31>>31|0)|0;v=G()|0;s=Hv(o|0,p|0,w|0,v|0)|0;x=Iv(0,0,s|0,G()|0)|0;s=G()|0;y=Iv(0,0,w|0,v|0)|0;v=G()|0;w=Rv(q|0,r|0,1)|0;z=G()|0;A=Rv(o|0,p|0,1)|0;B=G()|0;if((h|g|0)<=-1){C=0;return C|0}D=Nv(o|0,p|0,-2,-1)|0;E=Nv(D|0,G()|0,h|0,m|0)|0;D=G()|0;F=Iv(0,0,o|0,p|0)|0;H=Nv(F|0,G()|0,h|0,m|0)|0;F=((i|0)<0)<<31>>31;I=i+e|0;J=((j|0)<0)<<31>>31;K=j+f|0;L=b+28|0;M=b+32|0;N=b+36|0;O=b+40|0;P=(l&65536|0)==0;Q=b+16|0;b=H;H=G()|0;R=0;S=0;T=E;E=D;D=0;U=h;h=m;m=0;V=0;while(1){W=I+D|0;X=K+U|0;if(((((c[L>>2]|0)<=(W|0)?(c[M>>2]|0)>(W|0):0)?(c[N>>2]|0)<=(X|0):0)?(c[O>>2]|0)>(X|0):0)?(Y=l>>(X<<2&12^12)>>>(W&3^3)&1,P|(Y|0)==0):0){Z=(c[(c[Q>>2]|0)+(X<<2)>>2]|0)+W|0;_=c[781035]|0;a[Z>>0]=((_^15)&(d[Z>>0]|0)|_&k>>(Y<<2)&c[781036])&15}Y=V+2|0;_=Hv(U|0,h|0,j|0,J|0)|0;Z=G()|0;$=(Z|0)>0|(Z|0)==0&_>>>0>0;_=Hv(D|0,m|0,i|0,F|0)|0;Z=G()|0;aa=(Z|0)>0|(Z|0)==0&_>>>0>0;if($&aa){_=e-D|0;Z=f-U|0;if(((((c[L>>2]|0)<=(_|0)?(c[M>>2]|0)>(_|0):0)?(c[N>>2]|0)<=(Z|0):0)?(c[O>>2]|0)>(Z|0):0)?(ba=l>>(Z<<2&12^12)>>>(_&3^3)&1,P|(ba|0)==0):0){ca=(c[(c[Q>>2]|0)+(Z<<2)>>2]|0)+_|0;_=c[781035]|0;a[ca>>0]=((_^15)&(d[ca>>0]|0)|_&k>>(ba<<2)&c[781036])&15}da=V+3|0}else da=Y;if($){$=f-U|0;if(((((c[L>>2]|0)<=(W|0)?(c[M>>2]|0)>(W|0):0)?(c[N>>2]|0)<=($|0):0)?(c[O>>2]|0)>($|0):0)?(Y=l>>($<<2&12^12)>>>(W&3^3)&1,P|(Y|0)==0):0){ba=(c[(c[Q>>2]|0)+($<<2)>>2]|0)+W|0;W=c[781035]|0;a[ba>>0]=((W^15)&(d[ba>>0]|0)|W&k>>(Y<<2)&c[781036])&15}ea=da+1|0}else ea=da;if(aa){aa=e-D|0;if(((((c[L>>2]|0)<=(aa|0)?(c[M>>2]|0)>(aa|0):0)?(c[N>>2]|0)<=(X|0):0)?(c[O>>2]|0)>(X|0):0)?(Y=l>>(X<<2&12^12)>>>(aa&3^3)&1,P|(Y|0)==0):0){W=(c[(c[Q>>2]|0)+(X<<2)>>2]|0)+aa|0;aa=c[781035]|0;a[W>>0]=((aa^15)&(d[W>>0]|0)|aa&k>>(Y<<2)&c[781036])&15}fa=ea+1|0}else fa=ea;Y=Nv(D|0,m|0,q|0,r|0)|0;aa=Hv(Y|0,G()|0,b|0,H|0)|0;Y=G()|0;do if((Y|0)>(t|0)|(Y|0)==(t|0)&aa>>>0>u>>>0?(W=Nv(U|0,h|0,o|0,p|0)|0,X=G()|0,ba=Hv(W|0,X|0,b|0,H|0)|0,$=G()|0,($|0)>(v|0)|($|0)==(v|0)&ba>>>0>y>>>0):0){ba=Iv(b|0,H|0,W|0,X|0)|0;X=G()|0;if((X|0)>(s|0)|(X|0)==(s|0)&ba>>>0>x>>>0){ba=Hv(U|0,h|0,-1,-1)|0;X=G()|0;W=Hv(T|0,E|0,A|0,B|0)|0;$=G()|0;_=Hv(W|0,$|0,b|0,H|0)|0;ga=X;ha=ba;ia=m;ja=D;ka=_;la=G()|0;ma=R;na=S;oa=W;pa=$;break}else{$=Hv(D|0,m|0,1,0)|0;W=G()|0;_=Hv(R|0,S|0,w|0,z|0)|0;ba=G()|0;X=Hv(_|0,ba|0,b|0,H|0)|0;ca=G()|0;Z=Hv(U|0,h|0,-1,-1)|0;qa=G()|0;ra=Hv(T|0,E|0,A|0,B|0)|0;sa=G()|0;ta=Hv(X|0,ca|0,ra|0,sa|0)|0;ga=qa;ha=Z;ia=W;ja=$;ka=ta;la=G()|0;ma=_;na=ba;oa=ra;pa=sa;break}}else ua=35;while(0);if((ua|0)==35){ua=0;aa=Hv(D|0,m|0,1,0)|0;Y=G()|0;sa=Hv(R|0,S|0,w|0,z|0)|0;ra=G()|0;ba=Hv(sa|0,ra|0,b|0,H|0)|0;ga=h;ha=U;ia=Y;ja=aa;ka=ba;la=G()|0;ma=sa;na=ra;oa=T;pa=E}if(((ga|0)>-1|(ga|0)==-1&ha>>>0>4294967295)&((ia|0)<(n|0)|(ia|0)==(n|0)&ja>>>0<=g>>>0)){b=ka;H=la;R=ma;S=na;T=oa;E=pa;D=ja;U=ha;h=ga;m=ia;V=fa}else{C=fa;break}}return C|0}function zk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if(((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,(k-p|0)<(c[a+36>>2]|0)):0){q=c[a+40>>2]|0;if((i|0)<(o|0)|((j|0)>=(n|0)|(p+k|0)>=(q|0))){r=0;return r|0}else s=q}else t=9;do if((t|0)==9)if((j|0)>=(n|0)|(i|0)<(o|0)){r=0;return r|0}else{s=c[a+40>>2]|0;break}while(0);if((h|0)>=(s|0)){r=0;return r|0}if((e|0)<(c[a+36>>2]|0)){r=0;return r|0}r=yk(a,b,k,l,m,f&1,d&1,g)|0;return r|0}d=0;f=h;while(1){h=(xk(a,j,i,f,g)|0)+d|0;if((f|0)<(e|0)){d=h;f=f+1|0}else{r=h;break}}return r|0}function Ak(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;j=((f|0)<0)<<31>>31;k=((e|0)<0)<<31>>31;l=Nv(e|0,k|0,e|0,k|0)|0;m=G()|0;n=Nv(f|0,j|0,f|0,j|0)|0;o=G()|0;p=Qv(l|0,m|0,2)|0;q=(e|0)%2|0;r=Hv(p|0,G()|0,q|0,((q|0)<0)<<31>>31|0)|0;q=Hv(n|0,o|0,r|0,G()|0)|0;r=Iv(0,0,q|0,G()|0)|0;q=G()|0;p=Qv(n|0,o|0,2)|0;s=(f|0)%2|0;t=Hv(p|0,G()|0,s|0,((s|0)<0)<<31>>31|0)|0;s=G()|0;p=Hv(l|0,m|0,t|0,s|0)|0;u=Iv(0,0,p|0,G()|0)|0;p=G()|0;v=Iv(0,0,t|0,s|0)|0;s=G()|0;t=Rv(n|0,o|0,1)|0;w=G()|0;x=Rv(l|0,m|0,1)|0;y=G()|0;z=c[781044]|0;A=(z|0)==0?1:2;if((f|e|0)<0){B=z;C=0}else{z=Nv(l|0,m|0,-2,-1)|0;D=Nv(z|0,G()|0,f|0,j|0)|0;z=G()|0;E=Iv(0,0,l|0,m|0)|0;F=Nv(E|0,G()|0,f|0,j|0)|0;E=g+b|0;g=((h|0)<0)<<31>>31;H=h+d|0;I=0;J=0;K=F;F=G()|0;L=f;M=j;j=0;N=0;O=D;D=z;z=0;while(1){P=z+8|0;Q=Nv(I|0,J|0,n|0,o|0)|0;R=Hv(Q|0,G()|0,K|0,F|0)|0;Q=G()|0;do if((Q|0)>(q|0)|(Q|0)==(q|0)&R>>>0>r>>>0?(S=Nv(L|0,M|0,l|0,m|0)|0,T=G()|0,U=Hv(S|0,T|0,K|0,F|0)|0,V=G()|0,(V|0)>(s|0)|(V|0)==(s|0)&U>>>0>v>>>0):0){U=Iv(K|0,F|0,S|0,T|0)|0;T=G()|0;S=b-I|0;V=E+I|0;W=(Qa[A&3](a,S,V,d-L|0,i)|0)+P|0;X=Hv(L|0,M|0,h|0,g|0)|0;Y=G()|0;Z=(Y|0)>0|(Y|0)==0&X>>>0>0;X=H+L|0;if((T|0)>(p|0)|(T|0)==(p|0)&U>>>0>u>>>0){if(Z)_=(Qa[A&3](a,S,V,X,i)|0)+W|0;else _=W;U=Hv(L|0,M|0,-1,-1)|0;T=G()|0;Y=Hv(O|0,D|0,x|0,y|0)|0;$=G()|0;aa=Hv(K|0,F|0,Y|0,$|0)|0;ba=T;ca=J;da=I;ea=j;fa=N;ga=Y;ha=$;ia=aa;ja=G()|0;ka=U;la=_;break}else{if(Z)ma=(Qa[A&3](a,S,V,X,i)|0)+W|0;else ma=W;W=Hv(I|0,J|0,1,0)|0;X=G()|0;V=Hv(j|0,N|0,t|0,w|0)|0;S=G()|0;Z=Hv(K|0,F|0,V|0,S|0)|0;U=G()|0;aa=Hv(L|0,M|0,-1,-1)|0;$=G()|0;Y=Hv(O|0,D|0,x|0,y|0)|0;T=G()|0;na=Hv(Z|0,U|0,Y|0,T|0)|0;ba=$;ca=X;da=W;ea=V;fa=S;ga=Y;ha=T;ia=na;ja=G()|0;ka=aa;la=ma;break}}else oa=5;while(0);if((oa|0)==5){oa=0;R=Hv(I|0,J|0,1,0)|0;Q=G()|0;aa=Hv(j|0,N|0,t|0,w|0)|0;na=G()|0;T=Hv(K|0,F|0,aa|0,na|0)|0;ba=M;ca=Q;da=R;ea=aa;fa=na;ga=O;ha=D;ia=T;ja=G()|0;ka=L;la=P}if((ba|0)<0|((ca|0)>(k|0)|(ca|0)==(k|0)&da>>>0>e>>>0))break;else{I=da;J=ca;K=ia;F=ja;L=ka;M=ba;j=ea;N=fa;O=ga;D=ha;z=la}}B=c[781044]|0;C=la}if(!B){pa=C;return pa|0}B=d-f|0;la=B+-1|0;z=(B|0)<0;B=z?-1:la;ha=0;D=z?la:-1;while(1){ha=(xk(a,0,127,D,i)|0)+ha|0;if((D|0)>=(B|0))break;else D=D+1|0}D=h+d+1+f|0;f=(D|0)>128;d=f?D:128;h=0;B=f?128:D;while(1){h=(xk(a,0,127,B,i)|0)+h|0;if((B|0)>=(d|0))break;else B=B+1|0}pa=ha+C+h|0;return pa|0}function Bk(a,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=(d|0)<(b|0);h=xk(a,(c[a+28>>2]|0)+-1|0,(g?d:b)+-1|0,e,f)|0;return (xk(a,(g?b:d)+1|0,(c[a+32>>2]|0)+1|0,e,f)|0)+h|0}function Ck(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(d|0)<(b|0);h=g?b:d;i=g?d:b;b=(e|0)<(c|0);d=b?c:e;g=0;j=b?e:c;while(1){g=(xk(a,i,h,j,f)|0)+g|0;if((j|0)>=(d|0))break;else j=j+1|0}return g|0}function Dk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=B(d,d)|0;j=B(e,e)|0;k=0-(j+(((d|0)%2|0)+(i>>>2)))|0;l=(j>>>2)+((e|0)%2|0)|0;m=0-(i+l)|0;n=0-l|0;l=j<<1;o=i<<1;if((e|d|0)<0)p=0;else{q=f+b|0;r=g+c|0;s=0;t=0;u=B(B(i,-2)|0,e)|0;v=B(0-i|0,e)|0;w=0;x=e;while(1){y=s+8|0;do if(((B(w,j)|0)+v|0)>(k|0)?(z=B(x,i)|0,(z+v|0)>(n|0)):0){A=b-w|0;C=q+w|0;D=(xk(a,A,C,c-x|0,h)|0)+y|0;if((v-z|0)<=(m|0)){z=t+l|0;E=u+o|0;F=(xk(a,A,C,r+x|0,h)|0)+D|0;G=z;H=E;I=z+v+E|0;J=w+1|0;K=x+-1|0;break}if(!x)L=D;else L=(xk(a,A,C,r+x|0,h)|0)+D|0;D=u+o|0;F=L;G=t;H=D;I=D+v|0;J=w;K=x+-1|0}else M=5;while(0);if((M|0)==5){M=0;D=t+l|0;F=y;G=D;H=u;I=D+v|0;J=w+1|0;K=x}if((K|0)<0|(J|0)>(d|0)){p=F;break}else{s=F;t=G;u=H;v=I;w=J;x=K}}}if(!g)N=p;else N=(xk(a,b-d|0,d+b+f|0,c+1|0,h)|0)+p|0;if(e|0){O=N;return O|0}O=(xk(a,b-d|0,d+b|0,c,h)|0)+N|0;return O|0}function Ek(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if((((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(k-p|0)<(q|0)):0)?(r=c[a+40>>2]|0,(p+k|0)>=(r|0)):0){if(c[781044]|0){s=0;return s|0}p=c[742782]|0;t=(n|0)<(o|0);u=t?o:n;v=t?n:o;t=(r|0)<(q|0);w=t?q:r;x=0;y=t?r:q;while(1){q=(xk(p,v,u,y,g)|0)+x|0;if((y|0)<(w|0)){x=q;y=y+1|0}else{s=q;break}}return s|0}if((!((j|0)>=(n|0)|(i|0)<(o|0))?(h|0)<(c[a+40>>2]|0):0)?(e|0)>=(c[a+36>>2]|0):0){if((f|0)<128?(d|0)<128&(c[781044]|0)==0:0){s=Dk(a,b,k,l,m,f&1,d&1,g)|0;return s|0}s=Ak(a,b,k,l,m,f&1,d&1,g)|0;return s|0}if(!(c[781044]|0)){s=0;return s|0}d=c[742782]|0;f=c[a+36>>2]|0;m=c[a+40>>2]|0;l=(n|0)<(o|0);k=l?o:n;b=l?n:o;o=(m|0)<(f|0);n=o?f:m;l=0;y=o?m:f;while(1){f=(xk(d,b,k,y,g)|0)+l|0;if((y|0)<(n|0)){l=f;y=y+1|0}else{s=f;break}}return s|0}if(!(c[781044]|0)){y=0;l=h;while(1){n=(xk(a,j,i,l,g)|0)+y|0;if((l|0)<(e|0)){y=n;l=l+1|0}else{s=n;break}}return s|0}l=c[742782]|0;y=h+-1|0;a=(h|0)<0;n=a?-1:y;k=0;b=a?y:-1;while(1){k=(xk(l,-1,128,b,g)|0)+k|0;if((b|0)>=(n|0))break;else b=b+1|0}b=c[742782]|0;n=e+1|0;l=(e|0)>127;y=l?n:128;a=0;d=l?128:n;while(1){a=(xk(b,-1,128,d,g)|0)+a|0;if((d|0)>=(y|0))break;else d=d+1|0}d=c[742782]|0;y=j+-1|0;b=(j|0)<0;j=b?-1:y;n=b?y:-1;y=0;b=h;while(1){y=(xk(d,n,j,b,g)|0)+y|0;if((b|0)>=(e|0))break;else b=b+1|0}b=a+k|0;k=c[742782]|0;a=i+1|0;j=(i|0)>127;i=j?a:128;n=j?128:a;a=0;j=h;while(1){a=(xk(k,n,i,j,g)|0)+a|0;if((j|0)>=(e|0))break;else j=j+1|0}s=b+y+a|0;return s|0}function Fk(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;j=(e|0)<(b|0);k=j?b:e;l=j?e:b;b=(f|0)<(d|0);e=b?d:f;j=b?f:d;d=e-j|0;if((d|0)>=2?(f=k-l|0,(f|0)>=2):0){if((l|0)>=(c[a+32>>2]|0)){m=0;return m|0}if((k+g|0)<(c[a+28>>2]|0)){m=0;return m|0}if((j|0)>=(c[a+40>>2]|0)){m=0;return m|0}if((e+h|0)<(c[a+36>>2]|0)){m=0;return m|0}m=yk(a,k+l>>1,e+j>>1,f>>>1,d>>>1,g,h,i)|0;return m|0}h=0;g=j;while(1){j=(xk(a,l,k,g,i)|0)+h<<1;if((g|0)<(e|0)){h=j;g=g+1|0}else{m=j;break}}return m|0}function Gk(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=f-d|0;if((j|0)>=2?(k=e-b|0,(k|0)>=2):0){l=e+b>>1;m=f+d>>1;n=k>>>1;o=j>>>1;j=c[a+32>>2]|0;p=c[a+28>>2]|0;if((((k|0)>(j-p|0)?(k=((n*7|0)>>>0)/10|0,!((k+l|0)<(j|0)|(l-k|0)>=(p|0))):0)?(k=((o*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(m-k|0)<(q|0)):0)?(r=c[a+40>>2]|0,(k+m|0)>=(r|0)):0){if(c[781044]|0){s=0;return s|0}k=(j|0)<(p|0);t=k?p:j;u=k?j:p;k=(r|0)<(q|0);v=k?q:r;w=0;x=k?r:q;while(1){q=(xk(a,u,t,x,i)|0)+w|0;if((x|0)<(v|0)){w=q;x=x+1|0}else{s=q;break}}return s|0}if(!(c[781044]|0)){if((j|0)<=(b|0)|(g+e|0)<(p|0)){s=0;return s|0}if((c[a+40>>2]|0)<=(d|0)){s=0;return s|0}if((h+f|0)<(c[a+36>>2]|0)){s=0;return s|0}}s=Ak(a,l,m,n,o,g,h,i)|0;return s|0}if((f|0)<(d|0)){s=0;return s|0}h=0;g=d;while(1){d=(xk(a,b,e,g,i)|0)+h<<1;if((g|0)<(f|0)){h=d;g=g+1|0}else{s=d;break}}return s|0}function Hk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ia;Ia=Ia+128|0;j=i+64|0;k=i;l=k;m=1920;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=k;m=1984;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){m=c[l+(n<<2)>>2]|0;h=d;while(1){o=j+(c[2048+((a[m+h>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((h|0)<(f|0))h=h+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;h=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;m=(l|0)<0?0-l|0:l;l=(m|0)<(h|0);o=l?m:h;h=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;m=(h|0)<0?0-h|0:h;h=(m|0)<(o|0);p=h?m:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;m=(o|0)<0?0-o|0:o;o=(m|0)<(p|0);q=o?m:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;m=(p|0)<0?0-p|0:p;p=(m|0)<(q|0);r=p?m:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;m=(q|0)<0?0-q|0:q;q=(m|0)<(r|0);s=q?m:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;m=(r|0)<0?0-r|0:r;r=(m|0)<(s|0);t=r?m:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;m=(s|0)<0?0-s|0:s;s=(m|0)<(t|0);u=s?m:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;m=(t|0)<0?0-t|0:t;t=(m|0)<(u|0);v=t?m:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;m=(u|0)<0?0-u|0:u;u=(m|0)<(v|0);w=u?m:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;m=(v|0)<0?0-v|0:v;v=(m|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:h?4:l?3:2;l=v?m:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;m=(w|0)<0?0-w|0:w;w=(x|0)==-1|(m|0)<(l|0);v=w?13:x;x=w?m:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;m=(l|0)<0?0-l|0:l;l=(v|0)==-1|(m|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?m:x)|0))?15:w;if(!(qo(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Ia=i;return}n=b+16|0;if((d|0)>(f|0)){Ia=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Ia=i;return}function Ik(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0;j=c[781038]|0;k=(h|0)<(f|0);l=k?f:h;m=k?e:g;n=k?h:f;f=k?g:e;e=m-f|0;g=((e|0)<0)<<31>>31;k=l-n|0;h=((k|0)<0)<<31>>31;o=(g|0)<0;p=Iv(0,0,e|0,g|0)|0;q=G()|0;r=o?p:e;p=o?q:g;q=(h|0)<0;o=Iv(0,0,k|0,h|0)|0;s=G()|0;t=q?o:k;o=q?s:h;s=(p|0)>(o|0)|(p|0)==(o|0)&r>>>0>t>>>0;o=s?r:t;t=((o|0)<0)<<31>>31;if((o|0)>0){r=Rv(k|0,h|0,16)|0;s=G()|0;p=Rv(e|0,g|0,16)|0;q=Lv(p|0,G()|0,o|0,t|0)|0;p=G()|0;u=Lv(r|0,s|0,o|0,t|0)|0;v=u;w=G()|0;x=q;y=p}else{v=k;w=h;x=e;y=g}g=c[b+36>>2]|0;if((l|0)<(g|0)){z=0;return z|0}e=c[b+40>>2]|0;if((n|0)>=(e|0)){z=0;return z|0}h=c[b+28>>2]|0;k=(f|0)<(h|0);p=(m|0)<(h|0);if(k&p){z=0;return z|0}q=c[b+32>>2]|0;u=(f|0)<(q|0);s=(m|0)<(q|0);if(!(u|s)){z=0;return z|0}m=f<<16|32768;f=((m|0)<0)<<31>>31;r=n<<16|32768;A=((r|0)<0)<<31>>31;if((n|0)<(g|0)){n=g<<16;g=Iv(n|0,((n|0)<0)<<31>>31|0,r|0,A|0)|0;n=Rv(g|0,G()|0,16)|0;g=Lv(n|0,G()|0,v|0,w|0)|0;n=Pv(g|0,G()|0,16)|0;g=Hv(n|0,G()|0,1,0)|0;n=G()|0;C=(n|0)>0|(n|0)==0&g>>>0>0;n=C?g:0;D=n}else D=0;if((l|0)<(e|0))E=o;else{l=e<<16;e=Iv(l|0,((l|0)<0)<<31>>31|0,r|0,A|0)|0;A=Rv(e|0,G()|0,16)|0;e=Hv(A|0,G()|0,-65536,-1)|0;A=Lv(e|0,G()|0,v|0,w|0)|0;w=Pv(A|0,G()|0,16)|0;A=G()|0;e=(A|0)>(t|0)|(A|0)==(t|0)&w>>>0>o>>>0;t=e?o:w;E=t}if(k){k=h<<16;t=Iv(k|0,((k|0)<0)<<31>>31|0,m|0,f|0)|0;k=Rv(t|0,G()|0,16)|0;t=Lv(k|0,G()|0,x|0,y|0)|0;k=Pv(t|0,G()|0,16)|0;t=Hv(k|0,G()|0,1,0)|0;k=G()|0;w=((D|0)<0)<<31>>31;o=(k|0)<(w|0)|(k|0)==(w|0)&t>>>0<D>>>0;w=o?D:t;F=w}else F=D;if(u)H=F;else{u=q<<16;D=Iv(m|0,f|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Rv(D|0,G()|0,16)|0;D=G()|0;w=Iv(0,0,x|0,y|0)|0;t=Lv(u|0,D|0,w|0,G()|0)|0;w=Pv(t|0,G()|0,16)|0;t=Hv(w|0,G()|0,1,0)|0;w=G()|0;D=((F|0)<0)<<31>>31;u=(w|0)<(D|0)|(w|0)==(D|0)&t>>>0<F>>>0;D=u?F:t;H=D}if(p){p=h<<16;h=Iv(m|0,f|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Rv(h|0,G()|0,16)|0;h=Hv(p|0,G()|0,-65536,-1)|0;p=G()|0;D=Iv(0,0,x|0,y|0)|0;t=Lv(h|0,p|0,D|0,G()|0)|0;D=Pv(t|0,G()|0,16)|0;t=G()|0;p=((E|0)<0)<<31>>31;h=(t|0)>(p|0)|(t|0)==(p|0)&D>>>0>E>>>0;p=h?E:D;I=p}else I=E;if(s)J=I;else{s=q<<16;q=Iv(s|0,((s|0)<0)<<31>>31|0,m|0,f|0)|0;f=Rv(q|0,G()|0,16)|0;q=Hv(f|0,G()|0,-65536,-1)|0;f=Lv(q|0,G()|0,x|0,y|0)|0;y=Pv(f|0,G()|0,16)|0;f=G()|0;q=((I|0)<0)<<31>>31;s=(f|0)>(q|0)|(f|0)==(q|0)&y>>>0>I>>>0;q=s?I:y;J=q}q=J-H|0;J=q+1|0;y=(B(H,x)|0)+m|0;m=(B(H,v)|0)+r|0;if((q|0)<=-1){z=J;return z|0}r=b+16|0;if(!(j&65536)){b=q;H=y;I=m;while(1){s=H>>16;f=I>>16;E=(c[(c[r>>2]|0)+(f<<2)>>2]|0)+s|0;p=c[781035]|0;a[E>>0]=((p^15)&(d[E>>0]|0)|p&i>>(j>>(f<<2&12^12)>>>(s&3^3)<<2&4)&c[781036])&15;if((b|0)>0){b=b+-1|0;H=H+x|0;I=I+v|0}else{z=J;break}}return z|0}I=q;q=y;y=m;while(1){m=q>>16;H=y>>16;if(!(j>>(H<<2&12^12)&1<<(m&3^3))){b=(c[(c[r>>2]|0)+(H<<2)>>2]|0)+m|0;m=c[781035]|0;a[b>>0]=((m^15)&(d[b>>0]|0)|m&i&c[781036])&15}if((I|0)>0){I=I+-1|0;q=q+x|0;y=y+v|0}else{z=J;break}}return z|0}function Jk(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,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;o=c[781999]|0;p=c[o+8>>2]|0;q=($k(2971096,o,24376)|0)+255&255;o=($k(2971096,c[781999]|0,24377)|0)+255&255;r=$k(2971096,c[781999]|0,24378)|0;s=$k(2971096,c[781999]|0,24379)|0;t=(a[3152374]<<4&255)<<24>>24>>7<<24>>24;u=e>>16;e=f>>16;f=g>>16;g=h>>16;h=f-u|0;v=((h|0)<0)<<31>>31;w=g-e|0;x=((w|0)<0)<<31>>31;y=(v|0)<0;z=Iv(0,0,h|0,v|0)|0;A=G()|0;C=y?z:h;D=y?A:v;y=(x|0)<0;E=Iv(0,0,w|0,x|0)|0;F=G()|0;H=y?E:w;I=y?F:x;y=(D|0)>(I|0)|(D|0)==(I|0)&C>>>0>H>>>0;I=y?C:H;H=(g|0)<(e|0);C=B(I,k)|0;y=B(I,l)|0;D=H?E:w;w=H?F:x;x=H?z:h;h=H?A:v;v=H?0-l|0:l;l=H?0-k|0:k;k=H?e:g;A=H?u:f;z=H?g:e;e=H?f:u;u=((I|0)<0)<<31>>31;if((I|0)>0){f=Rv(D|0,w|0,16)|0;g=G()|0;F=Rv(x|0,h|0,16)|0;E=Lv(F|0,G()|0,I|0,u|0)|0;F=G()|0;J=Lv(f|0,g|0,I|0,u|0)|0;K=J;L=G()|0;M=E;N=F}else{K=D;L=w;M=x;N=h}h=c[b+36>>2]|0;if((k|0)<(h|0)){O=0;return O|0}x=c[b+40>>2]|0;if((z|0)>=(x|0)){O=0;return O|0}w=c[b+28>>2]|0;D=(e|0)<(w|0);F=(A|0)<(w|0);if(D&F){O=0;return O|0}E=c[b+32>>2]|0;J=(e|0)<(E|0);g=(A|0)<(E|0);if(!(J|g)){O=0;return O|0}A=e<<16|32768;e=((A|0)<0)<<31>>31;f=z<<16|32768;P=((f|0)<0)<<31>>31;if((z|0)<(h|0)){z=h<<16;h=Iv(z|0,((z|0)<0)<<31>>31|0,f|0,P|0)|0;z=Rv(h|0,G()|0,16)|0;h=Lv(z|0,G()|0,K|0,L|0)|0;z=Pv(h|0,G()|0,16)|0;h=Hv(z|0,G()|0,1,0)|0;z=G()|0;Q=(z|0)>0|(z|0)==0&h>>>0>0;z=Q?h:0;R=z}else R=0;if((k|0)<(x|0))S=I;else{k=x<<16;x=Iv(k|0,((k|0)<0)<<31>>31|0,f|0,P|0)|0;k=Rv(x|0,G()|0,16)|0;x=Hv(k|0,G()|0,-65536,-1)|0;k=Lv(x|0,G()|0,K|0,L|0)|0;x=Pv(k|0,G()|0,16)|0;k=G()|0;z=(k|0)>(u|0)|(k|0)==(u|0)&x>>>0>I>>>0;u=z?I:x;S=u}if(D){D=w<<16;u=Iv(D|0,((D|0)<0)<<31>>31|0,A|0,e|0)|0;D=Rv(u|0,G()|0,16)|0;u=Lv(D|0,G()|0,M|0,N|0)|0;D=Pv(u|0,G()|0,16)|0;u=Hv(D|0,G()|0,1,0)|0;D=G()|0;x=((R|0)<0)<<31>>31;I=(D|0)<(x|0)|(D|0)==(x|0)&u>>>0<R>>>0;x=I?R:u;T=x}else T=R;if(J)U=T;else{J=E<<16;R=Iv(A|0,e|0,J|0,((J|0)<0)<<31>>31|0)|0;J=Rv(R|0,G()|0,16)|0;R=G()|0;x=Iv(0,0,M|0,N|0)|0;u=Lv(J|0,R|0,x|0,G()|0)|0;x=Pv(u|0,G()|0,16)|0;u=Hv(x|0,G()|0,1,0)|0;x=G()|0;R=((T|0)<0)<<31>>31;J=(x|0)<(R|0)|(x|0)==(R|0)&u>>>0<T>>>0;R=J?T:u;U=R}if(F){F=w<<16;w=Iv(A|0,e|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Rv(w|0,G()|0,16)|0;w=Hv(F|0,G()|0,-65536,-1)|0;F=G()|0;R=Iv(0,0,M|0,N|0)|0;u=Lv(w|0,F|0,R|0,G()|0)|0;R=Pv(u|0,G()|0,16)|0;u=G()|0;F=((S|0)<0)<<31>>31;w=(u|0)>(F|0)|(u|0)==(F|0)&R>>>0>S>>>0;F=w?S:R;V=F}else V=S;if(g)W=V;else{g=E<<16;E=Iv(g|0,((g|0)<0)<<31>>31|0,A|0,e|0)|0;g=Rv(E|0,G()|0,16)|0;E=Hv(g|0,G()|0,-65536,-1)|0;g=Lv(E|0,G()|0,M|0,N|0)|0;E=Pv(g|0,G()|0,16)|0;g=G()|0;S=((V|0)<0)<<31>>31;F=(g|0)>(S|0)|(g|0)==(S|0)&E>>>0>V>>>0;S=F?V:E;W=S}S=((U|0)<0)<<31>>31;E=Nv(M|0,N|0,U|0,S|0)|0;V=Hv(E|0,G()|0,A|0,e|0)|0;e=G()|0;A=Nv(K|0,L|0,U|0,S|0)|0;S=Hv(A|0,G()|0,f|0,P|0)|0;P=G()|0;f=(H?C:0)+i+(B(U,l)|0)|0;i=(H?y:0)+j+(B(U,v)|0)|0;j=W-U|0;U=j+1|0;W=(n|0)<0?13:n;n=W+3|0;if(!(c[781038]&131072)){if((j|0)<=-1){O=U;return O|0}y=b+16|0;if(!m){H=S;C=P;A=V;E=e;F=f;g=i;R=j;while(1){w=Ih((F>>n&q)+r|0,(g>>n&o)+s|0)|0;if((w|0)!=(t|0)?(u=(w|0)/16|0,T=c[3123880+(((ao(p,w-(u<<4)<<3|F>>W&7,u<<3|g>>W&7)|0)&15)<<2)>>2]|0,(T&16|0)==0):0){u=c[y>>2]|0;w=Qv(H|0,C|0,16)|0;G()|0;J=c[u+(w<<2)>>2]|0;w=Qv(A|0,E|0,16)|0;G()|0;u=J+w|0;w=c[781035]|0;a[u>>0]=((w^15)&(d[u>>0]|0)|w&T&c[781036])&15}A=Hv(A|0,E|0,M|0,N|0)|0;E=G()|0;H=Hv(H|0,C|0,K|0,L|0)|0;C=G()|0;if((R|0)<=0){O=U;break}else{F=F+l|0;g=g+v|0;R=R+-1|0}}return O|0}R=S;g=P;P=V;F=e;e=f;C=i;H=j;while(1){E=Ih((e>>n&q)+r|0,(C>>n&o)+s|0)|0;if(((E|0)!=(t|0)?c[(c[781999]|0)+44832+(E<<2)>>2]&m|0:0)?(A=(E|0)/16|0,T=c[3123880+(((ao(p,E-(A<<4)<<3|e>>W&7,A<<3|C>>W&7)|0)&15)<<2)>>2]|0,(T&16|0)==0):0){A=c[y>>2]|0;E=Qv(R|0,g|0,16)|0;G()|0;w=c[A+(E<<2)>>2]|0;E=Qv(P|0,F|0,16)|0;G()|0;A=w+E|0;E=c[781035]|0;a[A>>0]=((E^15)&(d[A>>0]|0)|E&T&c[781036])&15}P=Hv(P|0,F|0,M|0,N|0)|0;F=G()|0;R=Hv(R|0,g|0,K|0,L|0)|0;g=G()|0;if((H|0)<=0){O=U;break}else{e=e+l|0;C=C+v|0;H=H+-1|0}}return O|0}if((j|0)<=-1){O=U;return O|0}H=b+16|0;if(!m){b=f;C=i;e=j;g=V;L=S;while(1){R=Ih((b>>n&q)+r|0,(C>>n&o)+s|0)|0;if(((R|0)!=(t|0)?(F=(R|0)/16|0,N=(ao(p,R-(F<<4)<<3|b>>W&7,F<<3|C>>W&7)|0)&15,(c[3123880+(N<<2)>>2]&16|0)==0):0)?(F=g>>16,R=L>>16,P=c[781038]|0,y=P>>(R<<2&12^12)>>>(F&3^3)&1,(P&65536|0)==0|(y|0)==0):0){P=(c[(c[H>>2]|0)+(R<<2)>>2]|0)+F|0;F=c[781035]|0;a[P>>0]=((F^15)&(d[P>>0]|0)|F&c[3124008+(N<<2)>>2]>>(y<<2)&c[781036])&15}if((e|0)>0){b=b+l|0;C=C+v|0;e=e+-1|0;g=g+M|0;L=L+K|0}else{O=U;break}}return O|0}L=f;f=i;i=j;j=V;V=S;while(1){S=Ih((L>>n&q)+r|0,(f>>n&o)+s|0)|0;if((((S|0)!=(t|0)?c[(c[781999]|0)+44832+(S<<2)>>2]&m|0:0)?(g=(S|0)/16|0,e=(ao(p,S-(g<<4)<<3|L>>W&7,g<<3|f>>W&7)|0)&15,(c[3123880+(e<<2)>>2]&16|0)==0):0)?(g=j>>16,S=V>>16,C=c[781038]|0,b=C>>(S<<2&12^12)>>>(g&3^3)&1,(C&65536|0)==0|(b|0)==0):0){C=(c[(c[H>>2]|0)+(S<<2)>>2]|0)+g|0;g=c[781035]|0;a[C>>0]=((g^15)&(d[C>>0]|0)|g&c[3124008+(e<<2)>>2]>>(b<<2)&c[781036])&15}if((i|0)>0){L=L+l|0;f=f+v|0;i=i+-1|0;j=j+M|0;V=V+K|0}else{O=U;break}}return O|0}function Kk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[781038]|0;if((c[b+28>>2]|0)>(e|0))return 0;if((c[b+32>>2]|0)<=(e|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(3-e&3);i=((h&256|0)==0?j:l)<<8|((h&4096|0)==0?j:l)|((h&16|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(g|0)<(f|0);j=l?f:g;h=l?g:f;f=c[b+36>>2]|0;g=(h|0)<(f|0)?f:h;h=c[b+40>>2]|0;f=(j|0)<(h|0)?j:h+-1|0;if((g|0)>=(h|0))return 0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+e|0;e=(g|0)>(f|0);if(!k){if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}k=h;b=g;while(1){j=c[781035]|0;a[k>>0]=((j^15)&(d[k>>0]|0)|j&i>>>(b<<3&24)&c[781036])&15;if((b|0)<(f|0)){k=k+128|0;b=b+1|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}b=h;h=g;while(1){k=i>>>(h<<3&24);if(!(k&16)){j=c[781035]|0;a[b>>0]=((j^15)&(d[b>>0]|0)|j&k&c[781036])&15}if((h|0)<(f|0)){b=b+128|0;h=h+1|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}function Lk(){Xn(c[(c[781999]|0)+4>>2]|0);Xn(c[742782]|0);Qn(c[742782]|0,c[781018]|0,c[781019]|0,c[781020]|0,c[781021]|0);return}function Mk(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;f=c[2971132+(b<<2)>>2]|0;g=b<<13;h=g+32768|0;i=a[3152406]|0;j=i<<24>>24<0&((i&255)<<8|0)<(g+40960|0)?0:e;e=3193536+(b<<2)|0;b=c[e>>2]|0;if((b|0)==0&(j|0)!=0){g=0;i=c[f+12>>2]|0;k=3128e3+h|0;while(1){a[i>>0]=a[k>>0]&15;a[i+1>>0]=(d[k>>0]|0)>>>4;g=g+1|0;if((g|0)==8192)break;else{i=i+2|0;k=k+1|0}}l=c[e>>2]|0}else l=b;if((j|0)==0&(l|0)!=0){b=3128e3+h|0;h=0;k=c[f+12>>2]|0;while(1){a[b>>0]=a[k+1>>0]<<4|a[k>>0]&15;h=h+1|0;if((h|0)==8192)break;else{b=b+1|0;k=k+2|0}}m=c[e>>2]|0}else m=l;if((m|0)==(j|0))return j|0;c[e>>2]=j;al();jh(1024);return j|0}function Nk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=(b|0)<3?b:3;b=(d|0)>0?d:0;c[798931]=b;d=a[3152404]|0;e=d&255;f=c[(c[781999]|0)+4>>2]|0;switch(d<<24>>24){case 0:{g=f;break}case 96:{g=c[2971148+(b<<2)>>2]|0;break}default:if(d<<24>>24<0&(e&224|0)==(e|0)?(d=e+-128>>5,(Mk(d,1)|0)!=0):0)g=c[2971132+(d<<2)>>2]|0;else g=f}f=c[781999]|0;c[f+8>>2]=g;g=a[3152405]|0;d=g&255;e=c[2971148+(c[798931]<<2)>>2]|0;switch(g<<24>>24){case 0:{h=c[f+4>>2]|0;break}case 96:{h=e;break}default:if(g<<24>>24<0&(d&224|0)==(d|0)?(g=d+-128>>5,(Mk(g,1)|0)!=0):0)h=c[2971132+(g<<2)>>2]|0;else h=e}c[742782]=h;Xn(c[(c[781999]|0)+4>>2]|0);Xn(c[742782]|0);Qn(c[742782]|0,c[781018]|0,c[781019]|0,c[781020]|0,c[781021]|0);return}function Ok(){var a=0,b=0;if(c[535871]|0)return 1;a=c[742765]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function Pk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){Gp(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=h;h=f;f=0;while(1){if((h|0)>0){i=0;do{k=ao(a,i,f)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=1e7;o=-1;p=0;while(1){q=c[3123944+(p<<2)>>2]&143;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(o|0)==-1|(q|0)<(k|0);o=s?p:o;p=p+1|0;if((p|0)==16)break;else k=s?q:k}Un(b,i,f,o);i=i+1|0;u=c[a>>2]|0}while((i|0)<(u|0));v=c[g>>2]|0;w=u}else{v=j;w=h}f=f+1|0;if((f|0)>=(v|0))break;else{j=v;h=w}}return}function Qk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Gp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=i;p=g;q=0;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(q<<2)>>2]|0;s=c[(c[n>>2]|0)+(q<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=o;y=p}q=q+1|0;if((q|0)>=(x|0))break;else{o=x;p=y}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=e+16|0;e=C;C=A;A=0;z=0;g=0;while(1){if((e|0)>0){i=A;k=z;y=0;while(1){x=ao(b,y,g)|0;j=i;i=x&-50529028;if((i|0)==(j|0))D=k;else{j=x>>>16&252;p=x>>>8&252;o=x&252;x=1e7;q=-1;w=0;while(1){n=w>>>0<16?w:w+112|0;m=j-(d[f+(n*3|0)>>0]|0)|0;t=B(m,m)|0;m=p-(d[f+(n*3|0)+1>>0]|0)|0;s=(B(m,m)|0)+t|0;t=o-(d[f+(n*3|0)+2>>0]|0)|0;m=s+(B(t,t)|0)|0;t=(q|0)==-1|(m|0)<(x|0);s=t?n:q;w=w+1|0;if((w|0)==32){D=s;break}else{x=t?m:x;q=s}}}a[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+y>>0]=D;y=y+1|0;E=c[b>>2]|0;if((y|0)>=(E|0))break;else k=D}F=c[h>>2]|0;G=E;H=i;I=D}else{F=C;G=e;H=A;I=z}g=g+1|0;if((g|0)>=(F|0))break;else{e=G;C=F;A=H;z=I}}return}function Rk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=Ia;Ia=Ia+256|0;j=i+128|0;k=i;l=h&1;m=b+112|0;if(!(c[m>>2]|0)){n=c[781023]|0;c[b+96>>2]=n;o=c[781024]|0;c[b+100>>2]=o;p=b+68|0;if((c[p>>2]|0)==0?(c[b+60>>2]|0)==0:0)q=g;else q=g<<1;if((c[b+20>>2]|0)!=0?(n|0)>((c[b+24>>2]|0)-f|0):0){c[781023]=c[b+28>>2];n=b+48|0;r=c[n>>2]|0;if(!r)s=c[b+92>>2]|0;else s=r;r=s+o|0;c[781024]=r;c[n>>2]=0;t=r}else t=o;o=128-q-(c[b+124>>2]|0)+(c[781031]|0)|0;if((c[b+16>>2]|0)!=0&(t|0)>(o|0)){$a(t-o|0);u=p}else u=p}else u=b+68|0;p=c[3123880+((c[b+36>>2]&15)<<2)>>2]&15;o=c[3123880+((c[b+40>>2]&15)<<2)>>2]&15;t=b+136|0;q=c[3123880+((c[t>>2]&15)<<2)>>2]&15;if(!(c[u>>2]|0)){u=c[b+56>>2]|0;r=(u|0)!=0;n=r?2:1;s=c[b+60>>2]|0;v=(s|0)!=0;w=v?2:1;if((u|0)!=0?(c[b+64>>2]|0)!=0:0)x=(s|0)==0?1444224:1445248;else x=1445248;if(!s){y=n;z=w;A=x;C=0;D=v;E=r}else{y=n;z=w;A=x;C=(c[b+64>>2]|0)!=0;D=1;E=r}}else{y=2;z=2;A=1444224;C=1;D=1;E=1}r=0-l|0;x=y&r;w=z&r;r=((c[b+120>>2]|0)-(c[781030]|0)<<16>>16)+(c[781023]|0)|0;n=r-x|0;v=(c[781024]|0)+(h<<28>>31)+((c[b+124>>2]|0)-(c[781031]|0)<<16>>16)|0;h=v-w|0;s=(B(y,(f|0)<8?f:8)|0)+x|0;x=B(z,(g|0)<8?g:8)|0;u=x+w|0;w=B(y,f)|0;y=B(z,g)|0;if(c[b+76>>2]|0){z=c[b+44>>2]|0;F=r+w|0;r=F+-1|0;G=v+y|0;H=G+-1|0;I=(F|0)<=(n|0);F=I?n:r;J=I?r:n;r=(G|0)<=(h|0);G=r?h:H;I=r?H:h;while(1){xk(z,J,F,I,o)|0;if((I|0)<(G|0))I=I+1|0;else break}}I=(c[b+80>>2]|0)==0?0:(1<<s)+-1|0;c[j>>2]=I;if(!(c[554385]|0)){G=0;do{o=G&1;F=o<<1;J=G&2;z=J<<2;H=G&4;r=H<<3;K=G&8;L=K<<4;M=G&16;N=M<<5;O=G&32;P=O<<6;Q=G&64;R=Q<<7;S=G&128;T=S<<8;c[1445248+(G<<2)>>2]=T|o|S<<7|R|Q<<6|P|O<<5|N|M<<4|L|K<<3|r|H<<2|F|z|J<<1;c[1444224+(G<<2)>>2]=F|z|r|L|N|P|R|T;G=G+1|0}while((G|0)!=256);c[554385]=1}G=(g|0)>0;if(E){if(G){E=l<<1;T=0;do{c[j+(T+l<<2)>>2]=c[A+(d[e+T>>0]<<2)>>2]<<E^I;T=T+1|0}while((T|0)!=(g|0))}}else if(G){G=0;do{c[j+(G+l<<2)>>2]=d[e+G>>0]<<l^I;G=G+1|0}while((G|0)!=(g|0))}if(D?(D=(u|0)>1,D):0){g=u;do{G=g;g=g+-1|0;c[j+(g<<2)>>2]=c[j+(g>>1<<2)>>2]}while((G|0)>2);if(C&D){D=1;do{c[j+(D<<2)>>2]=I;D=D+2|0}while((D|0)<(u|0))}}D=b+132|0;I=c[D>>2]|0;if(!I)U=0;else{C=k;g=C+128|0;do{c[C>>2]=0;C=C+4|0}while((C|0)<(g|0));C=(u|0)>0;if(C){if(I&1|0?(c[k>>2]=c[j>>2],(u|0)>1):0){g=1;do{c[k+(g<<2)>>2]=c[k+(g<<2)>>2]|c[j+(g<<2)>>2];g=g+1|0}while((g|0)<(u|0))}if(I&2|0){g=0;do{G=k+(g<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<1;g=g+1|0}while((g|0)<(u|0))}if(I&4|0){g=0;do{G=k+(g<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<2;g=g+1|0}while((g|0)<(u|0))}if(I&8|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]}while((g|0)<(u|0))}if(I&16|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]<<1}while((g|0)<(u|0))}if(I&32|0){g=0;do{G=g;g=g+1|0;l=k+(g<<2)|0;c[l>>2]=c[l>>2]|c[j+(G<<2)>>2]<<2}while((g|0)<(u|0))}if(I&64|0){g=0;do{G=k+(g+2<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2];g=g+1|0}while((g|0)<(u|0))}if(I&128|0){g=0;do{G=k+(g+2<<2)|0;c[G>>2]=c[G>>2]|c[j+(g<<2)>>2]<<1;g=g+1|0}while((g|0)<(u|0))}if(I&256|0){I=0;do{g=k+(I+2<<2)|0;c[g>>2]=c[g>>2]|c[j+(I<<2)>>2]<<2;I=I+1|0}while((I|0)<(u|0))}if(C){C=0;do{I=C;C=C+1|0;g=k+(C<<2)|0;c[g>>2]=c[g>>2]&~(c[j+(I<<2)>>2]<<1)}while((C|0)<(u|0))}}C=c[b+44>>2]|0;I=n+-1|0;g=h+-1|0;G=s+2|0;l=u+2|0;if(((((c[C+28>>2]|0)-G|0)<(n|0)?((c[C+36>>2]|0)-l|0)<(h|0):0)?(c[C+32>>2]|0)>=(n|0):0)?(c[C+40>>2]|0)>=(h|0):0){if((s|0)>-2&(u|0)>-2){e=k;k=0;while(1){T=g+k|0;E=c[e>>2]|0;A=0;while(1){if(E&1|0)Un(C,I+A|0,T,q);A=A+1|0;if((A|0)==(G|0))break;else E=E>>>1}k=k+1|0;if((k|0)==(l|0))break;else e=e+4|0}}V=B(l,G)|0}else V=0;U=V}V=v+x|0;if(c[b+140>>2]|0)Ik(c[b+44>>2]|0,n,V,n+f|0,V,p)|0;if((c[D>>2]|0)!=0?(c[t>>2]&65536|0)!=0:0)W=U;else{t=c[b+44>>2]|0;if(((((c[t+28>>2]|0)-s|0)<=(n|0)?((c[t+36>>2]|0)-u|0)<=(h|0):0)?(c[t+32>>2]|0)>(n|0):0)?(c[t+40>>2]|0)>(h|0):0){if((s|0)>0&(u|0)>0){D=j;j=0;while(1){V=j+h|0;f=c[D>>2]|0;x=0;while(1){if(f&1|0)Un(t,x+n|0,V,p);x=x+1|0;if((x|0)==(s|0))break;else f=f>>>1}j=j+1|0;if((j|0)==(u|0))break;else D=D+4|0}}X=B(u,s)|0}else X=0;W=X+U|0}jh((W|0)/2|0);c[b+104>>2]=w;c[781023]=(c[781023]|0)+w;w=b+48|0;W=c[w>>2]|0;c[w>>2]=(W|0)>(y|0)?W:y;if(c[m>>2]|0){c[781023]=c[b+96>>2];c[781024]=c[b+100>>2];c[m>>2]=0}m=c[b+128>>2]|0;if((m|0)<=0){Y=0;Ia=i;return Y|0}c[b+52>>2]=m+-1;m=b+4|0;b=c[m>>2]|0;if(!(a[b>>0]|0)){Y=1;Ia=i;return Y|0}c[m>>2]=b+1;Y=1;Ia=i;return Y|0}function Sk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,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;e=Ia;Ia=Ia+16|0;f=e;g=b+4|0;h=c[g>>2]|0;i=a[h>>0]|0;a:do switch(i<<24>>24){case 0:{j=0;k=h+-1|0;l=h;break}case 1:{m=a[h+1>>0]|0;if(!(m<<24>>24))n=156;else{o=m&255;p=o+-48|0;c[b+116>>2]=p>>>0<10?p:(m&255)>96?o+-87|0:0;o=h+2|0;j=0;k=o;l=o}break}case 2:{o=h+1|0;m=a[o>>0]|0;if(!(m<<24>>24))n=156;else{p=m&255;q=p+-48|0;c[b+40>>2]=(q>>>0<10?q:(m&255)>96?p+9|0:0)&15;c[b+76>>2]=1;j=0;k=o;l=h}break}case 3:{o=h+1|0;p=a[o>>0]|0;if(!(p<<24>>24))n=156;else{m=p&255;q=m+-48|0;c[781023]=(q>>>0<10?q:(p&255)>96?m+-87|0:0)+-16+(c[781023]|0);j=0;k=o;l=h}break}case 4:{o=h+1|0;m=a[o>>0]|0;if(!(m<<24>>24))n=156;else{p=m&255;q=p+-48|0;c[781024]=(q>>>0<10?q:(m&255)>96?p+-87|0:0)+-16+(c[781024]|0);j=0;k=o;l=h}break}case 5:{o=a[h+1>>0]|0;p=o&255;if(o<<24>>24!=0?(m=h+2|0,(a[m>>0]|0)!=0):0){q=p+-48|0;c[781023]=(q>>>0<10?q:(o&255)>96?p+-87|0:0)+-16+(c[781023]|0);p=a[m>>0]|0;o=p&255;q=o+-48|0;c[781024]=(c[781024]|0)+-16+(q>>>0<10?q:(p&255)>96?o+-87|0:0);j=0;k=m;l=h}else n=156;break}case 6:{m=h+1|0;o=a[m>>0]|0;p=o&255;switch(o<<24>>24){case 0:{n=156;break a;break}case 45:{o=h+2|0;q=a[o>>0]|0;r=q<<24>>24==0;s=r&1;t=r?p:q&255;u=r?m:o;break}default:{s=1;t=p;u=m}}m=t+-49|0;b:do if(m>>>0<9){c[b+52>>2]=(1<<m)+-1;v=1}else switch(t|0){case 99:{p=u+1|0;o=a[p>>0]|0;if(!(o<<24>>24)){j=0;k=u;l=h;break a}r=o&255;q=r+-48|0;Pn(c[742782]|0,0,0,127,127,q>>>0<10?q:(o&255)>96?r+-87|0:0);jh(1024);c[781023]=0;c[781024]=0;j=0;k=p;l=h;break a;break}case 100:{p=u+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){j=0;k=u;l=h;break a}o=r&255;q=o+-48|0;c[b+128>>2]=q>>>0<10?q:(r&255)>96?o+-87|0:0;j=0;k=p;l=h;break a;break}default:{v=0;break b}}while(0);switch(t|0){case 103:{c[781023]=c[b+28>>2];c[781024]=c[b+32>>2];j=v;k=u;l=h;break a;break}case 104:{c[b+28>>2]=c[781023];c[b+32>>2]=c[781024];j=v;k=u;l=h;break a;break}case 106:{m=a[u+1>>0]|0;if(!(m<<24>>24)){j=v;k=u;l=h;break a}p=m&255;o=p+-48|0;c[781023]=(o>>>0<10?o:(m&255)>96?p+-87|0:0)<<2;p=u+2|0;m=a[p>>0]|0;o=m&255;r=o+-48|0;c[781024]=(r>>>0<10?r:(m&255)>96?o+-87|0:0)<<2;j=v;k=p;l=h;break a;break}default:{p=(s|0)!=0;if(!(p|(t|0)!=111))c[b+132>>2]=0;if(p&(t|0)==111){o=u+1|0;m=a[o>>0]|0;r=m&255;if(!(m<<24>>24)){j=v;k=u;l=h;break a}q=u+2|0;if(!(a[q>>0]|0)){j=v;k=u;l=h;break a}w=u+3|0;if(!(a[w>>0]|0)){j=v;k=u;l=h;break a}x=r+-48|0;y=b+136|0;c[y>>2]=x>>>0<10?x:(m&255)>96?r+-87|0:0;r=a[o>>0]|0;if(r<<24>>24==36){c[y>>2]=c[b+36>>2];z=a[o>>0]|0}else z=r;if(z<<24>>24==33)c[y>>2]=c[b+36>>2]|65536;y=b+132|0;c[y>>2]=0;r=a[q>>0]|0;q=r&255;o=q+-48|0;m=(o>>>0<10?o:(r&255)>96?q+-87|0:0)<<5;c[y>>2]=m;q=a[w>>0]|0;r=q&255;o=r+-48|0;c[y>>2]=(o>>>0<10?o:(q&255)>96?r+-87|0:0)|m;j=v;k=w;l=h;break a}switch(t|0){case 114:{w=u+1|0;m=a[w>>0]|0;r=m&255;q=r+-48|0;c[b+24>>2]=(q>>>0<10?q:(m&255)>96?r+-87|0:0)<<2;c[b+20>>2]=1;j=v;k=w;l=h;break a;break}case 120:{w=u+1|0;r=a[w>>0]|0;if(!(r<<24>>24)){j=v;k=u;l=h;break a}m=r&255;q=m+-48|0;c[b+84>>2]=q>>>0<10?q:(r&255)>96?m+-87|0:0;m=c[b+12>>2]|0;r=a[w>>0]|0;q=r&255;o=q+-48|0;c[b+88>>2]=(d[m+1>>0]|0)-(d[m>>0]|0)+(o>>>0<10?o:(r&255)>96?q+-87|0:0);j=v;k=w;l=h;break a;break}case 121:{w=u+1|0;q=a[w>>0]|0;if(!(q<<24>>24)){j=v;k=u;l=h;break a}r=q&255;o=r+-48|0;c[b+92>>2]=o>>>0<10?o:(q&255)>96?r+-87|0:0;j=v;k=w;l=h;break a;break}case 115:{w=u+1|0;r=a[w>>0]|0;q=r&255;o=q+-48|0;c[b+108>>2]=(o>>>0<10?o:(r&255)>96?q+-87|0:0)<<2;j=v;k=w;l=h;break a;break}default:{if(!(p|(t|0)!=117))c[b+140>>2]=0;if(p&(t|0)==117){c[b+140>>2]=1;j=v;k=u;l=h;break a}switch(t|0){case 119:{c[b+56>>2]=s;j=v;k=u;l=h;break a;break}case 116:{c[b+60>>2]=s;j=v;k=u;l=h;break a;break}case 61:{c[b+64>>2]=s;j=v;k=u;l=h;break a;break}case 112:{c[b+68>>2]=s;j=v;k=u;l=h;break a;break}case 35:{c[b+76>>2]=s;j=v;k=u;l=h;break a;break}case 105:{c[b+80>>2]=s;j=v;k=u;l=h;break a;break}case 98:{c[b+72>>2]=s;j=v;k=u;l=h;break a;break}case 36:{c[b+20>>2]=s;j=v;k=u;l=h;break a;break}case 64:{p=b+8|0;w=u+1|0;q=c[p>>2]|0;if(w>>>0<q>>>0){r=a[w>>0]|0;o=r&255;m=o+-48|0;y=m>>>0<10?m:(r&255)>96?o+-87|0:0;o=u+2|0;if(o>>>0<q>>>0){r=a[o>>0]|0;m=r&255;x=m+-48|0;A=(x>>>0<10?x:(r&255)>96?m+-87|0:0)+(y<<4)|0;m=u+3|0;if(m>>>0<q>>>0){r=a[m>>0]|0;x=r&255;B=x+-48|0;C=(B>>>0<10?B:(r&255)>96?x+-87|0:0)+(A<<4)|0;x=u+4|0;if(x>>>0<q>>>0){r=a[x>>0]|0;B=r&255;D=B+-48|0;E=(D>>>0<10?D:(r&255)>96?B+-87|0:0)+(C<<4)|0;F=u+5|0}else{E=C;F=x}}else{E=A;F=m}}else{E=y;F=o}}else{E=0;F=w}c:do if(F>>>0<q>>>0){w=a[F>>0]|0;o=w&255;y=o+-48|0;m=y>>>0<10?y:(w&255)>96?o+-87|0:0;o=F+1|0;if(o>>>0<q>>>0){w=a[o>>0]|0;y=w&255;A=y+-48|0;x=(A>>>0<10?A:(w&255)>96?y+-87|0:0)+(m<<4)|0;y=F+2|0;if(y>>>0<q>>>0){w=a[y>>0]|0;A=w&255;C=A+-48|0;B=(C>>>0<10?C:(w&255)>96?A+-87|0:0)+(x<<4)|0;A=F+3|0;if(A>>>0<q>>>0){w=a[A>>0]|0;C=w&255;r=C+-48|0;G=(r>>>0<10?r:(w&255)>96?C+-87|0:0)+(B<<4)|0;H=F+4|0}else{G=B;H=A}}else{G=x;H=y}}else{G=m;H=o}if((G|0)>0&H>>>0<q>>>0){o=E;m=0;y=H;while(1){_k(2971096,c[781999]|0,o,d[y>>0]|0);x=y+1|0;jh(1);m=m+1|0;if((m|0)>=(G|0)){I=x;break c}if(x>>>0>=(c[p>>2]|0)>>>0){I=x;break}else{o=o+1|0;y=x}}}else I=H}else I=F;while(0);J=I+-1|0;break}default:J=u}if((t|0)==33){p=b+8|0;q=J+1|0;y=c[p>>2]|0;if(q>>>0<y>>>0){o=a[q>>0]|0;m=o&255;x=m+-48|0;A=x>>>0<10?x:(o&255)>96?m+-87|0:0;m=J+2|0;if(m>>>0<y>>>0){o=a[m>>0]|0;x=o&255;B=x+-48|0;C=(B>>>0<10?B:(o&255)>96?x+-87|0:0)+(A<<4)|0;x=J+3|0;if(x>>>0<y>>>0){o=a[x>>0]|0;B=o&255;w=B+-48|0;r=(w>>>0<10?w:(o&255)>96?B+-87|0:0)+(C<<4)|0;B=J+4|0;if(B>>>0<y>>>0){o=a[B>>0]|0;w=o&255;D=w+-48|0;K=(D>>>0<10?D:(o&255)>96?w+-87|0:0)+(r<<4)|0;L=J+5|0}else{K=r;L=B}}else{K=C;L=x}}else{K=A;L=m}}else{K=0;L=q}if(L>>>0<y>>>0){y=K;q=L;while(1){_k(2971096,c[781999]|0,y,d[q>>0]|0);m=q+1|0;jh(1);if(m>>>0<(c[p>>2]|0)>>>0){y=y+1|0;q=m}else{M=m;break}}}else M=L;q=M+-1|0;c[g>>2]=q;a[q>>0]=0;N=0;Ia=e;return N|0}else{q=(t|0)==46;y=(t|0)==58;switch(t|0){case 44:case 46:case 58:case 59:break;default:{j=v;k=J;l=h;break a}}p=J+1|0;do if((p+((t|2|0)==46?8:16)|0)>>>0<=(c[b+8>>2]|0)>>>0)if((t|1|0)==59){a[f>>0]=(c[2112+(d[J+2>>0]<<2)>>2]|0)+(c[2112+(d[p>>0]<<2)>>2]<<4);a[f+1>>0]=(c[2112+(d[J+4>>0]<<2)>>2]|0)+(c[2112+(d[J+3>>0]<<2)>>2]<<4);a[f+2>>0]=(c[2112+(d[J+6>>0]<<2)>>2]|0)+(c[2112+(d[J+5>>0]<<2)>>2]<<4);a[f+3>>0]=(c[2112+(d[J+8>>0]<<2)>>2]|0)+(c[2112+(d[J+7>>0]<<2)>>2]<<4);a[f+4>>0]=(c[2112+(d[J+10>>0]<<2)>>2]|0)+(c[2112+(d[J+9>>0]<<2)>>2]<<4);a[f+5>>0]=(c[2112+(d[J+12>>0]<<2)>>2]|0)+(c[2112+(d[J+11>>0]<<2)>>2]<<4);a[f+6>>0]=(c[2112+(d[J+14>>0]<<2)>>2]|0)+(c[2112+(d[J+13>>0]<<2)>>2]<<4);a[f+7>>0]=(c[2112+(d[J+16>>0]<<2)>>2]|0)+(c[2112+(d[J+15>>0]<<2)>>2]<<4);if(y)O=0;else O=c[b+72>>2]|0;P=Rk(b,f,8,8,O)|0;Q=J+17|0;break}else{if(q)R=0;else R=c[b+72>>2]|0;P=Rk(b,p,8,8,R)|0;Q=J+9|0;break}else{P=0;Q=p}while(0);j=(P|0)>(v|0)?P:v;k=Q+-1|0;l=h;break a}}}}}break}case 7:{p=h+1|0;q=a[p>>0]|0;d:do if((q+-48&255)>=10){y=cr(0)|0;m=(y|0)==((c[781999]|0)+42856|0);y=cr(1)|0;A=(y|0)==((c[781999]|0)+42856|0)|m;m=cr(2)|0;y=(m|0)==((c[781999]|0)+42856|0)|A;A=cr(3)|0;m=c[781999]|0;if((A|0)==(m+42856|0)|y){y=cr(0)|0;A=(y|0)==((c[781999]|0)+42176|0);y=cr(1)|0;x=(y|0)==((c[781999]|0)+42176|0)|A;A=cr(2)|0;y=(A|0)==((c[781999]|0)+42176|0)|x;x=cr(3)|0;A=c[781999]|0;if((x|0)==(A+42176|0)|y){y=cr(0)|0;x=(y|0)==((c[781999]|0)+41496|0);y=cr(1)|0;C=(y|0)==((c[781999]|0)+41496|0)|x;x=cr(2)|0;y=(x|0)==((c[781999]|0)+41496|0)|C;C=cr(3)|0;x=c[781999]|0;if((C|0)==(x+41496|0)|y){y=cr(0)|0;C=(y|0)==((c[781999]|0)+40816|0);y=cr(1)|0;B=(y|0)==((c[781999]|0)+40816|0)|C;C=cr(2)|0;y=(C|0)==((c[781999]|0)+40816|0)|B;B=cr(3)|0;C=c[781999]|0;S=C;T=(B|0)==(C+40816|0)|y?63:60;U=p;n=93}else{S=x;T=61;U=p;n=93}}else{S=A;T=62;U=p;n=93}}else{S=m;T=63;U=p;n=93}}else{m=(q&255)+-48|0;A=h+2|0;x=a[A>>0]|0;if((x+-48&255)<10){y=(m*10|0)+-48+(x&255)|0;C=(y|0)<63?y:63;y=h+3|0;V=a[y>>0]|0;W=(C|0)>0?C:0;X=y}else{V=x;W=m;X=A}switch(V<<24>>24){case 0:case 10:case 32:{Y=(c[781999]|0)+16+(W*680|0)|0;Z=X;break d;break}default:{S=c[781999]|0;T=W;U=X;n=93;break d}}}while(0);e:do if((n|0)==93){q=S+16+(T*680|0)|0;wq(q,0,680);p=S+16+(T*680|0)+8|0;c[p>>2]=4;A=S+16+(T*680|0)+12|0;m=S+16+(T*680|0)+16|0;x=U;f:while(1){switch(a[x>>0]|0){case 0:case 10:case 32:{n=103;break f;break}case 115:{y=a[x+1>>0]|0;if(!(y<<24>>24)){_=0;break f}C=y&255;B=C+-48|0;c[p>>2]=B>>>0<10?B:(y&255)>96?C+-87|0:0;$=2;break}case 108:{C=a[x+1>>0]|0;y=C&255;if(!(C<<24>>24)){_=0;break f}B=x+2|0;if(!(a[B>>0]|0)){_=0;break f}r=y+-48|0;c[A>>2]=r>>>0<10?r:(C&255)>96?y+-87|0:0;y=a[B>>0]|0;B=y&255;C=B+-48|0;c[m>>2]=C>>>0<10?C:(y&255)>96?B+-87|0:0;$=3;break}case 122:{B=a[x+1>>0]|0;if(!(B<<24>>24)){_=0;break f}y=B&255;C=y+-48|0;c[q>>2]=(C>>>0<10?C:(B&255)>96?y+2147483561|0:0)<<1;$=2;break}default:{_=0;break f}}x=x+$|0}if((n|0)==103){c[p>>2]=16;c[S+16+(T*680|0)+20>>2]=46;c[S+16+(T*680|0)+24>>2]=0;c[S+16+(T*680|0)+28>>2]=5;c[S+16+(T*680|0)+32>>2]=0;_=1}m=0;A=5;y=3;B=_;C=x;r=5;while(1){w=B>>>0<32;o=m;D=A;aa=y;ba=C;ca=r;g:while(1){da=o;ea=aa;fa=ba;ga=ca;h:while(1){ha=da;ia=ea;ja=fa;i:while(1){ka=ia;la=ja;j:while(1){ma=a[la>>0]|0;switch(ma<<24>>24){case 32:case 0:{Y=q;Z=la;break e;break}default:{}}if(!(w&ma<<24>>24!=10)){Y=q;Z=la;break e}switch(ma<<24>>24){case 46:{n=116;break g;break}case 0:{n=125;break g;break}case 98:{n=124;break g;break}case 100:{na=2;n=127;break g;break}case 101:{n=120;break g;break}case 102:{n=121;break g;break}case 103:{n=122;break g;break}case 97:{n=123;break g;break}case 105:{break h;break}case 118:{n=113;break i;break}case 62:case 60:{n=118;break i;break}case 120:{break j;break}case 93:case 91:break;default:{n=126;break g}}oa=(ma<<24>>24==91?-1:1)+ka|0;pa=(oa|0)<5?oa:5;ka=(pa|0)>0?pa:0;la=la+1|0}pa=a[la+1>>0]|0;oa=pa&255;qa=oa+-48|0;ha=(qa>>>0<10?qa:(pa&255)>96?oa+1|0:0)&7;ia=ka;ja=la+2|0}if((n|0)==113){n=0;ja=a[la+1>>0]|0;ia=ja&255;oa=ia+-48|0;ra=la+2|0;sa=(oa>>>0<10?oa:(ja&255)>96?ia+1|0:0)&7}else if((n|0)==118){n=0;ia=(ma<<24>>24==60?-1:1)+ga|0;ja=(ia|0)<7?ia:7;ra=la+1|0;sa=(ja|0)>0?ja:0}da=ha;ea=ka;fa=ra;ga=sa}fa=a[la+1>>0]|0;ea=fa&255;da=ea+-48|0;o=ha;D=(da>>>0<10?da:(fa&255)>96?ea+9|0:0)&15;aa=ka;ba=la+2|0;ca=ga}if((n|0)==116){n=0;ta=ka;ua=la+1|0}else if((n|0)==120){n=0;na=4;n=127}else if((n|0)==121){n=0;na=5;n=127}else if((n|0)==122){n=0;na=7;n=127}else if((n|0)==123){n=0;na=9;n=127}else if((n|0)==124){n=0;na=11;n=127}else if((n|0)==125){n=0;na=12;n=127}else if((n|0)==126){n=0;na=0;n=127}if((n|0)==127){n=0;ca=S+16+(T*680|0)+20+(B*20|0)|0;c[ca>>2]=na;c[S+16+(T*680|0)+20+(B*20|0)+4>>2]=D&7;c[S+16+(T*680|0)+20+(B*20|0)+8>>2]=ga&7;c[S+16+(T*680|0)+20+(B*20|0)+12>>2]=ha;ba=la+1|0;aa=a[ba>>0]|0;o=la+2|0;if(aa<<24>>24==35){w=na+1|0;c[ca>>2]=w;va=a[o>>0]|0;wa=w;xa=o}else{va=aa;wa=na;xa=ba}if(va<<24>>24==45){ba=wa+-1|0;c[ca>>2]=ba;aa=xa+1|0;ya=a[aa>>0]|0;za=ba;Aa=aa}else{ya=va;za=wa;Aa=xa}aa=(ya+-48&255)<6;ba=aa?(ya&255)+-48|0:ka;o=(ba*12|0)+za|0;w=(o|0)<63?o:63;c[ca>>2]=(w|0)>0?w:0;ta=ba;ua=aa?Aa+1|0:Aa}m=ha;A=D;y=ta;B=B+1|0;C=ua;r=ga}}while(0);if((c[780901]|0)==0&(c[554964]|0)!=0){lr(0,0);or();c[554964]=0}Zq(Y,0,0,c[781999]|0,-1)|0;j=0;k=(a[Z>>0]|0)==10?Z+-1|0:Z;l=h;break}case 8:{c[781023]=(c[781023]|0)-(c[b+104>>2]|0);j=0;k=h;l=h;break}case 9:{r=c[b+12>>2]|0;C=r+5|0;if(a[C>>0]&2)c[781023]=(c[781023]|0)-(c[781025]|0);B=c[b+108>>2]|0;if(!B){y=r+6|0;r=a[y>>0]|0;A=(r<<24>>24==0?16:r&255)+(c[781023]|0)|0;c[781023]=A;Ba=A;Ca=d[y>>0]|0}else{y=(c[781023]|0)+B|0;c[781023]=y;Ba=y;Ca=B}B=Ba-((Ba|0)%(((Ca|0)==0?16:Ca)|0)|0)|0;c[781023]=B;if(!(a[C>>0]&2)){j=0;k=h;l=h}else{c[781023]=(c[781025]|0)+B;j=0;k=h;l=h}break}case 10:{c[781023]=c[b+28>>2];B=b+48|0;C=c[B>>2]|0;y=(C|0)!=0;if(!(c[b+16>>2]|0)){if(y)Da=C;else Da=c[b+92>>2]|0;c[781024]=(c[781024]|0)+Da}else{if(y)Ea=C;else Ea=c[b+92>>2]|0;c[781029]=Ea;ab();c[781029]=6}c[B>>2]=0;j=0;k=h;l=h;break}case 11:{B=c[781023]|0;C=b+96|0;y=c[C>>2]|0;c[781023]=y;c[C>>2]=B;B=c[781024]|0;C=b+100|0;A=c[C>>2]|0;c[781024]=A;c[C>>2]=B;c[b+112>>2]=1;B=h+1|0;C=a[B>>0]|0;r=C&255;m=r+-48|0;q=m>>>0<10?m:(C&255)>96?r+-87|0:0;r=(q|0)/4|0;c[781023]=y+-2+(q-(r<<2));c[781024]=A+-8+r;j=0;k=B;l=h;break}case 12:{B=h+1|0;r=a[B>>0]|0;A=r&255;q=A+-48|0;y=q>>>0<10?q:(r&255)>96?A+-87|0:0;c[b+36>>2]=y;c[781022]=y;j=0;k=B;l=h;break}case 13:{c[781023]=c[b+28>>2];j=0;k=h;l=h;break}case 14:{c[b+12>>2]=3150016;c[b+84>>2]=d[3150016];c[b+88>>2]=d[3150017];c[b+92>>2]=d[3150018];c[b+120>>2]=d[3150019];c[b+124>>2]=d[3150020];j=0;k=h;l=h;break}case 15:{c[b+12>>2]=1442176;c[b+84>>2]=d[1442176];c[b+88>>2]=d[1442177];c[b+92>>2]=d[1442178];c[b+120>>2]=d[1442179];c[b+124>>2]=d[1442180];j=0;k=h;l=h;break}default:n=156}while(0);if((n|0)==156){n=c[(i<<24>>24<0?b+88|0:b+84|0)>>2]|0;Ea=(c[b+72>>2]|0)!=0&1;Da=c[b+12>>2]|0;Ca=i&255;if(!(a[Da+5>>0]&1)){Fa=n;Ga=Ea}else{i=(d[Da+(Ca>>>1)>>0]|0)>>>(Ca<<2&4);Fa=n+-4+(i+4&7)|0;Ga=i&8|Ea}Ea=Rk(b,Da+(Ca<<3)|0,Fa,c[b+92>>2]|0,Ga)|0;j=(Ea|0)>0?Ea:0;k=h;l=h}h=c[554378]|0;Ea=c[781023]|0;c[554378]=(h|0)>(Ea|0)?h:Ea;Ea=c[554379]|0;h=c[781024]|0;c[554379]=(Ea|0)>(h|0)?Ea:h;h=b+116|0;b=c[h>>2]|0;if((b|0)>0){c[h>>2]=b+-1;Ha=l}else Ha=k+1|0;c[g>>2]=Ha;N=j;Ia=e;return N|0}function Tk(){Wv(2217544,0,144)|0;return}function Uk(){zq(c[554386]|0);c[554386]=0;return}function Vk(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=$k(2971096,c[781999]|0,24408)|0;e=$k(2971096,c[781999]|0,24409)|0;f=$k(2971096,c[781999]|0,24410)|0;g=$k(2971096,c[781999]|0,24411)|0;h=(a[3152374]&16)==0;i=h?e:0;e=h?f:0;f=h?g:0;g=(b&1|0)==0?2:b;b=(g&128|0)==0?1442176:3150016;c[554389]=b;c[554404]=g>>>1&1;c[554400]=g>>>2&1;c[554401]=g>>>3&1;c[554405]=g>>>4&1;c[554406]=g>>>5&1;c[554402]=g>>>6&1;c[554403]=0;c[554413]=0;g=a[b>>0]|0;c[554407]=g&255;h=a[b+1>>0]|0;c[554408]=h&255;j=a[b+2>>0]|0;c[554409]=j&255;c[554416]=d[b+3>>0];c[554417]=d[b+4>>0];if(!((h|g|j)<<24>>24)){c[554407]=8;c[554409]=8;c[554408]=8}j=i&15;if(j|0)c[554407]=j;if(i&240|0)c[554409]=i>>>4&15;i=e&15;if(i|0)c[554408]=i;if(e&240|0)c[554413]=(e>>>2&60)+4;e=f&15;if(e|0)c[554416]=e;if(!(f&240)){c[554419]=0;c[554420]=0;c[554421]=0;return}c[554417]=f>>>4&15;c[554419]=0;c[554420]=0;c[554421]=0;return}function Wk(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[554386]|0;if(!b){d=0;return d|0}e=c[554399]|0;if((e|0)>0){c[554399]=e+-1;d=1;return d|0}e=c[554387]|0;do if(a[e>>0]|0){f=e;while(1){g=Sk(2217544)|0;h=(c[554387]|0)-f|0;jh((h|0)>1?h:1);if(g|0){d=g;i=10;break}f=c[554387]|0;if(!(a[f>>0]|0)){i=8;break}}if((i|0)==8){j=c[554386]|0;break}else if((i|0)==10)return d|0}else j=b;while(0);zq(j);c[554386]=0;d=0;return d|0}function Xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){h=0;return h|0}if(!(c[554384]|0)){c[554384]=1;wq(1442176,0,2048);i=c[742805]|0;j=0;do{k=c[(c[i>>2]|0)+(j<<2)>>2]|0;l=k+4|0;if((c[l>>2]|0)>0){m=j<<3;n=k+16|0;o=0;do{p=c[k>>2]|0;if((p|0)>0){q=c[(c[n>>2]|0)+(o<<2)>>2]|0;r=0;s=0;while(1){t=((a[q+s>>0]|0)==0?0:1<<s)|r;s=s+1|0;if((s|0)==(p|0)){u=t;break}else r=t}}else u=0;a[1442176+(o+m)>>0]=u;o=o+1|0}while((o|0)<(c[l>>2]|0))}j=j+1|0}while((j|0)!=256);a[1442176]=4;a[1442177]=8;a[1442178]=6;a[1442179]=0;a[1442180]=0}zq(c[554386]|0);wq(2217544,0,144);j=vq(e+32|0)|0;c[554386]=j;Vv(j|0,d|0,e|0)|0;Vk();d=c[554386]|0;c[554387]=d;j=d+e|0;c[554388]=j;c[554391]=f&16;c[554392]=c[b+32>>2];c[554390]=f&32;c[554393]=c[781025];c[554394]=c[781024];c[554395]=g&15;c[554396]=g>>>4&15;c[554397]=b;c[554399]=0;c[554415]=0;c[554398]=0;c[554412]=c[554407];if(!(a[3152374]&4)){a[j>>0]=10;a[(c[554386]|0)+(e+1)>>0]=0;v=c[554386]|0}else v=d;if(!v){h=0;return h|0}d=c[554399]|0;if((d|0)>0){c[554399]=d+-1;h=1;return h|0}d=c[554387]|0;do if(a[d>>0]|0){e=d;while(1){j=Sk(2217544)|0;b=(c[554387]|0)-e|0;jh((b|0)>1?b:1);if(j|0){h=j;w=23;break}e=c[554387]|0;if(!(a[e>>0]|0)){w=21;break}}if((w|0)==21){x=c[554386]|0;break}else if((w|0)==23)return h|0}else x=v;while(0);zq(x);c[554386]=0;h=0;return h|0}function Yk(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;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;zq(g);c[781046]=(c[781046]|0)-h;f=0;return f|0}h=c[781046]|0;g=(c[798390]|0)+h|0;if((g|0)>(((c[484611]|0)==0?2359296:2113536)|0)){c[798465]=1;Bg();i=c[781046]|0;j=i;k=(c[798390]|0)+i|0}else{j=h;k=g}if((k|0)>67108864){Lg(62069);Mg(62091,(c[781046]|0)/1048576|0,e>>>10);c[798467]=1;f=0;return f|0}if(a){k=b+-4|0;g=c[k>>2]|0;c[781046]=j-g;j=yq(k,e+4|0)|0;l=(g|0)==0?0:e;m=j}else{l=0;m=yq(0,e+4|0)|0}j=(b|0)==0;b=j&(d|0)==0&(c[798388]|0)!=0?0:j&(d+-7|0)>>>0<13?32:a?l:(d|0)!=2&(j&d>>>0<7)?e:0;c[781046]=b+(c[781046]|0);c[m>>2]=b;f=m+4|0;return f|0} 142 + function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;j=ka(34)|0;if(!(c[554961]|0))k=1;else k=(ka(33)|0)==0;if((j|0)!=0&k){if(a|0)c[a>>2]=ka(35)|0;if(b|0)c[b>>2]=ka(36)|0;if(!d){Ia=e;return}c[d>>2]=ka(45)|0;Ia=e;return}k=(L(f|0,g|0)|0)&255;if(c[554961]|0?ka(33)|0:0){c[f>>2]=(c[742768]|0)/4|0;c[g>>2]=(c[742769]|0)/4|0}N(0,h|0,i|0);j=c[h>>2]|0;h=c[i>>2]|0;if((j|0)==0|(h|0)==0){Ia=e;return}i=c[742748]|0;l=c[742749]|0;if(!(+(j|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,j)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[742748]|0,c[f>>2]|0)|0)/(j|0)|0;c[f>>2]=m;o=j;p=m;q=B(c[742748]|0,n)|0}else{n=(j-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-n|0,l)|0)/(h|0)|0;c[f>>2]=i;o=h;p=i;q=B(c[g>>2]|0,l)|0}l=(q|0)/(o|0)|0;c[g>>2]=l;if(a|0)c[a>>2]=p;if(b|0)c[b>>2]=l;if(!d){Ia=e;return}c[d>>2]=k<<1&4|k&1|k>>>1&2;Ia=e;return}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;wt(b,103129,e)|0;Ia=d;return}function es(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function fs(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function gs(a,b){a=a|0;b=b|0;ku(b,a)|0;return}function hs(b){b=b|0;var c=0,d=0;if(!(ka(26)|0)){qv(103229)|0;return 0}ka(46)|0;c=bu(b)|0;if((c|0)>0){d=0;do{la(47,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(48)|0;return 0}function is(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+4|0;e=b;f=(a|0)==0;g=c[554961]|0;if(f|(g|0)!=0)h=g;else{L(d|0,e|0)|0;if(!(ka(34)|0))i=c[e>>2]|0;else{c[d>>2]=ka(35)|0;g=ka(36)|0;c[e>>2]=g;i=g}c[742768]=c[d>>2]<<2;c[742769]=i<<2;h=c[554961]|0}if(!(f&(h|0)!=0)){c[554961]=a;Ia=b;return}qv(103377)|0;ka(49)|0;c[554961]=a;Ia=b;return}function js(a){a=a|0;return}function ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ts(a,104706)|0;if(e|0){Ho(b,1,d,e)|0;Ro(e)}e=c[a+1024>>2]|0;if(!e){zq(a);return}Sa[e&7](a);zq(a);return}function ls(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;if(a|0){c[d>>2]=a;vv(103443,d)|0}Nu(c[8745]|0)|0;d=c[a+1028>>2]|0;if(!d){zq(a);Ia=b;return}Sa[d&7](a);zq(a);Ia=b;return}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=vq(1032)|0;ku(f,b)|0;c[f+1024>>2]=d;c[f+1028>>2]=e;qa(a|0,f|0,2,4);return 0}function ns(){var a=0;if(c[554962]|0){a=0;return a|0}a=ka(41)|0;return a|0}function os(a){a=a|0;var b=0;b=c[742772]|0;if(b|0)zq(b);b=vq((bu(a)|0)+1|0)|0;c[742772]=b;ku(b,a)|0;ka(50)|0;return 0}function ps(a){a=a|0;ka(51)|0;ma(52,a|0,bu(a)|0)|0;return ka(53)|0}function qs(){if(c[742767]|0)return;c[742767]=1;ka(54)|0;return}function rs(){var b=0,d=0,e=0;if(ka(55)|0){Wv(1802912,0,131073)|0;ma(56,1802912,131072)|0;b=xq((bu(1802912)|0)+1|0)|0;ku(b,1802912)|0;d=b;return d|0}b=c[742772]|0;if(!b){e=xq(2)|0;a[e>>0]=0;d=e;return d|0}else{e=vq((bu(b)|0)+1|0)|0;ku(e,c[742772]|0)|0;d=e;return d|0}return 0}function ss(a){a=a|0;return 0}function ts(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;Zo(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;wt(g,104363,f)|0;f=c[742773]|0;a:do if((f|0)>0){i=0;while(1){h=c[1934e3+(i<<2)>>2]|0;i=i+1|0;if(!(au(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Ia=e;return k|0}c[j+20>>2]=0;k=j;Ia=e;return k|0}case 119:{if(!j){d=Aq(0)|0;c[d+4>>2]=1;Rs(d+24|0,g)|0;g=c[742773]|0;c[1934e3+(g<<2)>>2]=d;c[742773]=g+1;k=d;Ia=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ia=e;return k|0}break}default:{k=0;Ia=e;return k|0}}return 0}function us(a){a=a|0;var b=0,d=0,e=0;b=c[742773]|0;a:do if((b|0)>0){d=0;while(1){if((c[1934e3+(d<<2)>>2]|0)==(a|0)){e=1;break a}d=d+1|0;if((d|0)>=(b|0)){e=0;break}}}else e=0;while(0);return e|0}function vs(){var a=0,b=0,d=0;a=xq(48036)|0;Wv(a|0,0,48036)|0;c[a>>2]=vq(65538)|0;b=a+4|0;c[b>>2]=Sn(128,128,8)|0;c[a+12>>2]=Sn(128,64,8)|0;c[a+8>>2]=c[b>>2];b=a+16|0;d=0;do{c[b+(d*680|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+43536|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+45868>>2]=Ms()|0;c[a+45872>>2]=Ms()|0;c[a+45876>>2]=Ms()|0;c[a+45880>>2]=Ms()|0;Wv(a+45884|0,-1,2144)|0;return a|0}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;Tn(c[a+4>>2]|0)|0;Tn(c[a+12>>2]|0)|0;er(a);$q(a+16|0);$q(a+696|0);$q(a+1376|0);$q(a+2056|0);$q(a+2736|0);$q(a+3416|0);$q(a+4096|0);$q(a+4776|0);$q(a+5456|0);$q(a+6136|0);$q(a+6816|0);$q(a+7496|0);$q(a+8176|0);$q(a+8856|0);$q(a+9536|0);$q(a+10216|0);$q(a+10896|0);$q(a+11576|0);$q(a+12256|0);$q(a+12936|0);$q(a+13616|0);$q(a+14296|0);$q(a+14976|0);$q(a+15656|0);$q(a+16336|0);$q(a+17016|0);$q(a+17696|0);$q(a+18376|0);$q(a+19056|0);$q(a+19736|0);$q(a+20416|0);$q(a+21096|0);$q(a+21776|0);$q(a+22456|0);$q(a+23136|0);$q(a+23816|0);$q(a+24496|0);$q(a+25176|0);$q(a+25856|0);$q(a+26536|0);$q(a+27216|0);$q(a+27896|0);$q(a+28576|0);$q(a+29256|0);$q(a+29936|0);$q(a+30616|0);$q(a+31296|0);$q(a+31976|0);$q(a+32656|0);$q(a+33336|0);$q(a+34016|0);$q(a+34696|0);$q(a+35376|0);$q(a+36056|0);$q(a+36736|0);$q(a+37416|0);$q(a+38096|0);$q(a+38776|0);$q(a+39456|0);$q(a+40136|0);$q(a+40816|0);$q(a+41496|0);$q(a+42176|0);$q(a+42856|0);zq(c[a>>2]|0);b=a+48028|0;d=a+48032|0;e=c[d>>2]|0;if((c[b>>2]|0)>0){f=e;g=0;while(1){Cq(c[f+(g<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0;if((g|0)>=(c[b>>2]|0)){i=h;break}else f=h}}else i=e;zq(i);Ns(c[a+45868>>2]|0);Ns(c[a+45872>>2]|0);Ns(c[a+45876>>2]|0);Ns(c[a+45880>>2]|0);Wv(a|0,0,48036)|0;zq(a);if((c[781999]|0)!=(a|0))return;c[781999]=0;return}function xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;e=Ia;Ia=Ia+80|0;f=e+48|0;g=e+40|0;h=e+24|0;i=e+8|0;j=e;k=e+68|0;l=e+64|0;c[779979]=0;m=vq(196609)|0;n=vq(196609)|0;a[m>>0]=0;o=So(m,196608,b)|0;if((d|0)!=0?(bv(o,104368)|0)==0:0){c[k>>2]=43;p=1}else q=2;do if((q|0)==2){d=o;a:while(1){switch(a[d>>0]|0){case 0:{break a;break}case 112:case 10:{q=7;break a;break}default:{}}d=d+1|0}if((q|0)==7?(ut(d,104368,16)|0)==0:0){So(m,196608,b)|0;c[k>>2]=0;c[j>>2]=k;Su(m,104385,j)|0;if(!((c[555803]|0)==0&(c[k>>2]|0)>43)){p=0;break}zq(m);zq(n);c[779979]=1;r=0;Ia=e;return r|0}zq(m);zq(n);r=0;Ia=e;return r|0}while(0);j=vs()|0;c[j+45860>>2]=c[k>>2];o=0;do{Wv(j+16+(o*680|0)|0,0,680)|0;c[j+16+(o*680|0)+8>>2]=(o|0)==0?1:16;o=o+1|0}while((o|0)!=64);o=j+4|0;Nn(c[o>>2]|0);s=j+12|0;Nn(c[s>>2]|0);Wv(j+44832|0,0,1024)|0;a[c[j>>2]>>0]=0;b:do if(!(No(b)|0)){t=j+48028|0;u=j+48032|0;v=m+3|0;w=j+45856|0;x=0;y=p;z=0;A=0;B=0;C=0;D=0;E=0;c:while(1){if(!y){Wv(m|0,0,196609)|0;So(m,196608,b)|0}if((No(b)|0)!=0?(a[m>>0]|0)==0:0){F=x;G=z;H=A;I=-1;J=C;K=D;L=E}else q=19;d:do if((q|0)==19){q=0;if(ut(m,104396,8)|0)if(ut(m,104405,7)|0)if(ut(m,104413,7)|0)if(ut(m,104421,7)|0)if(ut(m,104429,7)|0)if(ut(m,104437,7)|0)if(ut(m,104445,9)|0)if(ut(m,104455,9)|0)if(!(ut(m,104465,15)|0)){F=x;G=z;H=A;I=7;J=C;K=D;L=E}else{if(!(ut(m,104481,7)|0)){M=(c[t>>2]|0)+1|0;c[t>>2]=M;c[u>>2]=yq(c[u>>2]|0,M<<2)|0;M=Aq(256)|0;N=(c[t>>2]|0)+-1|0;c[(c[u>>2]|0)+(N<<2)>>2]=M;M=(bu(m)|0)+1|0;Ho(m,1,M,c[(c[u>>2]|0)+(N<<2)>>2]|0)|0;F=x;G=z;H=A;I=8;J=C;K=D;L=E;break}if((B|0)==1){Ls(m,n)|0;N=c[j>>2]|0;M=bu(N)|0;if(((bu(n)|0)+M|0)>>>0>=65536)break c;lu(N,n)|0;if(!(No(b)|0)){N=c[j>>2]|0;M=N+(bu(N)|0)|0;a[M>>0]=10;a[M+1>>0]=0}a[(c[j>>2]|0)+65536>>0]=0;F=x;G=z;H=A;I=1;J=C;K=D;L=E;break}if((B|0)==2&(E|0)<128){M=0;do{N=a[m+M>>0]|0;O=N+-48|0;a[(c[(c[(c[o>>2]|0)+16>>2]|0)+(E<<2)>>2]|0)+M>>0]=O>>>0<10?O:(N+-97|0)>>>0<6?N+169|0:0;M=M+1|0}while((M|0)!=128);P=E+1|0}else P=E;if((x|0)<2&(B|0)==10){M=x<<7;N=(c[k>>2]|0)>2;O=0;do{if(N){Q=O<<1;R=a[m+Q>>0]|0;S=R+-48|0;T=a[m+(Q|1)>>0]|0;Q=T+-48|0;U=((S>>>0<10?S:(R+-97|0)>>>0<6?R+268435369|0:0)<<4)+(Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0)|0}else{T=a[m+O>>0]|0;Q=T+-48|0;U=Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0}c[j+44832+(O+M<<2)>>2]=U;O=O+1|0}while((O|0)!=128);V=x+1|0}else V=x;if((A|0)<64&(B|0)==3){O=0;do{M=O<<1;N=a[m+M>>0]|0;T=N+-48|0;Q=a[m+(M|1)>>0]|0;M=Q+-48|0;a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(A<<2)>>2]|0)+O>>0]=((T>>>0<10?T:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(M>>>0<10?M:(Q+-97|0)>>>0<6?Q+169|0:0);O=O+1|0}while((O|0)!=128);W=A+1|0}else W=A;if((D|0)<64&(B|0)==4){c[l>>2]=0;c[i>>2]=l;c[i+4>>2]=j+16+(D*680|0)+8;c[i+8>>2]=j+16+(D*680|0)+12;c[i+12>>2]=j+16+(D*680|0)+16;Su(m,104489,i)|0;O=c[l>>2]|0;c[j+16+(D*680|0)+4>>2]=O&1;c[j+16+(D*680|0)>>2]=O&254;O=0;do{Q=j+16+(D*680|0)+20+(O*20|0)|0;M=j+16+(D*680|0)+20+(O*20|0)+4|0;N=j+16+(D*680|0)+20+(O*20|0)+8|0;T=j+16+(D*680|0)+20+(O*20|0)+12|0;c[h>>2]=Q;c[h+4>>2]=M;c[h+8>>2]=N;c[h+12>>2]=T;Su(m+((O*5|0)+8)|0,104506,h)|0;R=c[T>>2]|0;if(R&8|0)c[j+16+(D*680|0)+20+(O*20|0)+16>>2]=128;S=c[M>>2]|0;if(S&8|0)c[j+16+(D*680|0)+20+(O*20|0)+16>>2]=128;c[T>>2]=R&7;c[M>>2]=S&7;c[N>>2]=c[N>>2]&7;c[Q>>2]=c[Q>>2]&63;O=O+1|0}while((O|0)!=32);X=D+1|0}else X=D;if((C|0)<64&(B|0)==5){if((c[k>>2]|0)>2){c[g>>2]=j+44560+(C<<2);Su(m,104520,g)|0;Y=v}else Y=m;O=j+43536+(C<<4)|0;Q=j+43536+(C<<4)+4|0;N=j+43536+(C<<4)+8|0;S=j+43536+(C<<4)+12|0;c[f>>2]=O;c[f+4>>2]=Q;c[f+8>>2]=N;c[f+12>>2]=S;Su(Y,104489,f)|0;do if((c[k>>2]|0)<4){if(!(c[O>>2]|0))c[O>>2]=65;if(!(c[Q>>2]|0))c[Q>>2]=65;if(!(c[N>>2]|0))c[N>>2]=65;if(c[S>>2]|0)break;c[S>>2]=65}while(0);F=V;G=z;H=W;I=5;J=C+1|0;K=X;L=P;break}if((z|0)<128&(B|0)==6){if(!(c[w>>2]|0))c[w>>2]=Sn(128,128,8)|0;S=0;do{N=a[m+S>>0]|0;Q=N+-48|0;do if(Q>>>0>=10)if((N+-97|0)>>>0<22){Z=N+-87|0;break}else{Z=(N+-65|0)>>>0<22?N+-55|0:0;break}else Z=Q;while(0);a[(c[(c[(c[w>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+S>>0]=(Z|0)>15?Z+112|0:Z;S=S+1|0}while((S|0)!=128);_=z+1|0}else _=z;switch(B|0){case 7:{S=0;while(1){Q=S<<1;N=a[m+Q>>0]|0;O=N+-48|0;M=a[m+(Q|1)>>0]|0;Q=M+-48|0;a[j+45884+S>>0]=((O>>>0<10?O:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(Q>>>0<10?Q:(M+-97|0)>>>0<6?M+169|0:0);S=S+1|0;if((S|0)==2144){F=V;G=_;H=W;I=0;J=C;K=X;L=P;break d}}break}case 8:break;default:{F=V;G=_;H=W;I=B;J=C;K=X;L=P;break d}}S=c[(c[u>>2]|0)+((c[t>>2]|0)+-1<<2)>>2]|0;M=c[S+16>>2]|0;Q=bu(m)|0;if((Q+M|0)>>>0<262144)Ho(m,1,Q,S)|0;if(No(b)|0){F=V;G=_;H=W;I=8;J=C;K=X;L=P;break}Ho(104526,1,1,S)|0;F=V;G=_;H=W;I=8;J=C;K=X;L=P}else{F=x;G=z;H=A;I=6;J=C;K=D;L=E}else{F=x;G=z;H=A;I=5;J=C;K=D;L=E}else{F=x;G=z;H=A;I=4;J=C;K=D;L=E}else{F=x;G=z;H=A;I=3;J=C;K=D;L=E}else{F=x;G=z;H=A;I=10;J=C;K=D;L=E}else{F=x;G=z;H=A;I=2;J=C;K=D;L=E}else{F=x;G=z;H=A;I=1;J=C;K=D;L=E}else{F=x;G=z;H=A;I=-1;J=C;K=D;L=E}}while(0);if((I|0)!=-1&(No(b)|0)==0){x=F;y=0;z=G;A=H;B=I;C=J;D=K;E=L}else break b}zq(m);zq(n);c[779979]=2;r=0;Ia=e;return r|0}while(0);L=c[j>>2]|0;if(a[L>>0]|0)a[L+((bu(L)|0)+-1)>>0]=0;zq(m);zq(n);r=j;Ia=e;return r|0}function ys(a){a=a|0;var b=0,c=0;b=Po(a,104528)|0;if(!b){c=0;return c|0}a=xs(b,0)|0;Ro(b);c=a;return c|0}function zs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ia;Ia=Ia+256|0;h=g;Wv(h|0,0,256)|0;if(!f){Yo(e,104530,0)|0;Yo(e,104573,43)|0}if(a[c[b>>2]>>0]|0){Yo(e,104585,0)|0;f=xq(196614)|0;Ks(c[b>>2]|0,f)|0;Ho(f,1,bu(f)|0,e)|0;zq(f);Yo(e,104526,0)|0}f=b+4|0;i=c[(c[f>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=j;n=0;do{m=(a[l+n>>0]|0)==0?m:k;n=n+1|0}while((n|0)!=128);k=k+1|0;if((k|0)==128)break;else j=m}if((m|0)>-1){Yo(e,104594,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;dp(e,104603,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);Yo(e,104526,0)|0;if((j|0)==(m|0))break;else j=j+1|0}}j=b+45856|0;m=c[j>>2]|0;if((m|0?(c[m>>2]|0)==128:0)?(c[m+4>>2]|0)==128:0){f=c[m+12>>2]|0;m=0;k=0;do{m=(a[f+k>>0]|0)==0?m:1;k=k+1|0}while((k|0)!=16384);if(m|0){Yo(e,104606,0)|0;m=0;do{k=(c[j>>2]|0)+16|0;f=0;do{i=a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+f>>0]|0;n=i&15;l=i<<24>>24<0?n|16:n;a[h+f>>0]=(l>>>0<10?48:87)+l;f=f+1|0}while((f|0)!=128);Ho(h,1,128,e)|0;Yo(e,104526,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0}}m=0;h=0;do{m=(c[b+44832+(h<<2)>>2]|0)==0?m:1;h=h+1|0}while((h|0)!=256);if(m|0){Yo(e,104617,0)|0;m=0;do{dp(e,104626,c[b+44832+(m<<2)>>2]&255,0,0,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0;m=0;do{dp(e,104626,c[b+44832+(m+128<<2)>>2]&255,0,0,0)|0;m=m+1|0}while((m|0)!=128);Yo(e,104526,0)|0}m=b+12|0;h=c[(c[m>>2]|0)+16>>2]|0;j=-1;f=0;while(1){k=c[h+(f<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:f;l=l+1|0}while((l|0)!=128);f=f+1|0;if((f|0)==32)break;else j=o}if((o|0)>-1){Yo(e,104631,0)|0;j=0;while(1){f=0;do{dp(e,104626,d[(c[(c[(c[m>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+f>>0]|0,0,0,0)|0;f=f+1|0}while((f|0)!=128);Yo(e,104526,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}Rq();j=-1;o=0;while(1){m=(c[b+16+(o*680|0)+4>>2]|0)==0?j:o;f=c[b+16+(o*680|0)+8>>2]|0;p=(c[b+16+(o*680|0)+16>>2]|c[b+16+(o*680|0)+12>>2]|0)==0?((o|0)==0?((f|0)==1?m:o):(f|0)==16?m:o):o;m=0;do{p=(c[b+16+(o*680|0)+20+(m*20|0)+4>>2]|c[b+16+(o*680|0)+20+(m*20|0)>>2]|c[b+16+(o*680|0)+20+(m*20|0)+16>>2]|c[b+16+(o*680|0)+20+(m*20|0)+8>>2]|c[b+16+(o*680|0)+20+(m*20|0)+12>>2]|0)==0?p:o;m=m+1|0}while((m|0)!=32);o=o+1|0;if((o|0)==64)break;else j=p}if((p|0)>-1){Yo(e,104640,0)|0;j=0;while(1){o=c[b+16+(j*680|0)+8>>2]|0;m=(o|0)<255?o:255;o=c[b+16+(j*680|0)+12>>2]|0;f=(o|0)<255?o:255;o=c[b+16+(j*680|0)+16>>2]|0;h=(o|0)<255?o:255;dp(e,104489,c[b+16+(j*680|0)>>2]&254|(c[b+16+(j*680|0)+4>>2]|0)!=0,(m|0)>0?m:0,(f|0)>0?f:0,(h|0)>0?h:0)|0;h=0;do{f=c[b+16+(j*680|0)+20+(h*20|0)>>2]|0;m=(f|0)<63?f:63;f=c[b+16+(j*680|0)+20+(h*20|0)+4>>2]|0;o=(f|0)<7?f:7;f=c[b+16+(j*680|0)+20+(h*20|0)+8>>2]|0;l=(f|0)<7?f:7;f=c[b+16+(j*680|0)+20+(h*20|0)+12>>2]|0;k=(f|0)<7?f:7;dp(e,104649,(m|0)>0?m:0,((o|0)>0?o:0)+((c[b+16+(j*680|0)+20+(h*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(k|0)>0?k:0)|0;h=h+1|0}while((h|0)!=32);Yo(e,104526,0)|0;if((j|0)==(p|0))break;else j=j+1|0}}j=-1;p=0;do{j=(c[b+43536+(p<<4)+12>>2]|0)==68&((c[b+43536+(p<<4)+8>>2]|0)==67&((c[b+43536+(p<<4)+4>>2]|0)==66&((c[b+44560+(p<<2)>>2]|0)==0?(c[b+43536+(p<<4)>>2]|0)==65:0)))?j:p;p=p+1|0}while((p|0)!=64);if((j|0)>-1){Yo(e,104660,0)|0;p=0;while(1){dp(e,104520,c[b+44560+(p<<2)>>2]|0,0,0,0)|0;dp(e,104671,c[b+43536+(p<<4)>>2]|0,c[b+43536+(p<<4)+4>>2]|0,c[b+43536+(p<<4)+8>>2]|0,c[b+43536+(p<<4)+12>>2]|0)|0;if((p|0)==(j|0))break;else p=p+1|0}Yo(e,104526,0)|0}Sq();p=0;j=0;do{p=(a[b+45884+j>>0]|0)==-1?p:1;j=j+1|0}while((j|0)!=2144);if(p|0){Yo(e,104689,0)|0;p=0;do{dp(e,104626,d[b+45884+p>>0]|0,0,0,0)|0;p=p+1|0}while((p|0)!=2144);Yo(e,104526,0)|0}p=b+48028|0;if((c[p>>2]|0)<=0){Ia=g;return 0}j=b+48032|0;b=0;do{h=c[(c[j>>2]|0)+(b<<2)>>2]|0;k=h+12|0;l=c[k>>2]|0;o=bu(l)|0;Ho(l,1,o,e)|0;Yo(e,104526,0)|0;l=o+1|0;Ho((c[k>>2]|0)+l|0,1,(c[h+16>>2]|0)-l|0,e)|0;b=b+1|0}while((b|0)<(c[p>>2]|0));Ia=g;return 0}function As(a,b){a=a|0;b=b|0;var c=0,d=0;c=Po(b,104706)|0;if(!c){d=1;return d|0}zs(a,c,0)|0;Ro(c);d=0;return d|0}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0;d=vq(370)|0;if(!a){e=Aq(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=Ms()|0;c[d+364>>2]=b;c[b+16>>2]=24;Cs(d);return d|0}function Cs(a){a=a|0;var b=0,d=0;b=Aq(2048)|0;d=c[a>>2]|0;Ho(d,1,(bu(d)|0)+1|0,b)|0;Go(c[a+336>>2]|0,b);Go(c[a+344>>2]|0,b);Go(c[a+348>>2]|0,b);Go(c[a+320>>2]|0,b);Go(c[a+324>>2]|0,b);Go(c[a+352>>2]|0,b);d=c[a+364>>2]|0;Ps(b,d,(bu(c[a>>2]|0)|0)+1|0)|0;return}function Ds(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Cq(b);Ns(c[a+364>>2]|0);zq(a);return}function Es(a){a=a|0;var b=0,c=0;if(a>>>0>127|(Mt(104709,a,64)|0)!=0){b=1;return b|0}if(Mt(104773,a,4)|0){b=3;return b|0}if(Mt(104777,a,4)|0){b=4;return b|0}if(Mt(104781,a,9)|0){b=5;return b|0}c=(Mt(104790,a,22)|0)==0;b=c?0:2;return b|0}function Fs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=bu(b)|0;if(!d)g=xq(f+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=0;h=g;while(1){i=(a[b+e>>0]|0)+256|0;j=(i|0)%256|0;do if((j|0)>127){k=b+(e+1)|0;l=b+(e+2)|0;m=b+(e+3)|0;n=b+(e+4)|0;o=b+(e+5)|0;p=b+(e+6)|0;q=0;while(1){r=a[32224+(q*7|0)>>0]|0;if(r<<24>>24!=0&(j|0)==(r&255|0)){s=a[32224+(q*7|0)+1>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[32224+(q*7|0)+2>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[32224+(q*7|0)+3>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[32224+(q*7|0)+4>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[32224+(q*7|0)+5>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=a[32224+(q*7|0)+6>>0]|0;if(x<<24>>24?(((a[p>>0]|0)+256|0)%256|0|0)==(x&255|0):0){y=7;z=11;break}else{A=x;B=6}}else{A=w;B=5}}else{A=v;B=4}}else{A=u;B=3}}else{A=t;B=2}}else{A=s;B=1}}else{A=r;B=0}if(!(A<<24>>24)){y=B;z=11;break}r=q+1|0;if(r>>>0<70)q=r;else break}if((z|0)==11){z=0;if(q>>>0>=26)if(q>>>0<42)C=246;else C=q>>>0<44?212:21;else C=128;a[h>>0]=q+C;p=h+1|0;a[p>>0]=0;D=e+-1+y|0;E=p;break}if((j|0)==227){p=-1;o=e;n=0;m=h;while(1){l=b+(o+1)|0;k=c[32784+(n<<2)>>2]|0;if((((a[l>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(r=o+2|0,s=m+1|0,(((a[b+r>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[m>>0]=n+154;a[s>>0]=0;F=b+(o+3)|0;G=n;H=r;I=s}else{F=l;G=p;H=o;I=m}l=c[32992+(n<<2)>>2]|0;if((((a[F>>0]|0)+256|0)%256|0|0)==(l>>>8&255|0)?(s=H+2|0,r=I+1|0,(((a[b+s>>0]|0)+256|0)%256|0|0)==(l&255|0)):0){a[I>>0]=n+204;a[r>>0]=0;J=n;K=s;L=r}else{J=G;K=H;L=I}n=n+1|0;if((n|0)==50)break;else{p=J;o=K;m=L}}if((J|0)<0){M=(a[b+K>>0]|0)+256|0;N=J;O=K;P=L;z=26}else{D=K;E=L}}else{M=i;N=-1;O=e;P=h;z=26}}else{M=i;N=-1;O=e;P=h;z=26}while(0);do if((z|0)==26){z=0;if((((M|0)%256|0|0)==226?(((a[b+(O+1)>>0]|0)+256|0)%256|0|0)==151:0)?(i=O+2|0,(((a[b+i>>0]|0)+256|0)%256|0|0)==139):0){a[P>>0]=127;j=P+1|0;a[j>>0]=0;D=i;E=j;break}j=N;i=O;m=1;o=P;while(1){a:do if((m|0)<4){p=c[32720+(m<<2)>>2]|0;if((p>>>8&255|0)==(((a[b+i>>0]|0)+256|0)%256|0|0)?(n=i+1|0,(p&255|0)==(((a[b+n>>0]|0)+256|0)%256|0|0)):0){a[o>>0]=m;p=o+1|0;a[p>>0]=0;Q=m;R=n;S=1e3;T=p}else{Q=j;R=i;S=m;T=o}}else{switch(m|0){case 9:case 10:case 13:{Q=j;R=i;S=m;T=o;break a;break}default:{}}p=c[32720+(m<<2)>>2]|0;if(((p>>>16&255|0)==(((a[b+i>>0]|0)+256|0)%256|0|0)?(p>>>8&255|0)==(((a[b+(i+1)>>0]|0)+256|0)%256|0|0):0)?(n=i+2|0,(p&255|0)==(((a[b+n>>0]|0)+256|0)%256|0|0)):0){a[o>>0]=m;p=o+1|0;a[p>>0]=0;Q=m;R=n;S=1e3;T=p}else{Q=j;R=i;S=m;T=o}}while(0);if((S|0)<15){j=Q;i=R;m=S+1|0;o=T}else break}if((Q|0)<0?(o=a[b+R>>0]|0,o<<24>>24!=13):0){if(d&(o+-65&255)<26)U=(o&255)+32&255;else U=o;a[T>>0]=U;o=T+1|0;a[o>>0]=0;D=R;E=o}else{D=R;E=T}}while(0);e=D+1|0;if((e|0)>=(f|0))break;else h=E}return g|0}function Gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[b+292>>2]|0;if(!e)f=c[8743]|0;else{c[8744]=c[e+12>>2];g=c[e+16>>2]|0;c[8743]=g;f=g}g=(d|0)!=0&(f|0)>128?(f|0)/3|0:d;d=c[b+336>>2]|0;a:do if(!d){h=b+312|0;i=b+308|0;j=0;k=0}else{e=c[b>>2]|0;l=b+316|0;m=b+308|0;n=b+312|0;o=e;p=e;e=0;q=0;while(1){r=a[p>>0]|0;if(!(r<<24>>24)){h=n;i=m;j=0;k=0;break a}s=c[l>>2]|0;t=(s|0)>4?s:4;if(r<<24>>24!=9)if(r<<24>>24==10){u=0;v=(c[n>>2]|0)+q|0}else{u=(c[m>>2]<<((r&255)>>>7))+e|0;v=q}else{u=t+e-((e|0)%(t|0)|0)|0;v=q}p=p+1|0;if((p-o|0)==(d|0)){h=n;i=m;j=u;k=v;break}else{e=u;q=v}}}while(0);v=(c[h>>2]|0)-f+k|0;f=b+324|0;h=c[f>>2]|0;u=(h|0)<(k|0)?h:k;h=(g|0)==0?((v|0)>(u|0)?v:u):k-g|0;c[f>>2]=(h|0)>0?h:0;h=(c[i>>2]|0)-(c[8744]|0)+j|0;i=b+320|0;b=c[i>>2]|0;f=(b|0)<(j|0)?b:j;j=(h|0)>(f|0)?h:f;c[i>>2]=(j|0)>0?j:0;return}function Hs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=bu(b)|0;if(!d)g=xq((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=0;h=g;while(1){i=a[b+e>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[32720+(j<<2)>>2]|0;a[h>>0]=k>>>16;a[h+1>>0]=k>>>8;a[h+2>>0]=k;l=h+3|0;break a}else{if((j|0)==127){a[h>>0]=-30;a[h+1>>0]=-105;a[h+2>>0]=-117;l=h+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[h>>0]=-29;n=c[32784+(m<<2)>>2]|0;a[h+1>>0]=n>>>8;a[h+2>>0]=n;l=h+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[h>>0]=-29;m=c[32992+(n<<2)>>2]|0;a[h+1>>0]=m>>>8;a[h+2>>0]=m;l=h+3|0;break a}m=a[32224+(k*7|0)>>0]|0;if(!(m<<24>>24))o=h;else{a[h>>0]=m;o=h+1|0}m=a[32224+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[32224+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[32224+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[32224+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[32224+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[32224+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[32224+(m*7|0)>>0]|0;if(!(k<<24>>24))u=h;else{a[h>>0]=k;u=h+1|0}k=a[32224+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[32224+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[32224+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[32224+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[32224+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[32224+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[32224+(k*7|0)>>0]|0;if(!(m<<24>>24))A=h;else{a[h>>0]=m;A=h+1|0}m=a[32224+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[32224+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[32224+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[32224+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[32224+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[32224+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[h>>0]=i;l=h+1|0;break}m=j+-21|0;k=a[32224+(m*7|0)>>0]|0;if(!(k<<24>>24))G=h;else{a[h>>0]=k;G=h+1|0}k=a[32224+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[32224+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[32224+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[32224+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[32224+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[32224+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[32720+(j<<2)>>2]|0;a[h>>0]=k>>>8;a[h+1>>0]=k;l=h+2|0}while(0);a[l>>0]=0;e=e+1|0;if((e|0)==(f|0))break;else h=l}return g|0}function Is(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=d;d=b;b=0;g=c;while(1){g=g+-1|0;c=b+(f<<24>>24==10&1)|0;d=d+1|0;f=a[d>>0]|0;if((g|0)==0|f<<24>>24==0){e=c;break}else b=c}return e|0}function Js(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0)e=b;else{f=d;d=b;g=0;while(1){g=g+(f<<24>>24==10&1)|0;h=d+1|0;f=a[h>>0]|0;if((g|0)==(c|0)|f<<24>>24==0){e=h;break}else d=h}}return e-b|0}function Ks(a,b){a=a|0;b=b|0;return Hs(a,b,1)|0}function Ls(a,b){a=a|0;b=b|0;return Fs(a,b,1)|0}function Ms(){var a=0;a=vq(20)|0;c[a>>2]=Aq(0)|0;c[a+4>>2]=Aq(0)|0;c[a+8>>2]=Aq(0)|0;c[a+12>>2]=Aq(0)|0;return a|0}function Ns(a){a=a|0;if(!a)return;Cq(c[a>>2]|0);Cq(c[a+4>>2]|0);Cq(c[a+8>>2]|0);Cq(c[a+12>>2]|0);return}function Os(a){a=a|0;if(!a)return;Dq(c[a>>2]|0);Dq(c[a+4>>2]|0);Dq(c[a+8>>2]|0);Dq(c[a+12>>2]|0);return}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){Cq(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(tt(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){Cq(a);h=0;return h|0}d=Qs(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;Ho(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;Go(c[g>>2]|0,f);Cq(d);Dq(c[b>>2]|0);Cq(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function Qs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=Aq(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=o;t=r;u=q;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=o;t=v;u=w;break}}}else{s=o;t=0;u=0}}else{s=0;t=0;u=0}while(0);Io(j,g);Io(s,g);Io(t,g);t=j-s+u|0;u=(t+7|0)/8|0;j=(t|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(t|0)){q=r+s|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(t|0)){p=q+s|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);Jo(E,g);k=k+1|0}while((k|0)<(u|0));if(j){j=g+12|0;u=e+12|0;k=0;do{E=k+s|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))Jo(a[(c[u>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(t|0));F=u}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];Ho((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;Go(f,g);c[e>>2]=0;return g|0}function Rs(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{ku(a,b)|0;c=a}return c|0}function Ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((a|0)==(b|0))d=a;else{kv(a,b,c)|0;d=a}return d|0}function Ts(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=vq((bu(c)|0)+1|0)|0;if((d|0)!=(c|0))ku(d,c)|0;c=a[d>>0]|0;if(c<<24>>24){e=c;c=d;do{if((e+-65&255)<26)a[c>>0]=(e&255)+32;c=c+1|0;e=a[c>>0]|0}while(e<<24>>24!=0)}e=vq((bu(b)|0)+1|0)|0;if((e|0)!=(b|0))ku(e,b)|0;c=a[e>>0]|0;if(c<<24>>24){f=c;c=e;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0)}f=bv(e,d)|0;zq(d);zq(e);return ((f|0)==0?0:b+(f-e)|0)|0}function Us(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=j+256+(v&-256)|0;x=g+-1-(v>>>8)|0}else{w=j;x=g}if((w|0)>255){g=~w;j=w+256+((g|0)>-512?g:-512)|0;y=w+-256-(j&-256)|0;z=x+1+(j>>>8)|0}else{y=w;z=x}if((z|0)<0)A=1;else{x=(z>>>0)/12|0;C=+(c[33200+((z-(x*12|0)<<3)+((y|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<<x|0);A=C!=0.0?~~(916317184.0/C/44742.0*65536.0*256.0+.5):3749769}c[d+52>>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;y=c[x>>2]|0;z=A+-1|0;if((y|0)<(z|0)?(w=y+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=y;y=(D|0)<(z|0)?D:z;z=(y|0)>0?y:0;c[x>>2]=z;x=z+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(z<<2)>>2]|0;y=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;j=w-A|0;A=B(y-j|0,c[b+(f*332|0)+180+(z<<2)>>2]|0)|0;g=d+16|0;c[g>>2]=A;c[g>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,j)|0)+A|0)/(y|0)|0;E=w;F=D}else{c[d+16>>2]=c[b+(f*332|0)+180+(z<<2)>>2];z=d+24|0;E=c[z>>2]|0;F=z}c[F>>2]=E+1;return}c[d+16>>2]=64;return}function Vs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=11;w=c[l+68>>2]|0;x=0;y=u;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=t;D=B;E=g;F=s;G=0}else{v=r;w=t;x=B;y=s;z=0;A=7}}if((A|0)==7){A=v&255;c[f>>2]=A;C=w;D=x;E=A;F=y;G=z}z=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;y=a[z>>0]|0;if(y<<24>>24)c[i>>2]=y&255;if((a[F>>0]|0)==0?(a[z>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=E;E=a[q>>0]|0;do if(E<<24>>24){q=E&255;if((E&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!G){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[C+(D*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);D=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(D<<24>>24)c[e+8>>2]=(D&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function Ws(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Va[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=i;k=0;r=h;while(1){if((c[a>>2]|0)==8){h=tp(32e3)|0;s=c[m>>2]|0;t=c[n>>2]|0;u=h}else{h=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(h<<1)>>1]|0)|0;s=v;t=h;u=x+(B(w,b[j+(h+1<<1)>>1]|0)|0)>>8}b[e>>1]=(B(u,r)|0)>>>12;e=e+2|0;h=s+(c[l>>2]|0)|0;w=t+(h>>24)|0;c[n>>2]=w;c[m>>2]=h&16777215;h=c[d>>2]|0;if(((h|0)!=0?(c[p>>2]&3|0)!=0:0)?(w|0)>=((c[q>>2]|0)+h|0):0){x=w-h|0;c[n>>2]=x;y=x}else y=w;if((y|0)<(c[o>>2]|0))z=r;else{c[g>>2]=0;z=0}k=k+1|0;if((k|0)==(f|0))break;else r=z}return}wq(i,0,f<<1);return}function Xs(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;Xr()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=c[h>>2]|0;r=f;f=e;a:while(1){e=c[i>>2]|0;if((e|0)>(q|0)){s=e-q|0;e=(s|0)<(r|0)?s:r;do if((e|0)!=0?(s=e+q|0,(e|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=q+1|0;Wv(f|0,0,((s|0)>(u|0)?s:u)-q<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(w<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[u>>1]=(z|0)>-32767?z:-32767;w=w+1|0;if((w|0)>=(s|0)){v=q;break}else u=u+2|0}}else v=q;while(0);c[h>>2]=v+e;u=r-e|0;if((u|0)>0){A=u;C=f+(e<<1)|0}else{D=44;break}}else{A=r;C=f}u=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=u;else{c:do if((u|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;w=s+1|0;if((w|0)<(u|0))s=w;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=u}while(0);if((E|0)>0){u=0;do{e=a+262788+(u*32848|0)|0;y=a+4+(u*32848|0)|0;w=e+80|0;do{c[e>>2]=c[y>>2];e=e+4|0;y=y+4|0}while((e|0)<(w|0));u=u+1|0;y=c[l>>2]|0}while((u|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){u=0;do{Vs(a,a+4+(u*32848|0)|0);u=u+1|0;H=c[l>>2]|0}while((u|0)<(H|0));u=c[g>>2]|0;if((u|0)!=-1){c[j>>2]=u;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){u=0;do{Vs(a,a+4+(u*32848|0)|0);u=u+1|0;y=c[l>>2]|0}while((u|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){u=0;do{y=a+4+(u*32848|0)|0;Us(a,y);Ws(a,y,0,c[i>>2]|0);Ws(a,a+262788+(u*32848|0)|0,0,128);y=0;do{e=B(128-y|0,b[a+262788+(u*32848|0)+80+(y<<1)>>1]|0)|0;w=a+4+(u*32848|0)+80+(y<<1)|0;b[w>>1]=((B(y,b[w>>1]|0)|0)+e|0)>>>7;y=y+1|0}while((y|0)!=128);u=u+1|0}while((u|0)<(c[l>>2]|0))}c[h>>2]=0;u=(c[m>>2]|0)+1|0;c[m>>2]=u;if((u|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;u=(c[n>>2]|0)+1|0;c[n>>2]=u;J=u}u=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[u+60>>2]|0)+((d[u+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((A|0)>0){q=0;r=A;f=C}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function Ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;b=Ia;Ia=Ia+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[798949]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3195836+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[798949]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Ia=b;return o|0}m=c[798951]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3195836+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[798949]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[798954]|0;h=m>>>3;l=3195836+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[798949]=p|i;q=l+8|0;r=l}else{i=l+8|0;q=i;r=c[i>>2]|0}c[q>>2]=n;c[r+12>>2]=n;c[n+8>>2]=r;c[n+12>>2]=l}c[798951]=j;c[798954]=k;o=f;Ia=b;return o|0}f=c[798950]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3196100+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(c[s+4>>2]&-8)-e|0;h=s;n=s;while(1){s=c[h+16>>2]|0;if(!s){l=c[h+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<i>>>0;i=l?s:i;h=t;n=l?t:n}h=n+e|0;if(h>>>0>n>>>0){l=c[n+24>>2]|0;s=c[n+12>>2]|0;do if((s|0)==(n|0)){j=n+20|0;k=c[j>>2]|0;if(!k){u=n+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[n+8>>2]|0;c[u+12>>2]=s;c[s+8>>2]=u;w=s}while(0);do if(l|0){s=c[n+28>>2]|0;u=3196100+(s<<2)|0;if((n|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[798950]=f&~(1<<s);break}}else{s=l+16|0;c[((c[s>>2]|0)==(n|0)?s:l+20|0)>>2]=w;if(!w)break}c[w+24>>2]=l;s=c[n+16>>2]|0;if(s|0){c[w+16>>2]=s;c[s+24>>2]=w}s=c[n+20>>2]|0;if(s|0){c[w+20>>2]=s;c[s+24>>2]=w}}while(0);if(i>>>0<16){l=i+e|0;c[n+4>>2]=l|3;f=n+l+4|0;c[f>>2]=c[f>>2]|1}else{c[n+4>>2]=e|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(m|0){f=c[798954]|0;l=m>>>3;s=3195836+(l<<1<<2)|0;u=1<<l;if(!(u&g)){c[798949]=u|g;D=s+8|0;E=s}else{u=s+8|0;D=u;E=c[u>>2]|0}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=s}c[798951]=i;c[798954]=h}o=n+8|0;Ia=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){s=a+11|0;f=s&-8;u=c[798950]|0;if(u){l=0-f|0;v=s>>>8;if(v)if(f>>>0>16777215)G=31;else{s=(v+1048320|0)>>>16&8;z=v<<s;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|s|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3196100+(G<<2)>>2]|0;a:do if(!H){I=l;J=0;K=0;L=61}else{z=l;A=0;s=f<<((G|0)==31?0:25-(G>>>1)|0);v=H;M=0;while(1){N=(c[v+4>>2]&-8)-f|0;if(N>>>0<z>>>0)if(!N){O=0;P=v;Q=v;L=65;break a}else{R=N;S=v}else{R=z;S=M}N=c[v+20>>2]|0;v=c[v+16+(s>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(v|0)?A:N;if(!v){I=R;J=T;K=S;L=61;break}else{z=R;A=T;s=s<<1;M=S}}}while(0);if((L|0)==61){if((J|0)==0&(K|0)==0){H=2<<G;l=(H|0-H)&u;if(!l){F=f;break}H=(l&0-l)+-1|0;l=H>>>12&16;e=H>>>l;H=e>>>5&8;n=e>>>H;e=n>>>2&4;h=n>>>e;n=h>>>1&2;i=h>>>n;h=i>>>1&1;U=c[3196100+((H|l|e|n|h)+(i>>>h)<<2)>>2]|0;V=0}else{U=J;V=K}if(!U){W=I;X=V}else{O=I;P=U;Q=V;L=65}}if((L|0)==65){h=O;i=P;n=Q;while(1){e=(c[i+4>>2]&-8)-f|0;l=e>>>0<h>>>0;H=l?e:h;e=l?i:n;l=c[i+16>>2]|0;if(!l)Y=c[i+20>>2]|0;else Y=l;if(!Y){W=H;X=e;break}else{h=H;i=Y;n=e}}}if(((X|0)!=0?W>>>0<((c[798951]|0)-f|0)>>>0:0)?(n=X+f|0,n>>>0>X>>>0):0){i=c[X+24>>2]|0;h=c[X+12>>2]|0;do if((h|0)==(X|0)){e=X+20|0;H=c[e>>2]|0;if(!H){l=X+16|0;g=c[l>>2]|0;if(!g){Z=0;break}else{_=g;$=l}}else{_=H;$=e}e=_;H=$;while(1){l=e+20|0;g=c[l>>2]|0;if(!g){m=e+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=l}e=aa;H=ba}c[H>>2]=0;Z=e}else{l=c[X+8>>2]|0;c[l+12>>2]=h;c[h+8>>2]=l;Z=h}while(0);do if(i){h=c[X+28>>2]|0;l=3196100+(h<<2)|0;if((X|0)==(c[l>>2]|0)){c[l>>2]=Z;if(!Z){l=u&~(1<<h);c[798950]=l;ca=l;break}}else{l=i+16|0;c[((c[l>>2]|0)==(X|0)?l:i+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=i;l=c[X+16>>2]|0;if(l|0){c[Z+16>>2]=l;c[l+24>>2]=Z}l=c[X+20>>2]|0;if(l){c[Z+20>>2]=l;c[l+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(W>>>0<16){u=W+f|0;c[X+4>>2]=u|3;i=X+u+4|0;c[i>>2]=c[i>>2]|1}else{c[X+4>>2]=f|3;c[n+4>>2]=W|1;c[n+W>>2]=W;i=W>>>3;if(W>>>0<256){u=3195836+(i<<1<<2)|0;l=c[798949]|0;h=1<<i;if(!(l&h)){c[798949]=l|h;da=u+8|0;ea=u}else{h=u+8|0;da=h;ea=c[h>>2]|0}c[da>>2]=n;c[ea+12>>2]=n;c[n+8>>2]=ea;c[n+12>>2]=u;break}u=W>>>8;if(u)if(W>>>0>16777215)fa=31;else{h=(u+1048320|0)>>>16&8;l=u<<h;u=(l+520192|0)>>>16&4;i=l<<u;l=(i+245760|0)>>>16&2;g=14-(u|h|l)+(i<<l>>>15)|0;fa=W>>>(g+7|0)&1|g<<1}else fa=0;g=3196100+(fa<<2)|0;c[n+28>>2]=fa;l=n+16|0;c[l+4>>2]=0;c[l>>2]=0;l=1<<fa;if(!(ca&l)){c[798950]=ca|l;c[g>>2]=n;c[n+24>>2]=g;c[n+12>>2]=n;c[n+8>>2]=n;break}l=c[g>>2]|0;c:do if((c[l+4>>2]&-8|0)==(W|0))ga=l;else{g=W<<((fa|0)==31?0:25-(fa>>>1)|0);i=l;while(1){ha=i+16+(g>>>31<<2)|0;h=c[ha>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(W|0)){ga=h;break c}else{g=g<<1;i=h}}c[ha>>2]=n;c[n+24>>2]=i;c[n+12>>2]=n;c[n+8>>2]=n;break b}while(0);l=ga+8|0;e=c[l>>2]|0;c[e+12>>2]=n;c[l>>2]=n;c[n+8>>2]=e;c[n+12>>2]=ga;c[n+24>>2]=0}while(0);o=X+8|0;Ia=b;return o|0}else F=f}else F=f}else F=-1;while(0);X=c[798951]|0;if(X>>>0>=F>>>0){ga=X-F|0;ha=c[798954]|0;if(ga>>>0>15){W=ha+F|0;c[798954]=W;c[798951]=ga;c[W+4>>2]=ga|1;c[ha+X>>2]=ga;c[ha+4>>2]=F|3}else{c[798951]=0;c[798954]=0;c[ha+4>>2]=X|3;ga=ha+X+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ia=b;return o|0}ha=c[798952]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[798952]=ga;X=c[798955]|0;W=X+F|0;c[798955]=W;c[W+4>>2]=ga|1;c[X+4>>2]=F|3;o=X+8|0;Ia=b;return o|0}if(!(c[799067]|0)){c[799069]=4096;c[799068]=4096;c[799070]=-1;c[799071]=-1;c[799072]=0;c[799060]=0;c[799067]=d&-16^1431655768;ia=4096}else ia=c[799069]|0;d=F+48|0;X=F+47|0;ga=ia+X|0;W=0-ia|0;ia=ga&W;if(ia>>>0<=F>>>0){o=0;Ia=b;return o|0}fa=c[799059]|0;if(fa|0?(ca=c[799057]|0,ea=ca+ia|0,ea>>>0<=ca>>>0|ea>>>0>fa>>>0):0){o=0;Ia=b;return o|0}d:do if(!(c[799060]&4)){fa=c[798955]|0;e:do if(fa){ea=3196244;while(1){ca=c[ea>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[ea+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[ea+8>>2]|0;if(!ca){L=128;break e}else ea=ca}ca=ga-ha&W;if(ca>>>0<2147483647){da=Xv(ca|0)|0;if((da|0)==((c[ea>>2]|0)+(c[ea+4>>2]|0)|0))if((da|0)==(-1|0))ja=ca;else{ka=da;la=ca;L=145;break d}else{ma=da;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Xv(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[799068]|0,da=ca+-1|0,Z=((da&f|0)==0?0:(da+f&0-ca)-f|0)+ia|0,f=c[799057]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){da=c[799059]|0;if(da|0?ca>>>0<=f>>>0|ca>>>0>da>>>0:0){ja=0;break}da=Xv(Z|0)|0;if((da|0)==(fa|0)){ka=fa;la=Z;L=145;break d}else{ma=da;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=ma;la=na;L=145;break d}da=c[799069]|0;fa=X-na+da&0-da;if(fa>>>0>=2147483647){ka=ma;la=na;L=145;break d}if((Xv(fa|0)|0)==(-1|0)){Xv(Z|0)|0;ja=0;break}else{ka=ma;la=fa+na|0;L=145;break d}}while(0);c[799060]=c[799060]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Xv(ia|0)|0,ia=Xv(0)|0,na=ia-ja|0,ma=na>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|ma^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=ja;la=ma?na:oa;L=145}if((L|0)==145){oa=(c[799057]|0)+la|0;c[799057]=oa;if(oa>>>0>(c[799058]|0)>>>0)c[799058]=oa;oa=c[798955]|0;f:do if(oa){na=3196244;while(1){pa=c[na>>2]|0;qa=c[na+4>>2]|0;if((ka|0)==(pa+qa|0)){L=154;break}ma=c[na+8>>2]|0;if(!ma)break;else na=ma}if(((L|0)==154?(ma=na+4|0,(c[na+12>>2]&8|0)==0):0)?ka>>>0>oa>>>0&pa>>>0<=oa>>>0:0){c[ma>>2]=qa+la;ma=(c[798952]|0)+la|0;ja=oa+8|0;ia=(ja&7|0)==0?0:0-ja&7;ja=oa+ia|0;X=ma-ia|0;c[798955]=ja;c[798952]=X;c[ja+4>>2]=X|1;c[oa+ma+4>>2]=40;c[798956]=c[799071];break}if(ka>>>0<(c[798953]|0)>>>0)c[798953]=ka;ma=ka+la|0;X=3196244;while(1){if((c[X>>2]|0)==(ma|0)){L=162;break}ja=c[X+8>>2]|0;if(!ja)break;else X=ja}if((L|0)==162?(c[X+12>>2]&8|0)==0:0){c[X>>2]=ka;na=X+4|0;c[na>>2]=(c[na>>2]|0)+la;na=ka+8|0;ja=ka+((na&7|0)==0?0:0-na&7)|0;na=ma+8|0;ia=ma+((na&7|0)==0?0:0-na&7)|0;na=ja+F|0;d=ia-ja-F|0;c[ja+4>>2]=F|3;g:do if((oa|0)==(ia|0)){W=(c[798952]|0)+d|0;c[798952]=W;c[798955]=na;c[na+4>>2]=W|1}else{if((c[798954]|0)==(ia|0)){W=(c[798951]|0)+d|0;c[798951]=W;c[798954]=na;c[na+4>>2]=W|1;c[na+W>>2]=W;break}W=c[ia+4>>2]|0;if((W&3|0)==1){ha=W&-8;ga=W>>>3;h:do if(W>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[798949]=c[798949]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){da=ia+16|0;ca=da+4|0;f=c[ca>>2]|0;if(!f){ba=c[da>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=da}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){da=ca+20|0;ba=c[da>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=da}ca=ua;f=va}c[f>>2]=0;ra=ca}else{da=c[ia+8>>2]|0;c[da+12>>2]=Z;c[Z+8>>2]=da;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;i=3196100+(Z<<2)|0;do if((c[i>>2]|0)!=(ia|0)){da=fa+16|0;c[((c[da>>2]|0)==(ia|0)?da:fa+20|0)>>2]=ra;if(!ra)break h}else{c[i>>2]=ra;if(ra|0)break;c[798950]=c[798950]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;i=c[Z>>2]|0;if(i|0){c[ra+16>>2]=i;c[i+24>>2]=ra}i=c[Z+4>>2]|0;if(!i)break;c[ra+20>>2]=i;c[i+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[na+4>>2]=xa|1;c[na+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){W=3195836+(ga<<1<<2)|0;ea=c[798949]|0;i=1<<ga;if(!(ea&i)){c[798949]=ea|i;ya=W+8|0;za=W}else{i=W+8|0;ya=i;za=c[i>>2]|0}c[ya>>2]=na;c[za+12>>2]=na;c[na+8>>2]=za;c[na+12>>2]=W;break}W=xa>>>8;do if(!W)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}i=(W+1048320|0)>>>16&8;ea=W<<i;ga=(ea+520192|0)>>>16&4;Z=ea<<ga;ea=(Z+245760|0)>>>16&2;da=14-(ga|i|ea)+(Z<<ea>>>15)|0;Aa=xa>>>(da+7|0)&1|da<<1}while(0);W=3196100+(Aa<<2)|0;c[na+28>>2]=Aa;ha=na+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[798950]|0;da=1<<Aa;if(!(ha&da)){c[798950]=ha|da;c[W>>2]=na;c[na+24>>2]=W;c[na+12>>2]=na;c[na+8>>2]=na;break}da=c[W>>2]|0;i:do if((c[da+4>>2]&-8|0)==(xa|0))Ba=da;else{W=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=da;while(1){Ca=ha+16+(W>>>31<<2)|0;ea=c[Ca>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(xa|0)){Ba=ea;break i}else{W=W<<1;ha=ea}}c[Ca>>2]=na;c[na+24>>2]=ha;c[na+12>>2]=na;c[na+8>>2]=na;break g}while(0);da=Ba+8|0;W=c[da>>2]|0;c[W+12>>2]=na;c[da>>2]=na;c[na+8>>2]=W;c[na+12>>2]=Ba;c[na+24>>2]=0}while(0);o=ja+8|0;Ia=b;return o|0}na=3196244;while(1){d=c[na>>2]|0;if(d>>>0<=oa>>>0?(Da=d+(c[na+4>>2]|0)|0,Da>>>0>oa>>>0):0)break;na=c[na+8>>2]|0}na=Da+-47|0;ja=na+8|0;d=na+((ja&7|0)==0?0:0-ja&7)|0;ja=oa+16|0;na=d>>>0<ja>>>0?oa:d;d=na+8|0;ia=la+-40|0;ma=ka+8|0;X=(ma&7|0)==0?0:0-ma&7;ma=ka+X|0;W=ia-X|0;c[798955]=ma;c[798952]=W;c[ma+4>>2]=W|1;c[ka+ia+4>>2]=40;c[798956]=c[799071];ia=na+4|0;c[ia>>2]=27;c[d>>2]=c[799061];c[d+4>>2]=c[799062];c[d+8>>2]=c[799063];c[d+12>>2]=c[799064];c[799061]=ka;c[799062]=la;c[799064]=0;c[799063]=d;d=na+24|0;do{W=d;d=d+4|0;c[d>>2]=7}while((W+8|0)>>>0<Da>>>0);if((na|0)!=(oa|0)){d=na-oa|0;c[ia>>2]=c[ia>>2]&-2;c[oa+4>>2]=d|1;c[na>>2]=d;W=d>>>3;if(d>>>0<256){ma=3195836+(W<<1<<2)|0;X=c[798949]|0;da=1<<W;if(!(X&da)){c[798949]=X|da;Ea=ma+8|0;Fa=ma}else{da=ma+8|0;Ea=da;Fa=c[da>>2]|0}c[Ea>>2]=oa;c[Fa+12>>2]=oa;c[oa+8>>2]=Fa;c[oa+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ga=31;else{da=(ma+1048320|0)>>>16&8;X=ma<<da;ma=(X+520192|0)>>>16&4;W=X<<ma;X=(W+245760|0)>>>16&2;fa=14-(ma|da|X)+(W<<X>>>15)|0;Ga=d>>>(fa+7|0)&1|fa<<1}else Ga=0;fa=3196100+(Ga<<2)|0;c[oa+28>>2]=Ga;c[oa+20>>2]=0;c[ja>>2]=0;X=c[798950]|0;W=1<<Ga;if(!(X&W)){c[798950]=X|W;c[fa>>2]=oa;c[oa+24>>2]=fa;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}W=c[fa>>2]|0;j:do if((c[W+4>>2]&-8|0)==(d|0))Ha=W;else{fa=d<<((Ga|0)==31?0:25-(Ga>>>1)|0);X=W;while(1){Ja=X+16+(fa>>>31<<2)|0;da=c[Ja>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(d|0)){Ha=da;break j}else{fa=fa<<1;X=da}}c[Ja>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break f}while(0);d=Ha+8|0;W=c[d>>2]|0;c[W+12>>2]=oa;c[d>>2]=oa;c[oa+8>>2]=W;c[oa+12>>2]=Ha;c[oa+24>>2]=0}}else{W=c[798953]|0;if((W|0)==0|ka>>>0<W>>>0)c[798953]=ka;c[799061]=ka;c[799062]=la;c[799064]=0;c[798958]=c[799067];c[798957]=-1;c[798962]=3195836;c[798961]=3195836;c[798964]=3195844;c[798963]=3195844;c[798966]=3195852;c[798965]=3195852;c[798968]=3195860;c[798967]=3195860;c[798970]=3195868;c[798969]=3195868;c[798972]=3195876;c[798971]=3195876;c[798974]=3195884;c[798973]=3195884;c[798976]=3195892;c[798975]=3195892;c[798978]=3195900;c[798977]=3195900;c[798980]=3195908;c[798979]=3195908;c[798982]=3195916;c[798981]=3195916;c[798984]=3195924;c[798983]=3195924;c[798986]=3195932;c[798985]=3195932;c[798988]=3195940;c[798987]=3195940;c[798990]=3195948;c[798989]=3195948;c[798992]=3195956;c[798991]=3195956;c[798994]=3195964;c[798993]=3195964;c[798996]=3195972;c[798995]=3195972;c[798998]=3195980;c[798997]=3195980;c[799e3]=3195988;c[798999]=3195988;c[799002]=3195996;c[799001]=3195996;c[799004]=3196004;c[799003]=3196004;c[799006]=3196012;c[799005]=3196012;c[799008]=3196020;c[799007]=3196020;c[799010]=3196028;c[799009]=3196028;c[799012]=3196036;c[799011]=3196036;c[799014]=3196044;c[799013]=3196044;c[799016]=3196052;c[799015]=3196052;c[799018]=3196060;c[799017]=3196060;c[799020]=3196068;c[799019]=3196068;c[799022]=3196076;c[799021]=3196076;c[799024]=3196084;c[799023]=3196084;W=la+-40|0;d=ka+8|0;ja=(d&7|0)==0?0:0-d&7;d=ka+ja|0;na=W-ja|0;c[798955]=d;c[798952]=na;c[d+4>>2]=na|1;c[ka+W+4>>2]=40;c[798956]=c[799071]}while(0);ka=c[798952]|0;if(ka>>>0>F>>>0){la=ka-F|0;c[798952]=la;ka=c[798955]|0;oa=ka+F|0;c[798955]=oa;c[oa+4>>2]=la|1;c[ka+4>>2]=F|3;o=ka+8|0;Ia=b;return o|0}}c[(gt()|0)>>2]=12;o=0;Ia=b;return o|0}function Zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[798953]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[798954]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}c[798951]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[798949]=c[798949]&~(1<<k);l=h;m=h;n=i;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=h;n=i;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3196100+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[798950]=c[798950]&~(1<<j);l=h;m=h;n=i;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=h;n=i;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=f>>>0)return;a=f+4|0;b=c[a>>2]|0;if(!(b&1))return;if(!(b&2)){if((c[798955]|0)==(f|0)){r=(c[798952]|0)+n|0;c[798952]=r;c[798955]=m;c[m+4>>2]=r|1;if((m|0)!=(c[798954]|0))return;c[798954]=0;c[798951]=0;return}if((c[798954]|0)==(f|0)){r=(c[798951]|0)+n|0;c[798951]=r;c[798954]=l;c[m+4>>2]=r|1;c[l+r>>2]=r;return}r=(b&-8)+n|0;x=b>>>3;do if(b>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[798949]=c[798949]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;i=3196100+(t<<2)|0;if((c[i>>2]|0)==(f|0)){c[i>>2]=y;if(!y){c[798950]=c[798950]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;i=c[t>>2]|0;if(i|0){c[y+16>>2]=i;c[i+24>>2]=y}i=c[t+4>>2]|0;if(i|0){c[y+20>>2]=i;c[i+24>>2]=y}}}while(0);c[m+4>>2]=r|1;c[l+r>>2]=r;if((m|0)==(c[798954]|0)){c[798951]=r;return}else D=r}else{c[a>>2]=b&-2;c[m+4>>2]=n|1;c[l+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){l=3195836+(n<<1<<2)|0;b=c[798949]|0;a=1<<n;if(!(b&a)){c[798949]=b|a;E=l+8|0;F=l}else{a=l+8|0;E=a;F=c[a>>2]|0}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=l;return}l=D>>>8;if(l)if(D>>>0>16777215)G=31;else{F=(l+1048320|0)>>>16&8;E=l<<F;l=(E+520192|0)>>>16&4;a=E<<l;E=(a+245760|0)>>>16&2;b=14-(l|F|E)+(a<<E>>>15)|0;G=D>>>(b+7|0)&1|b<<1}else G=0;b=3196100+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[798950]|0;a=1<<G;a:do if(!(E&a)){c[798950]=E|a;c[b>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m}else{F=c[b>>2]|0;b:do if((c[F+4>>2]&-8|0)==(D|0))H=F;else{l=D<<((G|0)==31?0:25-(G>>>1)|0);n=F;while(1){I=n+16+(l>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{l=l<<1;n=r}}c[I>>2]=m;c[m+24>>2]=n;c[m+12>>2]=m;c[m+8>>2]=m;break a}while(0);F=H+8|0;w=c[F>>2]|0;c[w+12>>2]=m;c[F>>2]=m;c[m+8>>2]=w;c[m+12>>2]=H;c[m+24>>2]=0}while(0);m=(c[798957]|0)+-1|0;c[798957]=m;if(m|0)return;m=3196252;while(1){H=c[m>>2]|0;if(!H)break;else m=H+8|0}c[798957]=-1;return}function _s(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Ys(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Wv(d|0,0,e|0)|0;return d|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Ys(b)|0;return d|0}if(b>>>0>4294967231){c[(gt()|0)>>2]=12;d=0;return d|0}e=at(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Ys(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Vv(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Zs(a);d=e;return d|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[799069]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;bt(j,i);h=a;return h|0}if((c[798955]|0)==(g|0)){i=(c[798952]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[798955]=k;c[798952]=j;h=a;return h|0}if((c[798954]|0)==(g|0)){j=(c[798951]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[798951]=o;c[798954]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[798949]=c[798949]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3196100+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[798950]=c[798950]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;bt(r,f);h=a;return h|0}return 0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[798954]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[798951]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[798949]=c[798949]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3196100+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[798950]=c[798950]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[798955]|0)==(d|0)){p=(c[798952]|0)+l|0;c[798952]=p;c[798955]=k;c[k+4>>2]=p|1;if((k|0)!=(c[798954]|0))return;c[798954]=0;c[798951]=0;return}if((c[798954]|0)==(d|0)){p=(c[798951]|0)+l|0;c[798951]=p;c[798954]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[798949]=c[798949]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3196100+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[798950]=c[798950]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[798954]|0)){c[798951]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3195836+(l<<1<<2)|0;b=c[798949]|0;p=1<<l;if(!(b&p)){c[798949]=b|p;C=a+8|0;D=a}else{p=a+8|0;C=p;D=c[p>>2]|0}c[C>>2]=k;c[D+12>>2]=k;c[k+8>>2]=D;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{D=(a+1048320|0)>>>16&8;C=a<<D;a=(C+520192|0)>>>16&4;p=C<<a;C=(p+245760|0)>>>16&2;b=14-(a|D|C)+(p<<C>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3196100+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;C=c[798950]|0;p=1<<E;if(!(C&p)){c[798950]=C|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);C=p;while(1){G=C+16+(b>>>31<<2)|0;D=c[G>>2]|0;if(!D)break;if((c[D+4>>2]&-8|0)==(B|0)){F=D;break a}else{b=b<<1;C=D}}c[G>>2]=k;c[k+24>>2]=C;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function ct(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=ht(c[a+60>>2]|0)|0;a=ft(ea(6,d|0)|0)|0;Ia=b;return a|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=ft(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Ia=f;return m|0}function et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ia;Ia=Ia+32|0;g=f+8|0;h=f;c[g>>2]=c[a+60>>2];c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=h;c[g+16>>2]=e;if((ft(Y(140,g|0)|0)|0)<0){g=h;c[g>>2]=-1;c[g+4>>2]=-1;i=-1;j=-1}else{g=h;i=c[g+4>>2]|0;j=c[g>>2]|0}F(i|0);Ia=f;return j|0}function ft(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(gt()|0)>>2]=0-a;b=-1}else b=a;return b|0}function gt(){return 3196292}function ht(a){a=a|0;return a|0}function it(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+32|0;g=f;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=jt(b,d,e)|0;Ia=f;return g|0}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=ft(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=c[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=n+(q<<31>>31)|0;t=g-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;g=ft(_(146,f|0)|0)|0;if((o|0)==(g|0)){u=3;break a}else{m=r;n=s}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((n|0)==2)v=0;else v=d-(c[m+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Ia=e;return v|0}function kt(a,b){a=+a;b=b|0;return +(+lt(a,b))}function lt(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0,j=0.0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?((f|0)>-1022?f:-1022):b+1022|0;j=e?d*2.2250738585072014e-308:d}else{i=b;j=a}else{d=a*8988465674311579538646525.0e283;e=(b|0)>2046;f=b+-2046|0;i=e?((f|0)<1023?f:1023):b+-1023|0;j=e?d*8988465674311579538646525.0e283:d}e=Rv(i+1023|0,0,52)|0;i=G()|0;c[h>>2]=e;c[h+4>>2]=i;return +(j*+g[h>>3])}function mt(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0,k=0.0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Qv(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+mt(a*18446744073709551616.0,b);j=(c[b>>2]|0)+-64|0;k=i}else{j=0;k=a}c[b>>2]=j;l=k;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function nt(a,b){a=+a;b=+b;return +(+ot(a,b))}function ot(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function pt(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=Qv(d|0,e|0,52)|0;G()|0;k=j&2047;j=Qv(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=Rv(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=qt(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=Rv(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=Rv(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=p;p=o;o=0;while(1){r=o+-1|0;q=Rv(q|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){s=r;break}else o=r}}else s=0;o=Rv(d|0,e|0,1-s|0)|0;t=o;u=G()|0;v=s}else{t=d;u=e&1048575|1048576;v=k}if(!l){o=Rv(f|0,i|0,12)|0;q=G()|0;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){p=o;o=q;q=0;while(1){r=q+-1|0;p=Rv(p|0,o|0,1)|0;o=G()|0;if(!((o|0)>-1|(o|0)==-1&p>>>0>4294967295)){w=r;break}else q=r}}else w=0;q=Rv(f|0,i|0,1-w|0)|0;x=q;y=G()|0;z=w}else{x=f;y=i&1048575|1048576;z=l}q=Iv(t|0,u|0,x|0,y|0)|0;p=G()|0;o=(p|0)>-1|(p|0)==-1&q>>>0>4294967295;b:do if((v|0)>(z|0)){r=t;A=u;B=q;C=p;D=o;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;H=C}else{F=r;H=A}I=Rv(F|0,H|0,1)|0;J=G()|0;K=E+-1|0;L=Iv(I|0,J|0,x|0,y|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){r=I;A=J;B=L;C=M;D=N;E=K}else{O=L;P=M;Q=I;R=J;S=N;T=K;break b}}U=a*0.0;break a}else{O=q;P=p;Q=t;R=u;S=o;T=v}while(0);if(S)if((O|0)==0&(P|0)==0){U=a*0.0;break}else{V=P;W=O}else{V=R;W=Q}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=W;p=V;q=T;while(1){E=Rv(o|0,p|0,1)|0;D=G()|0;C=q+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=E;p=D;q=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){q=Hv(X|0,Y|0,0,-1048576)|0;p=G()|0;o=Rv(Z|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=Qv(X|0,Y|0,1-Z|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function qt(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function rt(a,b){a=+a;b=+b;return +(+pt(a,b))}function st(a,b){a=+a;b=b|0;return +(+lt(a,b))}function tt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ut(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=g;k=b;l=e;m=c;while(1){l=l+-1|0;n=a[m>>0]|0;if(!(j<<24>>24==n<<24>>24&((l|0)!=0&n<<24>>24!=0))){h=j;i=m;break a}k=k+1|0;n=m+1|0;j=a[k>>0]|0;if(!(j<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function vt(a){a=a|0;return (a+-48|0)>>>0<10|0}function wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=xt(a,b,f)|0;Ia=e;return d|0}function xt(a,b,c){a=a|0;b=b|0;c=c|0;return yt(a,2147483647,b,c)|0}function yt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+160|0;h=g+144|0;i=g;Vv(i|0,34720,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){j=1;k=h;l=4}else{c[(gt()|0)>>2]=75;m=-1}else{j=d;k=b;l=4}if((l|0)==4){l=-2-k|0;b=j>>>0>l>>>0?l:j;c[i+48>>2]=b;j=i+20|0;c[j>>2]=k;c[i+44>>2]=k;l=k+b|0;k=i+16|0;c[k>>2]=l;c[i+28>>2]=l;l=zt(i,e,f)|0;if(!b)m=l;else{b=c[j>>2]|0;a[b+(((b|0)==(c[k>>2]|0))<<31>>31)>>0]=0;m=l}}Ia=g;return m|0}function zt(a,b,c){a=a|0;b=b|0;c=c|0;return Ct(a,b,c,1,8)|0}function At(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=Ia;Ia=Ia+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=Ut(e)|0;r=G()|0;if((r|0)<0){s=-e;t=Ut(s)|0;u=G()|0;v=t;w=1;x=104829;y=s}else{u=r;v=q;w=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?104830:104835):104832;y=e}do if(0==0&(u&2146435072|0)==2146435072){q=(i&32|0)!=0;v=w+3|0;Nt(b,32,f,v,h&-65537);Gt(b,x,w);Gt(b,y!=y|0.0!=0.0?(q?104878:104856):q?104848:104852,3);Nt(b,32,f,v,h^8192);z=v}else{e=+mt(y,l)*2.0;v=e!=0.0;if(v)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;A=w|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){D=C;s=8.0;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=Lt(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[34256+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;Nt(b,32,f,F,h);Gt(b,t,A);Nt(b,48,f,F,h^65536);D=I-n|0;Gt(b,m,D);I=O-P|0;Nt(b,48,N-(D+I)|0,0,0);Gt(b,C,I);Nt(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(v){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=I;R=e*268435456.0}else{Q=c[l>>2]|0;R=e}I=(Q|0)<0?k:k+288|0;J=R;D=I;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);v=I;if((Q|0)>0){C=Q;A=I;t=D;while(1){r=(C|0)<29?C:29;L=t+-4|0;if(L>>>0>=A>>>0){K=0;S=L;do{L=Rv(c[S>>2]|0,0,r|0)|0;T=Hv(L|0,G()|0,K|0,0)|0;L=G()|0;K=Ov(T|0,L|0,1e9,0)|0;U=Nv(K|0,G()|0,1e9,0)|0;V=Iv(T|0,L|0,U|0,G()|0)|0;G()|0;c[S>>2]=V;S=S+-4|0}while(S>>>0>=A>>>0);if(K){S=A+-4|0;c[S>>2]=K;W=S}else W=A}else W=A;a:do if(t>>>0>W>>>0){S=t;while(1){V=S+-4|0;if(c[V>>2]|0){X=S;break a}if(V>>>0>W>>>0)S=V;else{X=V;break}}}else X=t;while(0);K=(c[l>>2]|0)-r|0;c[l>>2]=K;if((K|0)>0){C=K;A=W;t=X}else{Y=K;Z=W;_=X;break}}}else{Y=Q;Z=I;_=D}if((Y|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;K=Z;S=_;while(1){V=0-C|0;U=(V|0)<9?V:9;if(K>>>0<S>>>0){V=(1<<U)+-1|0;L=1e9>>>U;T=0;$=K;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,L)|0;$=$+4|0}while($>>>0<S>>>0);$=(c[K>>2]|0)==0?K+4|0:K;if(!T){ba=$;ca=S}else{c[S>>2]=T;ba=$;ca=S+4|0}}else{ba=(c[K>>2]|0)==0?K+4|0:K;ca=S}$=A?I:ba;L=(ca-$>>2|0)>(t|0)?$+(t<<2)|0:ca;C=(c[l>>2]|0)+U|0;c[l>>2]=C;if((C|0)>=0){da=ba;ea=L;break}else{K=ba;S=L}}}else{da=Z;ea=_}if(da>>>0<ea>>>0){S=(v-da>>2)*9|0;K=c[da>>2]|0;if(K>>>0<10)fa=S;else{C=S;S=10;while(1){S=S*10|0;t=C+1|0;if(K>>>0<S>>>0){fa=t;break}else C=t}}}else fa=0;C=(q|0)==103;S=(F|0)!=0;K=F-((q|0)==102?0:fa)+((S&C)<<31>>31)|0;if((K|0)<(((ea-v>>2)*9|0)+-9|0)){t=K+9216|0;K=(t|0)/9|0;A=I+4+(K+-1024<<2)|0;D=t-(K*9|0)|0;if((D|0)<8){K=10;t=D;while(1){D=K*10|0;if((t|0)<7){K=D;t=t+1|0}else{ga=D;break}}}else ga=10;t=c[A>>2]|0;K=(t>>>0)/(ga>>>0)|0;q=t-(B(K,ga)|0)|0;D=(A+4|0)==(ea|0);if(!(D&(q|0)==0)){s=(K&1|0)==0?9007199254740992.0:9007199254740994.0;K=ga>>>1;J=q>>>0<K>>>0?.5:D&(q|0)==(K|0)?1.0:1.5;if(!w){ha=s;ia=J}else{K=(a[x>>0]|0)==45;ha=K?-s:s;ia=K?-J:J}K=t-q|0;c[A>>2]=K;if(ha+ia!=ha){q=K+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=da;K=A;while(1){t=K+-4|0;c[K>>2]=0;if(t>>>0<q>>>0){D=q+-4|0;c[D>>2]=0;ja=D}else ja=q;D=(c[t>>2]|0)+1|0;c[t>>2]=D;if(D>>>0>999999999){q=ja;K=t}else{ka=ja;la=t;break}}}else{ka=da;la=A}K=(v-ka>>2)*9|0;q=c[ka>>2]|0;if(q>>>0<10){ma=ka;na=la;oa=K}else{t=K;K=10;while(1){K=K*10|0;D=t+1|0;if(q>>>0<K>>>0){ma=ka;na=la;oa=D;break}else t=D}}}else{ma=da;na=A;oa=fa}}else{ma=da;na=A;oa=fa}t=na+4|0;pa=ma;qa=oa;ra=ea>>>0>t>>>0?t:ea}else{pa=da;qa=fa;ra=ea}t=0-qa|0;b:do if(ra>>>0>pa>>>0){K=ra;while(1){q=K+-4|0;if(c[q>>2]|0){sa=1;ta=K;break b}if(q>>>0>pa>>>0)K=q;else{sa=0;ta=q;break}}}else{sa=0;ta=ra}while(0);do if(C){A=F+((S^1)&1)|0;if((A|0)>(qa|0)&(qa|0)>-5){ua=A+-1-qa|0;va=i+-1|0}else{ua=A+-1|0;va=i+-2|0}if(!(h&8)){if(sa?(A=c[ta+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){K=10;U=0;while(1){K=K*10|0;T=U+1|0;if((A>>>0)%(K>>>0)|0|0){wa=T;break}else U=T}}else wa=0;else wa=9;U=((ta-v>>2)*9|0)+-9|0;if((va|32|0)==102){K=U-wa|0;A=(K|0)>0?K:0;xa=(ua|0)<(A|0)?ua:A;ya=va;break}else{A=U+qa-wa|0;U=(A|0)>0?A:0;xa=(ua|0)<(U|0)?ua:U;ya=va;break}}else{xa=ua;ya=va}}else{xa=F;ya=i}while(0);F=(xa|0)!=0;v=F?1:h>>>3&1;S=(ya|32|0)==102;if(S){za=0;Aa=(qa|0)>0?qa:0}else{C=(qa|0)<0?t:qa;U=Lt(C,((C|0)<0)<<31>>31,p)|0;C=p;if((C-U|0)<2){A=U;while(1){K=A+-1|0;a[K>>0]=48;if((C-K|0)<2)A=K;else{Ba=K;break}}}else Ba=U;a[Ba+-1>>0]=(qa>>31&2)+43;A=Ba+-2|0;a[A>>0]=ya;za=A;Aa=C-A|0}A=w+1+xa+v+Aa|0;Nt(b,32,f,A,h);Gt(b,x,w);Nt(b,48,f,A,h^65536);if(S){t=pa>>>0>I>>>0?I:pa;K=m+9|0;T=K;q=m+8|0;D=t;do{L=Lt(c[D>>2]|0,0,K)|0;if((D|0)==(t|0))if((L|0)==(K|0)){a[q>>0]=48;Ca=q}else Ca=L;else if(L>>>0>m>>>0){Wv(m|0,48,L-n|0)|0;$=L;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=L;Gt(b,Ca,T-Ca|0);D=D+4|0}while(D>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))Gt(b,104886,1);if(D>>>0<ta>>>0&(xa|0)>0){I=D;T=xa;while(1){q=Lt(c[I>>2]|0,0,K)|0;if(q>>>0>m>>>0){Wv(m|0,48,q-n|0)|0;t=q;while(1){S=t+-1|0;if(S>>>0>m>>>0)t=S;else{Da=S;break}}}else Da=q;Gt(b,Da,(T|0)<9?T:9);I=I+4|0;t=T+-9|0;if(!(I>>>0<ta>>>0&(T|0)>9)){Ea=t;break}else T=t}}else Ea=xa;Nt(b,48,Ea+9|0,9,0)}else{T=sa?ta:pa+4|0;if(pa>>>0<T>>>0&(xa|0)>-1){I=m+9|0;K=(h&8|0)==0;D=I;F=0-n|0;t=m+8|0;L=pa;S=xa;while(1){v=Lt(c[L>>2]|0,0,I)|0;if((v|0)==(I|0)){a[t>>0]=48;Fa=t}else Fa=v;do if((L|0)==(pa|0)){v=Fa+1|0;Gt(b,Fa,1);if(K&(S|0)<1){Ga=v;break}Gt(b,104886,1);Ga=v}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}Wv(m|0,48,Fa+F|0)|0;v=Fa;while(1){C=v+-1|0;if(C>>>0>m>>>0)v=C;else{Ga=C;break}}}while(0);q=D-Ga|0;Gt(b,Ga,(S|0)>(q|0)?q:S);v=S-q|0;L=L+4|0;if(!(L>>>0<T>>>0&(v|0)>-1)){Ha=v;break}else S=v}}else Ha=xa;Nt(b,48,Ha+18|0,18,0);Gt(b,za,p-za|0)}Nt(b,32,f,A,h^8192);z=A}while(0);Ia=j;return ((z|0)<(f|0)?f:z)|0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0.0;d=(c[b>>2]|0)+(8-1)&~(8-1);e=+g[d>>3];c[b>>2]=d+8;g[a>>3]=e;return}function Ct(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=Ia;Ia=Ia+224|0;i=h+208|0;j=h+160|0;k=h+80|0;l=h;m=j;n=m+40|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[i>>2]=c[e>>2];if((Dt(0,d,i,k,j,f,g)|0)<0)o=-1;else{if((c[b+76>>2]|0)>-1)p=Et(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){n=b+44|0;q=c[n>>2]|0;c[n>>2]=l;r=b+28|0;c[r>>2]=l;s=b+20|0;c[s>>2]=l;c[e>>2]=80;t=b+16|0;c[t>>2]=l+80;l=Dt(b,d,i,k,j,f,g)|0;if(!q)u=l;else{Oa[c[b+36>>2]&7](b,0,0)|0;v=(c[s>>2]|0)==0?-1:l;c[n>>2]=q;c[e>>2]=0;c[t>>2]=0;c[r>>2]=0;c[s>>2]=0;u=v}}else u=Dt(b,d,i,k,j,f,g)|0;g=c[b>>2]|0;c[b>>2]=g|m;if(p|0)Ft(b);o=(g&32|0)==0?u:-1}Ia=h;return o|0}function Dt(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,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;l=Ia;Ia=Ia+64|0;m=l+56|0;n=l+40|0;o=l;p=l+48|0;q=l+60|0;c[m>>2]=e;e=(d|0)!=0;r=o+40|0;s=r;t=o+39|0;o=p+4|0;u=0;v=0;w=0;a:while(1){x=u;y=v;while(1){do if((x|0)>-1)if((y|0)>(2147483647-x|0)){c[(gt()|0)>>2]=75;z=-1;break}else{z=y+x|0;break}else z=x;while(0);A=c[m>>2]|0;B=a[A>>0]|0;if(!(B<<24>>24)){C=92;break a}D=B;B=A;b:while(1){switch(D<<24>>24){case 37:{C=10;break b;break}case 0:{E=B;break b;break}default:{}}F=B+1|0;c[m>>2]=F;D=a[F>>0]|0;B=F}c:do if((C|0)==10){C=0;D=B;F=B;while(1){if((a[D+1>>0]|0)!=37){E=F;break c}H=F+1|0;D=D+2|0;c[m>>2]=D;if((a[D>>0]|0)!=37){E=H;break}else F=H}}while(0);y=E-A|0;if(e)Gt(d,A,y);if(!y)break;else x=z}x=(vt(a[(c[m>>2]|0)+1>>0]|0)|0)==0;y=c[m>>2]|0;if(!x?(a[y+2>>0]|0)==36:0){I=3;J=(a[y+1>>0]|0)+-48|0;K=1}else{I=1;J=-1;K=w}x=y+I|0;c[m>>2]=x;y=a[x>>0]|0;B=(y<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){L=y;M=0;N=x}else{y=0;F=x;x=B;while(1){B=1<<x|y;D=F+1|0;c[m>>2]=D;H=a[D>>0]|0;x=(H<<24>>24)+-32|0;if(x>>>0>31|(1<<x&75913|0)==0){L=H;M=B;N=D;break}else{y=B;F=D}}}if(L<<24>>24==42){if((vt(a[N+1>>0]|0)|0)!=0?(F=c[m>>2]|0,(a[F+2>>0]|0)==36):0){y=F+1|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;O=1;P=F+3|0;Q=c[h+((a[y>>0]|0)+-48<<3)>>2]|0}else{if(K|0){R=-1;break}if(e){y=(c[f>>2]|0)+(4-1)&~(4-1);F=c[y>>2]|0;c[f>>2]=y+4;S=F}else S=0;O=0;P=(c[m>>2]|0)+1|0;Q=S}c[m>>2]=P;F=(Q|0)<0;T=P;U=F?M|8192:M;V=O;W=F?0-Q|0:Q}else{F=Ht(m)|0;if((F|0)<0){R=-1;break}T=c[m>>2]|0;U=M;V=K;W=F}do if((a[T>>0]|0)==46){F=T+1|0;if((a[F>>0]|0)!=42){c[m>>2]=F;F=Ht(m)|0;X=c[m>>2]|0;Y=F;break}if(vt(a[T+2>>0]|0)|0?(F=c[m>>2]|0,(a[F+3>>0]|0)==36):0){y=F+2|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;x=c[h+((a[y>>0]|0)+-48<<3)>>2]|0;y=F+4|0;c[m>>2]=y;X=y;Y=x;break}if(V|0){R=-1;break a}if(e){x=(c[f>>2]|0)+(4-1)&~(4-1);y=c[x>>2]|0;c[f>>2]=x+4;Z=y}else Z=0;y=(c[m>>2]|0)+2|0;c[m>>2]=y;X=y;Y=Z}else{X=T;Y=-1}while(0);y=X;x=0;while(1){if(((a[y>>0]|0)+-65|0)>>>0>57){R=-1;break a}F=y;y=y+1|0;c[m>>2]=y;_=a[(a[F>>0]|0)+-65+(33792+(x*58|0))>>0]|0;$=_&255;if(($+-1|0)>>>0>=8)break;else x=$}if(!(_<<24>>24)){R=-1;break}F=(J|0)>-1;do if(_<<24>>24==19)if(F){R=-1;break a}else C=54;else{if(F){c[i+(J<<2)>>2]=$;D=h+(J<<3)|0;B=c[D+4>>2]|0;H=n;c[H>>2]=c[D>>2];c[H+4>>2]=B;C=54;break}if(!e){R=0;break a}It(n,$,f,k);aa=c[m>>2]|0;C=55}while(0);if((C|0)==54){C=0;if(e){aa=y;C=55}else ba=0}d:do if((C|0)==55){C=0;F=a[aa+-1>>0]|0;B=(x|0)!=0&(F&15|0)==3?F&-33:F;F=U&-65537;H=(U&8192|0)==0?U:F;e:do switch(B|0){case 110:{switch((x&255)<<24>>24){case 0:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 1:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 2:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}case 3:{b[c[n>>2]>>1]=z;ba=0;break d;break}case 4:{a[c[n>>2]>>0]=z;ba=0;break d;break}case 6:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 7:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}default:{ba=0;break d}}break}case 112:{ca=H|8;da=Y>>>0>8?Y:8;ea=120;C=67;break}case 88:case 120:{ca=H;da=Y;ea=B;C=67;break}case 111:{D=n;fa=Kt(c[D>>2]|0,c[D+4>>2]|0,r)|0;D=s-fa|0;ga=fa;ha=H;ia=(H&8|0)==0|(Y|0)>(D|0)?Y:D+1|0;ja=0;ka=104812;C=73;break}case 105:case 100:{D=n;fa=c[D>>2]|0;la=c[D+4>>2]|0;if((la|0)<0){D=Iv(0,0,fa|0,la|0)|0;ma=G()|0;na=n;c[na>>2]=D;c[na+4>>2]=ma;oa=D;pa=ma;qa=1;ra=104812;C=72;break e}else{oa=fa;pa=la;qa=(H&2049|0)!=0&1;ra=(H&2048|0)==0?((H&1|0)==0?104812:104814):104813;C=72;break e}break}case 117:{la=n;oa=c[la>>2]|0;pa=c[la+4>>2]|0;qa=0;ra=104812;C=72;break}case 99:{a[t>>0]=c[n>>2];sa=t;ta=F;ua=1;va=0;wa=104812;xa=s;break}case 115:{la=c[n>>2]|0;fa=(la|0)==0?104822:la;la=Mt(fa,0,Y)|0;ma=(la|0)==0;sa=fa;ta=F;ua=ma?Y:la-fa|0;va=0;wa=104812;xa=ma?fa+Y|0:la;break}case 67:{c[p>>2]=c[n>>2];c[o>>2]=0;c[n>>2]=p;ya=-1;C=79;break}case 83:{if(!Y){Nt(d,32,W,0,H);za=0;C=89}else{ya=Y;C=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{ba=Ma[j&1](d,+g[n>>3],W,Y,H,B)|0;break d;break}default:{sa=A;ta=H;ua=Y;va=0;wa=104812;xa=s}}while(0);f:do if((C|0)==67){C=0;B=n;F=Jt(c[B>>2]|0,c[B+4>>2]|0,r,ea&32)|0;B=n;la=(ca&8|0)==0|(c[B>>2]|0)==0&(c[B+4>>2]|0)==0;ga=F;ha=ca;ia=da;ja=la?0:2;ka=la?104812:104812+(ea>>>4)|0;C=73}else if((C|0)==72){C=0;ga=Lt(oa,pa,r)|0;ha=H;ia=Y;ja=qa;ka=ra;C=73}else if((C|0)==79){C=0;la=0;F=c[n>>2]|0;while(1){B=c[F>>2]|0;if(!B){Aa=la;break}fa=Ot(q,B)|0;Ba=(fa|0)<0;if(Ba|fa>>>0>(ya-la|0)>>>0){C=83;break}B=fa+la|0;if(ya>>>0>B>>>0){la=B;F=F+4|0}else{Aa=B;break}}if((C|0)==83){C=0;if(Ba){R=-1;break a}else Aa=la}Nt(d,32,W,Aa,H);if(!Aa){za=0;C=89}else{F=0;B=c[n>>2]|0;while(1){fa=c[B>>2]|0;if(!fa){za=Aa;C=89;break f}ma=Ot(q,fa)|0;F=ma+F|0;if((F|0)>(Aa|0)){za=Aa;C=89;break f}Gt(d,q,ma);if(F>>>0>=Aa>>>0){za=Aa;C=89;break}else B=B+4|0}}}while(0);if((C|0)==73){C=0;B=n;F=(c[B>>2]|0)!=0|(c[B+4>>2]|0)!=0;B=(ia|0)!=0|F;la=s-ga+((F^1)&1)|0;sa=B?ga:r;ta=(ia|0)>-1?ha&-65537:ha;ua=B?((ia|0)>(la|0)?ia:la):0;va=ja;wa=ka;xa=s}else if((C|0)==89){C=0;Nt(d,32,W,za,H^8192);ba=(W|0)>(za|0)?W:za;break}la=xa-sa|0;B=(ua|0)<(la|0)?la:ua;F=B+va|0;ma=(W|0)<(F|0)?F:W;Nt(d,32,ma,F,ta);Gt(d,wa,va);Nt(d,48,ma,F,ta^65536);Nt(d,48,B,la,0);Gt(d,sa,la);Nt(d,32,ma,F,ta^8192);ba=ma}while(0);u=z;v=ba;w=V}g:do if((C|0)==92)if(!d)if(!w)R=0;else{V=1;while(1){ba=c[i+(V<<2)>>2]|0;if(!ba)break;It(h+(V<<3)|0,ba,f,k);ba=V+1|0;if(ba>>>0<10)V=ba;else{R=1;break g}}ba=V;while(1){if(c[i+(ba<<2)>>2]|0){R=-1;break g}ba=ba+1|0;if(ba>>>0>=10){R=1;break}}}else R=z;while(0);Ia=l;return R|0}function Et(a){a=a|0;return 1}function Ft(a){a=a|0;return}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))St(b,d,a)|0;return}function Ht(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(vt(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(vt(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function It(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.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;c[a>>2]=h;break a;break}case 10:{h=(c[d>>2]|0)+(4-1)&~(4-1);f=c[h>>2]|0;c[d>>2]=h+4;h=a;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;break a;break}case 11:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=h;c[f+4>>2]=0;break a;break}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=f;i=c[h>>2]|0;j=c[h+4>>2]|0;c[d>>2]=f+8;f=a;c[f>>2]=i;c[f+4>>2]=j;break a;break}case 13:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&65535)<<16>>16;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 14:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&65535;c[j+4>>2]=0;break a;break}case 15:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&255)<<24>>24;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 16:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&255;c[j+4>>2]=0;break a;break}case 17:{j=(c[d>>2]|0)+(8-1)&~(8-1);k=+g[j>>3];c[d>>2]=j+8;g[a>>3]=k;break a;break}case 18:{Ta[e&15](a,d);break a;break}default:break a}while(0);while(0);return}function Jt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=b;b=c;c=e;while(1){e=c+-1|0;a[e>>0]=d[34256+(h&15)>>0]|0|f;h=Qv(h|0,b|0,4)|0;b=G()|0;if((h|0)==0&(b|0)==0){g=e;break}else c=e}}return g|0}function Kt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=b;b=c;c=d;while(1){d=c+-1|0;a[d>>0]=f&7|48;f=Qv(f|0,b|0,3)|0;b=G()|0;if((f|0)==0&(b|0)==0){e=d;break}else c=d}}return e|0}function Lt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=b;f=c;c=d;do{g=e;e=Ov(e|0,f|0,10,0)|0;h=f;f=G()|0;i=Nv(e|0,f|0,10,0)|0;j=Iv(g|0,h|0,i|0,G()|0)|0;G()|0;c=c+-1|0;a[c>>0]=j&255|48}while(h>>>0>9|(h|0)==9&g>>>0>4294967295);k=c;l=e}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=k;k=(k>>>0)/10|0;d=b+-1|0;a[d>>0]=l-(k*10|0)|48;if(l>>>0<10){m=d;break}else b=d}}return m|0}function Mt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=e;r=b;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[l>>0]|0)==r<<24>>24)if(!k){m=16;break}else{t=l;break}q=B(f,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){b=c[g>>2]^q;if((b&-2139062144^-2139062144)&b+-16843009|0){u=g;v=s;break c}b=g+4|0;e=s+-4|0;if(e>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!w){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[g>>0]|0)==r<<24>>24){t=g;break b}q=q+-1|0;if(!q){m=16;break}else g=g+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Nt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Wv(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Gt(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Gt(a,g,h)}Ia=f;return}function Ot(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Pt(a,b,0)|0;return c|0}function Pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Qt()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(gt()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(gt()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Qt(){return Rt()|0}function Rt(){return 34988}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,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tt(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=Oa[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=k;m=0;n=d;o=b}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=k;m=0;n=d;o=b;break b}else f=p}p=Oa[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=c[g>>2]|0;m=f;n=d-f|0;o=b+f|0}while(0);Vv(l|0,o|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Tt(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Ut(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Vv(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+112|0;c[e>>2]=b;c[e+4>>2]=d;e=c[a+8>>2]|0;f=c[a+4>>2]|0;g=e-f|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]=f+b;else c[a+104>>2]=e;return}function Xt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(gt()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+104|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Yt(b)|0}while((Zt(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=d[o>>0]|0;q=m;break b}else{p=Yt(b)|0;q=m;break b}break}default:{p=n;q=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(p|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Yt(b)|0;if((r|32|0)!=120)if(m){s=8;t=r;u=47;break}else{v=e;w=r;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Yt(b)|0;if((d[34273+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Wt(b,0,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=16;t=x;u=47}}else{o=m?10:e;if(o>>>0>(d[34273+p>>0]|0)>>>0){v=o;w=p;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Wt(b,0,0);c[(gt()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((v|0)==10){m=w+-48|0;if(m>>>0<10){o=m;m=0;do{m=(m*10|0)+o|0;y=c[k>>2]|0;if(y>>>0<(c[l>>2]|0)>>>0){c[k>>2]=y+1;z=d[y>>0]|0}else z=Yt(b)|0;o=z+-48|0}while(o>>>0<10&m>>>0<429496729);if(o>>>0<10){y=m;A=0;C=z;D=o;while(1){E=Nv(y|0,A|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=y;L=A;M=10;N=C;u=76;break c}y=Hv(E|0,H|0,D|0,I|0)|0;A=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Yt(b)|0;D=O+-48|0;if(!(D>>>0<10&(A>>>0<429496729|(A|0)==429496729&y>>>0<2576980378)))break;else C=O}if(D>>>0>9){P=A;Q=y;R=q}else{K=y;L=A;M=10;N=O;u=76}}else{P=0;Q=m;R=q}}else{P=0;Q=0;R=q}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(s+-1&s)){C=a[104860+((s*23|0)>>>5&7)>>0]|0;o=a[34273+t>>0]|0;I=o&255;if(s>>>0>I>>>0){H=I;E=0;do{E=H|E<<C;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Yt(b)|0;T=a[34273+S>>0]|0;H=T&255}while(E>>>0<134217728&s>>>0>H>>>0);U=T;V=0;W=E;X=S;Y=H}else{U=o;V=0;W=0;X=t;Y=I}m=Qv(-1,-1,C|0)|0;A=G()|0;if(s>>>0<=Y>>>0|(A>>>0<V>>>0|(A|0)==(V|0)&m>>>0<W>>>0)){K=W;L=V;M=s;N=X;u=76;break}y=W;D=V;J=U;while(1){Z=Rv(y|0,D|0,C|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Yt(b)|0;J=a[34273+aa>>0]|0;if(s>>>0<=(J&255)>>>0|(_>>>0>A>>>0|(_|0)==(A|0)&$>>>0>m>>>0)){K=$;L=_;M=s;N=aa;u=76;break d}else{y=$;D=_}}}D=a[34273+t>>0]|0;y=D&255;if(s>>>0>y>>>0){m=y;A=0;do{A=m+(B(A,s)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Yt(b)|0;ca=a[34273+ba>>0]|0;m=ca&255}while(A>>>0<119304647&s>>>0>m>>>0);da=ca;ea=A;fa=0;ga=ba;ha=m}else{da=D;ea=0;fa=0;ga=t;ha=y}if(s>>>0>ha>>>0){J=Ov(-1,-1,s|0,0)|0;C=G()|0;I=da;o=fa;H=ea;E=ga;while(1){if(o>>>0>C>>>0|(o|0)==(C|0)&H>>>0>J>>>0){K=H;L=o;M=s;N=E;u=76;break d}_=Nv(H|0,o|0,s|0,0)|0;$=G()|0;Z=I&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=H;L=o;M=s;N=E;u=76;break d}ia=Hv(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Yt(b)|0;I=a[34273+ja>>0]|0;if(s>>>0<=(I&255)>>>0){K=ia;L=Z;M=s;N=ja;u=76;break}else{o=Z;H=ia;E=ja}}}else{K=ea;L=fa;M=s;N=ga;u=76}}while(0);if((u|0)==76)if(M>>>0>(d[34273+N>>0]|0)>>>0){do{E=c[k>>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;ka=d[E>>0]|0}else ka=Yt(b)|0}while(M>>>0>(d[34273+ka>>0]|0)>>>0);c[(gt()|0)>>2]=34;P=h;Q=g;R=(g&1|0)==0&0==0?q:0}else{P=L;Q=K;R=q}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(P>>>0<h>>>0|(P|0)==(h|0)&Q>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(R|0)!=0)){c[(gt()|0)>>2]=34;E=Hv(g|0,h|0,-1,-1)|0;i=G()|0;j=E;break}if(P>>>0>h>>>0|(P|0)==(h|0)&Q>>>0>g>>>0){c[(gt()|0)>>2]=34;i=h;j=g;break}}E=((R|0)<0)<<31>>31;H=Iv(Q^R|0,P^E|0,R|0,E|0)|0;i=G()|0;j=H}while(0);F(i|0);return j|0}function Yt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+112|0;f=e;g=c[f>>2]|0;h=c[f+4>>2]|0;if(!((g|0)==0&(h|0)==0)?(f=b+120|0,i=c[f+4>>2]|0,!((i|0)<(h|0)|((i|0)==(h|0)?(c[f>>2]|0)>>>0<g>>>0:0))):0)j=4;else{g=_t(b)|0;if((g|0)>=0){f=e;e=c[f>>2]|0;h=c[f+4>>2]|0;f=c[b+8>>2]|0;if(!((e|0)==0&(h|0)==0)){i=c[b+4>>2]|0;k=f-i|0;l=((k|0)<0)<<31>>31;m=b+120|0;n=Iv(e|0,h|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=G()|0;h=f;if((m|0)>(l|0)|(m|0)==(l|0)&n>>>0>k>>>0){o=h;j=9}else{c[b+104>>2]=i+(n+-1);p=h}}else{o=f;j=9}if((j|0)==9){c[b+104>>2]=f;p=o}o=b+4|0;if(!p)q=c[o>>2]|0;else{f=c[o>>2]|0;o=p+1-f|0;p=b+120|0;h=p;n=Hv(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=G()|0;h=p;c[h>>2]=n;c[h+4>>2]=o;q=f}f=q+-1|0;if((g|0)==(d[f>>0]|0|0))r=g;else{a[f>>0]=g;r=g}}else j=4}if((j|0)==4){c[b+104>>2]=0;r=-1}return r|0}function Zt(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function _t(a){a=a|0;var b=0,e=0,f=0;b=Ia;Ia=Ia+16|0;e=b;if(($t(a)|0)==0?(Oa[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ia=b;return f|0}function $t(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)Oa[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function au(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=b;b=c;do{d=d+1|0;b=b+1|0;c=a[d>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function bu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=d;h=b;while(1){if(!(a[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){e=j;f=5;break}else h=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=d;k=d;l=2;while(1){m=j+d+k|0;c[g+(l<<2)>>2]=m;if(m>>>0<i>>>0){n=k;k=m;l=l+1|0;j=n}else break}j=a+i+b|0;if(j>>>0>a>>>0){l=j;k=1;n=a;m=1;while(1){do if((k&3|0)!=3){o=m+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)du(n,d,e,m,g);else fu(n,d,e,h,m,0,g);if((m|0)==1){gu(h,1);p=0;break}else{gu(h,o);p=1;break}}else{du(n,d,e,m,g);eu(h,2);p=m+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0<j>>>0){k=o;n=q;m=p}else{r=o;s=q;t=p;break}}}else{r=1;s=a;t=1}fu(s,d,e,h,t,0,g);m=h+4|0;n=r;k=s;j=t;while(1){if((j|0)==1&(n|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{gu(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;eu(h,1);fu(k+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);gu(h,1);q=c[h>>2]|1;c[h>>2]=q;o=k+b|0;fu(o,d,e,h,l,1,g);v=q;w=o;x=l}if((u|0)==19){u=0;l=hu(h)|0;eu(h,l);v=c[h>>2]|0;w=k+b|0;x=l+j|0}n=v;k=w;j=x}}while(0);Ia=f;return}function du(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Ia;Ia=Ia+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=a;l=1;m=e;while(1){n=k+i|0;o=m+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Na[d&3](j,p)|0)>-1?(Na[d&3](j,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Na[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=m+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=c[h>>2]|0;k=s;l=o;m=t}}else q=1;while(0);ju(b,h,q);Ia=g;return}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=e;g=0;h=b+-32|0}else{f=c[a>>2]|0;g=c[d>>2]|0;h=b}c[a>>2]=g<<32-h|f>>>h;c[d>>2]=g>>>h;return}function fu(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ia;Ia=Ia+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Na[d&3](o,a)|0)>=1):0){p=o;o=a;q=1;r=f;s=(g|0)==0;while(1){if(s&(r|0)>1){t=o+n|0;u=c[h+(r+-2<<2)>>2]|0;if((Na[d&3](t,p)|0)>-1){v=o;w=q;x=r;y=10;break a}if((Na[d&3](t+(0-u)|0,p)|0)>-1){v=o;w=q;x=r;y=10;break a}}u=q+1|0;c[k+(q<<2)>>2]=p;t=hu(j)|0;eu(j,t);z=t+r|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=p;w=u;x=z;y=10;break a}t=p+(0-(c[h+(z<<2)>>2]|0))|0;if((Na[d&3](t,c[k>>2]|0)|0)<1){A=p;B=u;C=z;D=0;y=9;break}else{E=p;p=t;q=u;r=z;s=1;o=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=A;w=B;x=C;y=10}if((y|0)==10){ju(b,k,w);du(v,b,d,x,h)}Ia=i;return}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=e;g=0;h=b+-32|0}else{f=c[d>>2]|0;g=c[a>>2]|0;h=b}c[d>>2]=g>>>(32-h|0)|f<<h;c[a>>2]=g<<h;return}function hu(a){a=a|0;var b=0,d=0;b=iu((c[a>>2]|0)+-1|0)|0;if(!b){d=iu(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function iu(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=0;c=a;while(1){a=b+1|0;if(!(c&2)){b=a;c=c>>>1}else{d=a;break}}}else d=0;else d=32;return d|0}function ju(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=Ia;Ia=Ia+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=f;i=a;while(1){j=i>>>0<256?i:256;Vv(h|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Vv(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=i-j|0;if(!k)break a;h=c[g>>2]|0;i=k}}while(0);Ia=e;return}function ku(a,b){a=a|0;b=b|0;mu(a,b)|0;return a|0}function lu(a,b){a=a|0;b=b|0;ku(a+(bu(a)|0)|0,b)|0;return a|0}function mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=b;g=d}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=l;g=j;break}else{h=l;i=j}}}i=c[g>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=f;j=g;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){n=m;o=l;break}else{i=m;j=l}}}else{n=f;o=g}p=n;q=o;r=10}else{p=b;q=d;r=10}while(0);if((r|0)==10){r=a[q>>0]|0;a[p>>0]=r;if(!(r<<24>>24))k=p;else{r=p;p=q;while(1){p=p+1|0;q=r+1|0;d=a[p>>0]|0;a[q>>0]=d;if(!(d<<24>>24)){k=q;break}else r=q}}}return k|0}function nu(b,c){b=b|0;c=c|0;var d=0;d=uu(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=tu(a,589824,b)|0;do if((e|0)>=0){a=_s(1,2080)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Ia=b;return f|0}function pu(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ft($(195,e|0)|0)|0;Ia=d;return b|0}function qu(a){a=a|0;var b=0;b=su(c[a>>2]|0)|0;Zs(a);return b|0}function ru(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;f=a+16|0;g=c[f>>2]|0;h=a+20|0;a:do if((g|0)<(c[h>>2]|0)){i=g;j=a+32+g|0;k=7}else{l=a+32|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=0;j=l;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(gt()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=i+(e[j+16>>1]|0);i=j+8|0;f=c[i+4>>2]|0;k=a+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=f;n=j}Ia=b;return n|0}function su(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=ht(a)|0;a=ea(6,d|0)|0;d=ft((a|0)==-4?0:a)|0;Ia=b;return d|0}function tu(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=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=ft(i)|0;Ia=e;return f|0}function uu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(bu(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Ia;Ia=Ia+144|0;f=e;Wv(f|0,0,144)|0;g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Wt(f,0,0);i=+wu(f,d,1);d=f+120|0;f=(c[g>>2]|0)-(c[h>>2]|0)|0;h=Hv(c[d>>2]|0,c[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=G()|0;if(b|0)c[b>>2]=(h|0)==0&(f|0)==0?a:a+h|0;Ia=e;return +i}function wu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=24;h=-149;i=4;break}case 1:{g=53;h=-1074;i=4;break}case 2:{g=53;h=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+104|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Yt(b)|0}while((Zt(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Yt(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(a[104869+n>>0]|0)){q=l;t=n;break}do if(n>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Yt(b)|0;break}}else v=l;while(0);n=n+1|0;if(n>>>0>=8){q=v;t=8;break}else l=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{l=(f|0)!=0;if(l&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){n=q;u=0;while(1){if((n|32|0)!=(a[104878+u>>0]|0)){w=n;x=u;break d}do if(u>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Yt(b)|0;break}}else z=n;while(0);u=u+1|0;if(u>>>0>=3){w=z;x=3;break}else n=z}}else{w=q;x=t}while(0);switch(x|0){case 3:{n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;A=d[n>>0]|0}else A=Yt(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}n=1;while(1){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;B=d[u>>0]|0}else B=Yt(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;n=n+1|0}if((B|0)==41){j=r;break a}u=(c[k>>2]|0)==0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!l){c[(gt()|0)>>2]=22;Wt(b,0,0);j=0.0;break a}if(!n){j=r;break a}y=n;while(1){y=y+-1|0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((w|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Yt(b)|0;if((C|32|0)==120){j=+xu(b,g,h,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=w;j=+yu(b,D,g,h,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(gt()|0)>>2]=22;Wt(b,0,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){u=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;u=u+-1|0}while(u>>>0>3)}}j=+(p|0)*s}while(0);return +j}function xu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0.0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+104|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Yt(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=0;o=i;p=k;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Yt(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Yt(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Yt(a)|0;r=Hv(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=r;n=v;o=u;p=1;q=1;break}}}else{m=0;n=0;o=t;p=k;q=1}}k=0;t=0;u=m;m=n;n=o;o=p;p=q;q=0;w=1.0;i=0;x=0.0;while(1){s=n+-48|0;v=n|32;if(s>>>0>=10){r=(n|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=n;break}if(r)if(!p){z=t;A=k;B=t;C=k;D=o;E=1;F=q;H=w;I=i;J=x}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(n|0)>57?v+-87|0:s;do if(!((k|0)<0|(k|0)==0&t>>>0<8))if((k|0)<0|(k|0)==0&t>>>0<14){K=w*.0625;L=q;M=K;N=i;O=x+K*+(r|0);break}else{s=(q|0)!=0|(r|0)==0;L=s?q:1;M=w;N=i;O=s?x:x+w*.5;break}else{L=q;M=w;N=r+(i<<4)|0;O=x}while(0);r=Hv(t|0,k|0,1,0)|0;z=u;A=m;B=r;C=G()|0;D=1;E=p;F=L;H=M;I=N;J=O}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Yt(a)|0;k=C;t=B;u=z;m=A;n=P;o=D;p=E;q=F;w=H;i=I;x=J}do if(!o){I=(c[j>>2]|0)==0;if(!I)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!I?(c[h>>2]=(c[h>>2]|0)+-1,!((p|0)==0|I)):0)c[h>>2]=(c[h>>2]|0)+-1}else Wt(a,0,0);Q=+(f|0)*0.0}else{I=(p|0)==0;F=I?t:u;q=I?k:m;if((k|0)<0|(k|0)==0&t>>>0<8){I=t;E=k;D=i;while(1){P=D<<4;n=I;I=Hv(I|0,E|0,1,0)|0;A=E;E=G()|0;if(!((A|0)<0|(A|0)==0&n>>>0<7)){R=P;break}else D=P}}else R=i;if((y|32|0)==112){D=zu(a,g)|0;E=G()|0;if((D|0)==0&(E|0)==-2147483648){if(!g){Wt(a,0,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=D;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=Rv(F|0,q|0,2)|0;D=Hv(E|0,G()|0,-32,-1)|0;E=Hv(D|0,G()|0,S|0,T|0)|0;D=G()|0;if(!R){Q=+(f|0)*0.0;break}I=0-e|0;P=((I|0)<0)<<31>>31;if((D|0)>(P|0)|(D|0)==(P|0)&E>>>0>I>>>0){c[(gt()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}I=e+-106|0;P=((I|0)<0)<<31>>31;if((D|0)<(P|0)|(D|0)==(P|0)&E>>>0<I>>>0){c[(gt()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){I=E;P=D;n=R;J=x;while(1){A=!(J>=.5);z=n<<1|(A^1)&1;H=J+(A?J:J+-1.0);A=Hv(I|0,P|0,-1,-1)|0;B=G()|0;if((z|0)>-1){I=A;P=B;n=z;J=H}else{U=A;V=B;W=z;X=H;break}}}else{U=E;V=D;W=R;X=x}n=((b|0)<0)<<31>>31;P=Iv(32,0,e|0,((e|0)<0)<<31>>31|0)|0;I=Hv(P|0,G()|0,U|0,V|0)|0;P=G()|0;if((P|0)<(n|0)|(P|0)==(n|0)&I>>>0<b>>>0)if((I|0)>0){Y=I;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){J=+(f|0);$=+nt(+lt(1.0,_),J);aa=Z;ba=J}I=(W&1|0)==0&(X!=0.0&(aa|0)<32);J=(I?0.0:X)*ba+($+ba*+((W+(I&1)|0)>>>0))-$;if(!(J!=0.0))c[(gt()|0)>>2]=34;Q=+st(J,U)}while(0);return +Q} 143 + function be(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Ia;Ia=Ia+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|32|0)==54)p=2217396;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2217396:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2217396}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)Ac(e,47199,l);if((s&65535)>224)yc(e,6)}if(!(Ec(e,h,g)|0))Fc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=de(e,3,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ia=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Ia=k;return t|0}c[g>>2]=e;Ia=k;return t|0}function ce(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)Ac(a,47199,f);if((i&65535)>224)yc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(Ec(a,g,h)|0))Fc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=e;return}function de(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=xc(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Sc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=bd(d,47901,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0<q>>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}zc(d,f);c[o>>2]=p;return h|0}function ee(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=fe(b,j,(g|0)==0?80062:g,h)|0;if(f|0){Ia=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ia=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2217396;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Ia=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ia=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ia=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){Jc(h,e);Ia=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ia=i;return f|0}return 0}function fe(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Ia;Ia=Ia+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=de(a,4,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Pa[c[a>>2]&3](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Pa[c[e>>2]&3](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Pa[c[l>>2]&3](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Ia=g;return o|0}function ge(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=Oa[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(nu(j,98)|0)==0:0){c[h>>2]=71880;c[h+4>>2]=j;wd(b,47925,h)|0;yc(b,3)}o=he(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(nu(j,116)|0)==0:0){c[g>>2]=47967;c[g+4>>2]=j;wd(b,47925,g)|0;yc(b,3)}o=ie(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Ia=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Pa[c[m>>2]&3](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}Kc(b,1);l=Pa[c[m>>2]&3](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){Jc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)yc(b,4);else if((p|0)==27){Ia=f;return}}function he(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=49038;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8724];b[n+4>>1]=b[17450]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=c[e>>2]|0;q=l+1|0;r=17;while(1){if(!p){s=Oa[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=p;w=c[o>>2]|0}s=r>>>0>v>>>0?v:r;Vv(q|0,w|0,s|0)|0;p=(c[e>>2]|0)-s|0;c[e>>2]=p;c[o>>2]=(c[o>>2]|0)+s;r=r-s|0;if(!r)break;else q=q+s|0}if((u|0)==10)of(m,49052);if(tt(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))of(m,49062);if(tt(k,l,6)|0)of(m,49068);if(!(tt(k,l,12)|0))of(m,49101);else of(m,49088)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Pa[c[k>>2]&3](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))yc(d,4);Kc(d,1);r=Pa[c[k>>2]&3](c[u>>2]|0,0,6,20)|0;if(!r)yc(d,4);else x=r}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;r=c[k>>2]|0;c[r>>2]=x;c[r+4>>2]=70;r=(c[k>>2]|0)+8|0;c[k>>2]=r;u=r;do if(((c[d+24>>2]|0)-u|0)<8){r=c[d+32>>2]|0;if((r|0)>1e6)yc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;p=r<<1;r=(p|0)<1e6?p:1e6;p=(r|0)<(o|0)?o:r;if((p|0)>1e6){zc(d,1000200);Ac(d,47184,i)}else{zc(d,p);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Pa[c[i>>2]&3](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))yc(d,4);Kc(d,1);p=Pa[c[i>>2]&3](c[l>>2]|0,0,9,80)|0;if(!p)yc(d,4);else y=p}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;pf(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ia=h;return z|0}x=Yc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Ia=h;return z|0}function ie(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Ia;Ia=Ia+176|0;k=j+8|0;l=j;m=j+152|0;n=j+136|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Pa[c[r>>2]&3](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))yc(d,4);Kc(d,1);u=Pa[c[r>>2]&3](c[s>>2]|0,0,6,20)|0;if(!u)yc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)yc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){zc(d,1000200);Ac(d,47184,l)}else{zc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Pa[c[l>>2]&3](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))yc(d,4);Kc(d,1);w=Pa[c[l>>2]&3](c[q>>2]|0,0,9,80)|0;if(!w)yc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=xd(d,h,bu(h)|0)|0;c[x+36>>2]=t;h=o+52|0;c[h>>2]=f;f=o+56|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+68>>0]=46;g=o+44|0;c[g>>2]=d;c[o>>2]=i;c[o+32>>2]=287;c[o+48>>2]=e;e=o+40|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;c[o+8>>2]=1;c[o+12>>2]=0;r=o+16|0;c[r>>2]=1;c[o+20>>2]=-1;l=o+60|0;c[l>>2]=t;t=bd(d,47556,4)|0;d=o+64|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Pa[c[s>>2]&3](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))yc(w,4);Kc(w,1);B=Pa[c[s>>2]&3](c[z>>2]|0,h,q,32)|0;if(!B)yc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Pa[c[x>>2]&3](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))yc(w,4);Kc(w,1);e=Pa[c[x>>2]&3](c[u>>2]|0,0,5,32)|0;if(!e)yc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2217420;a[D+7>>0]=0;c[D+20>>2]=2217420;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)yc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){zc(w,1000200);Ac(w,47184,k)}else{zc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+56>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;je(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+32|0;if((c[i>>2]|0)==287){r=ke(o,o+28|0)|0;n=o+24|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+24|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=287;E=r;F=o+24|0}r=E;a:while(1){switch(r|0){case 277:case 292:case 287:case 262:case 261:case 260:{G=r;break a;break}default:{}}le(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==287){ne(o);Ia=j;return v|0}else me(o,287);return 0}function je(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)Ce(b,255,49029);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=se(c[(c[b+12>>2]|0)+44>>2]|0,c[k>>2]|0,h,8,255,49029)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+44>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){Jc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function ke(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0;f=Ia;Ia=Ia+16|0;g=f+12|0;h=f;i=b+12|0;j=c[i>>2]|0;a:do if((j|0)>1){switch(c[b>>2]|0){case 13:case 10:break;default:break a}c[i>>2]=j+-1;k=292;Ia=f;return k|0}while(0);j=b+52|0;c[(c[j>>2]|0)+4>>2]=0;l=b+8|0;m=b+48|0;b:while(1){n=c[l>>2]|0;c[l>>2]=0;o=c[b>>2]|0;c:do switch(o|0){case 63:{p=14;break b;break}case 92:case 33:case 126:case 124:case 38:case 37:case 42:case 43:{p=75;break b;break}case 91:{p=94;break b;break}case 61:{p=98;break b;break}case 60:{p=110;break b;break}case 94:{p=146;break b;break}case 62:{p=170;break b;break}case 58:{p=218;break b;break}case 39:case 34:{p=230;break b;break}case 46:{p=377;break b;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{q=o;break b;break}case -1:{k=287;p=587;break b;break}case 13:case 10:{hf(b);r=c[i>>2]|0;if(r|0){p=7;break b}break}case 11:case 9:case 12:case 32:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)v=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;v=d[t>>0]|0}w=v}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;w=d[s>>0]|0}c[b>>2]=w;c[l>>2]=n;break}case 45:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)x=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;x=d[t>>0]|0}y=x}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;y=d[s>>0]|0}c[b>>2]=y;switch(y|0){case 61:{p=26;break b;break}case 45:break;default:{k=45;p=587;break b}}s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)z=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;z=d[t>>0]|0}A=z}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;A=d[s>>0]|0}c[b>>2]=A;do if((A|0)==91){s=jf(b)|0;c[(c[j>>2]|0)+4>>2]=0;if((s|0)>-1){kf(b,0,s);c[(c[j>>2]|0)+4>>2]=0;break c}else{B=c[b>>2]|0;break}}else B=A;while(0);s=B;while(1){switch(s|0){case -1:case 13:case 10:{break c;break}default:{}}t=c[m>>2]|0;u=c[t>>2]|0;c[t>>2]=u+-1;if(!u){u=Oa[c[t+8>>2]&7](c[t+16>>2]|0,c[t+12>>2]|0,g)|0;C=c[g>>2]|0;if((u|0)==0|(C|0)==0)D=-1;else{c[t>>2]=C+-1;c[t+4>>2]=u+1;D=d[u>>0]|0}E=D}else{u=t+4|0;t=c[u>>2]|0;c[u>>2]=t+1;E=d[t>>0]|0}c[b>>2]=E;s=E}break}case 47:{s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)F=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;F=d[t>>0]|0}G=F}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;G=d[s>>0]|0}c[b>>2]=G;switch(G|0){case 61:{p=56;break b;break}case 47:break;default:{k=47;p=587;break b}}s=c[m>>2]|0;t=c[s>>2]|0;c[s>>2]=t+-1;if(!t){t=Oa[c[s+8>>2]&7](c[s+16>>2]|0,c[s+12>>2]|0,g)|0;u=c[g>>2]|0;if((t|0)==0|(u|0)==0)H=-1;else{c[s>>2]=u+-1;c[s+4>>2]=t+1;H=d[t>>0]|0}I=H}else{t=s+4|0;s=c[t>>2]|0;c[t>>2]=s+1;I=d[s>>0]|0}s=I;while(1){c[b>>2]=s;switch(s|0){case -1:case 13:case 10:{break c;break}default:{}}t=c[m>>2]|0;u=c[t>>2]|0;c[t>>2]=u+-1;if(!u){u=Oa[c[t+8>>2]&7](c[t+16>>2]|0,c[t+12>>2]|0,g)|0;C=c[g>>2]|0;if((u|0)==0|(C|0)==0)J=-1;else{c[t>>2]=C+-1;c[t+4>>2]=u+1;J=d[u>>0]|0}K=J}else{u=t+4|0;t=c[u>>2]|0;c[u>>2]=t+1;K=d[t>>0]|0}s=K}break}default:{p=556;break b}}while(0)}switch(p|0){case 7:{c[i>>2]=r+-1;k=292;Ia=f;return k|0}case 14:{r=c[m>>2]|0;K=c[r>>2]|0;c[r>>2]=K+-1;if(!K){K=Oa[c[r+8>>2]&7](c[r+16>>2]|0,c[r+12>>2]|0,g)|0;J=c[g>>2]|0;if((K|0)==0|(J|0)==0)L=-1;else{c[r>>2]=J+-1;c[r+4>>2]=K+1;L=d[K>>0]|0}M=L}else{L=r+4|0;r=c[L>>2]|0;c[L>>2]=r+1;M=d[r>>0]|0}c[b>>2]=M;c[i>>2]=(c[i>>2]|0)+1;k=291;Ia=f;return k|0}case 26:{i=c[m>>2]|0;M=c[i>>2]|0;c[i>>2]=M+-1;if(!M){M=Oa[c[i+8>>2]&7](c[i+16>>2]|0,c[i+12>>2]|0,g)|0;r=c[g>>2]|0;if((M|0)==0|(r|0)==0)N=-1;else{c[i>>2]=r+-1;c[i+4>>2]=M+1;N=d[M>>0]|0}O=N}else{N=i+4|0;i=c[N>>2]|0;c[N>>2]=i+1;O=d[i>>0]|0}c[b>>2]=O;k=300;Ia=f;return k|0}case 56:{O=c[m>>2]|0;i=c[O>>2]|0;c[O>>2]=i+-1;if(!i){i=Oa[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((i|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=i+1;P=d[i>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;k=302;Ia=f;return k|0}case 75:{Q=c[m>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=Oa[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;if((S|0)!=61){k=o;Ia=f;return k|0}S=c[m>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(o|0){case 42:{k=301;Ia=f;return k|0}case 37:{k=303;Ia=f;return k|0}case 38:{k=306;Ia=f;return k|0}case 124:{k=307;Ia=f;return k|0}case 126:{k=284;Ia=f;return k|0}case 33:{k=285;Ia=f;return k|0}case 43:{k=299;Ia=f;return k|0}default:{k=305;Ia=f;return k|0}}break}case 94:{U=jf(b)|0;if((U|0)>-1){kf(b,e,U);k=290;Ia=f;return k|0}if((U|0)==-1){k=91;Ia=f;return k|0}else Ae(b,48810,290);break}case 98:{U=c[m>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=Oa[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;if((W|0)!=61){k=61;Ia=f;return k|0}W=c[m>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=Oa[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;k=281;Ia=f;return k|0}case 110:{Y=c[m>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=Oa[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;switch(_|0){case 61:{_=c[m>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=Oa[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;k=283;Ia=f;return k|0}case 60:{aa=c[m>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=Oa[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;switch(ca|0){case 61:{ca=c[m>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=Oa[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;k=309;Ia=f;return k|0}case 62:{ea=c[m>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=Oa[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=61){k=297;Ia=f;return k|0}ga=c[m>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;k=312;Ia=f;return k|0}default:{k=294;Ia=f;return k|0}}break}default:{k=60;Ia=f;return k|0}}break}case 146:{ia=c[m>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=Oa[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ha=c[g>>2]|0;if((ga|0)==0|(ha|0)==0)ja=-1;else{c[ia>>2]=ha+-1;c[ia+4>>2]=ga+1;ja=d[ga>>0]|0}ka=ja}else{ja=ia+4|0;ia=c[ja>>2]|0;c[ja>>2]=ia+1;ka=d[ia>>0]|0}c[b>>2]=ka;switch(ka|0){case 61:{ka=c[m>>2]|0;ia=c[ka>>2]|0;c[ka>>2]=ia+-1;if(!ia){ia=Oa[c[ka+8>>2]&7](c[ka+16>>2]|0,c[ka+12>>2]|0,g)|0;ja=c[g>>2]|0;if((ia|0)==0|(ja|0)==0)la=-1;else{c[ka>>2]=ja+-1;c[ka+4>>2]=ia+1;la=d[ia>>0]|0}ma=la}else{la=ka+4|0;ka=c[la>>2]|0;c[la>>2]=ka+1;ma=d[ka>>0]|0}c[b>>2]=ma;k=304;Ia=f;return k|0}case 94:{ma=c[m>>2]|0;ka=c[ma>>2]|0;c[ma>>2]=ka+-1;if(!ka){ka=Oa[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;la=c[g>>2]|0;if((ka|0)==0|(la|0)==0)na=-1;else{c[ma>>2]=la+-1;c[ma+4>>2]=ka+1;na=d[ka>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;if((oa|0)!=61){k=293;Ia=f;return k|0}oa=c[m>>2]|0;ma=c[oa>>2]|0;c[oa>>2]=ma+-1;if(!ma){ma=Oa[c[oa+8>>2]&7](c[oa+16>>2]|0,c[oa+12>>2]|0,g)|0;na=c[g>>2]|0;if((ma|0)==0|(na|0)==0)pa=-1;else{c[oa>>2]=na+-1;c[oa+4>>2]=ma+1;pa=d[ma>>0]|0}qa=pa}else{pa=oa+4|0;oa=c[pa>>2]|0;c[pa>>2]=oa+1;qa=d[oa>>0]|0}c[b>>2]=qa;k=308;Ia=f;return k|0}default:{k=94;Ia=f;return k|0}}break}case 170:{qa=c[m>>2]|0;oa=c[qa>>2]|0;c[qa>>2]=oa+-1;if(!oa){oa=Oa[c[qa+8>>2]&7](c[qa+16>>2]|0,c[qa+12>>2]|0,g)|0;pa=c[g>>2]|0;if((oa|0)==0|(pa|0)==0)ra=-1;else{c[qa>>2]=pa+-1;c[qa+4>>2]=oa+1;ra=d[oa>>0]|0}sa=ra}else{ra=qa+4|0;qa=c[ra>>2]|0;c[ra>>2]=qa+1;sa=d[qa>>0]|0}c[b>>2]=sa;switch(sa|0){case 61:{sa=c[m>>2]|0;qa=c[sa>>2]|0;c[sa>>2]=qa+-1;if(!qa){qa=Oa[c[sa+8>>2]&7](c[sa+16>>2]|0,c[sa+12>>2]|0,g)|0;ra=c[g>>2]|0;if((qa|0)==0|(ra|0)==0)ta=-1;else{c[sa>>2]=ra+-1;c[sa+4>>2]=qa+1;ta=d[qa>>0]|0}ua=ta}else{ta=sa+4|0;sa=c[ta>>2]|0;c[ta>>2]=sa+1;ua=d[sa>>0]|0}c[b>>2]=ua;k=282;Ia=f;return k|0}case 62:{ua=c[m>>2]|0;sa=c[ua>>2]|0;c[ua>>2]=sa+-1;if(!sa){sa=Oa[c[ua+8>>2]&7](c[ua+16>>2]|0,c[ua+12>>2]|0,g)|0;ta=c[g>>2]|0;if((sa|0)==0|(ta|0)==0)va=-1;else{c[ua>>2]=ta+-1;c[ua+4>>2]=sa+1;va=d[sa>>0]|0}wa=va}else{va=ua+4|0;ua=c[va>>2]|0;c[va>>2]=ua+1;wa=d[ua>>0]|0}c[b>>2]=wa;switch(wa|0){case 61:{wa=c[m>>2]|0;ua=c[wa>>2]|0;c[wa>>2]=ua+-1;if(!ua){ua=Oa[c[wa+8>>2]&7](c[wa+16>>2]|0,c[wa+12>>2]|0,g)|0;va=c[g>>2]|0;if((ua|0)==0|(va|0)==0)xa=-1;else{c[wa>>2]=va+-1;c[wa+4>>2]=ua+1;xa=d[ua>>0]|0}ya=xa}else{xa=wa+4|0;wa=c[xa>>2]|0;c[xa>>2]=wa+1;ya=d[wa>>0]|0}c[b>>2]=ya;k=310;Ia=f;return k|0}case 60:{ya=c[m>>2]|0;wa=c[ya>>2]|0;c[ya>>2]=wa+-1;if(!wa){wa=Oa[c[ya+8>>2]&7](c[ya+16>>2]|0,c[ya+12>>2]|0,g)|0;xa=c[g>>2]|0;if((wa|0)==0|(xa|0)==0)za=-1;else{c[ya>>2]=xa+-1;c[ya+4>>2]=wa+1;za=d[wa>>0]|0}Aa=za}else{za=ya+4|0;ya=c[za>>2]|0;c[za>>2]=ya+1;Aa=d[ya>>0]|0}c[b>>2]=Aa;if((Aa|0)!=61){k=298;Ia=f;return k|0}Aa=c[m>>2]|0;ya=c[Aa>>2]|0;c[Aa>>2]=ya+-1;if(!ya){ya=Oa[c[Aa+8>>2]&7](c[Aa+16>>2]|0,c[Aa+12>>2]|0,g)|0;za=c[g>>2]|0;if((ya|0)==0|(za|0)==0)Ba=-1;else{c[Aa>>2]=za+-1;c[Aa+4>>2]=ya+1;Ba=d[ya>>0]|0}Ca=Ba}else{Ba=Aa+4|0;Aa=c[Ba>>2]|0;c[Ba>>2]=Aa+1;Ca=d[Aa>>0]|0}c[b>>2]=Ca;k=313;Ia=f;return k|0}case 62:{Ca=c[m>>2]|0;Aa=c[Ca>>2]|0;c[Ca>>2]=Aa+-1;if(!Aa){Aa=Oa[c[Ca+8>>2]&7](c[Ca+16>>2]|0,c[Ca+12>>2]|0,g)|0;Ba=c[g>>2]|0;if((Aa|0)==0|(Ba|0)==0)Da=-1;else{c[Ca>>2]=Ba+-1;c[Ca+4>>2]=Aa+1;Da=d[Aa>>0]|0}Ea=Da}else{Da=Ca+4|0;Ca=c[Da>>2]|0;c[Da>>2]=Ca+1;Ea=d[Ca>>0]|0}c[b>>2]=Ea;if((Ea|0)!=61){k=296;Ia=f;return k|0}Ea=c[m>>2]|0;Ca=c[Ea>>2]|0;c[Ea>>2]=Ca+-1;if(!Ca){Ca=Oa[c[Ea+8>>2]&7](c[Ea+16>>2]|0,c[Ea+12>>2]|0,g)|0;Da=c[g>>2]|0;if((Ca|0)==0|(Da|0)==0)Fa=-1;else{c[Ea>>2]=Da+-1;c[Ea+4>>2]=Ca+1;Fa=d[Ca>>0]|0}Ga=Fa}else{Fa=Ea+4|0;Ea=c[Fa>>2]|0;c[Fa>>2]=Ea+1;Ga=d[Ea>>0]|0}c[b>>2]=Ga;k=311;Ia=f;return k|0}default:{k=295;Ia=f;return k|0}}break}default:{k=62;Ia=f;return k|0}}break}case 218:{Ga=c[m>>2]|0;Ea=c[Ga>>2]|0;c[Ga>>2]=Ea+-1;if(!Ea){Ea=Oa[c[Ga+8>>2]&7](c[Ga+16>>2]|0,c[Ga+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((Ea|0)==0|(Fa|0)==0)Ha=-1;else{c[Ga>>2]=Fa+-1;c[Ga+4>>2]=Ea+1;Ha=d[Ea>>0]|0}Ja=Ha}else{Ha=Ga+4|0;Ga=c[Ha>>2]|0;c[Ha>>2]=Ga+1;Ja=d[Ga>>0]|0}c[b>>2]=Ja;if((Ja|0)!=58){k=58;Ia=f;return k|0}Ja=c[m>>2]|0;Ga=c[Ja>>2]|0;c[Ja>>2]=Ga+-1;if(!Ga){Ga=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ha=c[g>>2]|0;if((Ga|0)==0|(Ha|0)==0)Ka=-1;else{c[Ja>>2]=Ha+-1;c[Ja+4>>2]=Ga+1;Ka=d[Ga>>0]|0}La=Ka}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;La=d[Ja>>0]|0}c[b>>2]=La;k=286;Ia=f;return k|0}case 230:{La=c[j>>2]|0;Ja=La+4|0;Ka=c[Ja>>2]|0;Ga=Ka+1|0;Ha=La+8|0;Ea=c[Ha>>2]|0;if(Ga>>>0>Ea>>>0){if(Ea>>>0>2147483645)Ae(b,48200,0);Fa=Ea<<1;Ca=c[b+44>>2]|0;if((Fa|0)==-2)Lc(Ca);Da=c[La>>2]|0;Aa=c[Ca+12>>2]|0;Ba=(Da|0)==0;ya=Aa+4|0;za=Pa[c[Aa>>2]&3](c[ya>>2]|0,Da,Ea,Fa)|0;if((Fa|0)!=0&(za|0)==0){if(!(a[Aa+51>>0]|0))yc(Ca,4);Kc(Ca,1);wa=Pa[c[Aa>>2]&3](c[ya>>2]|0,Da,Ea,Fa)|0;if(!wa)yc(Ca,4);else Ma=wa}else Ma=za;za=Aa+12|0;c[za>>2]=(Ba?0:0-Ea|0)+Fa+(c[za>>2]|0);c[La>>2]=Ma;c[Ha>>2]=Fa;Fa=c[Ja>>2]|0;Na=Ma;Qa=Fa;Ra=Fa+1|0}else{Na=c[La>>2]|0;Qa=Ka;Ra=Ga}Ga=o&255;c[Ja>>2]=Ra;a[Na+Qa>>0]=Ga;Qa=c[m>>2]|0;Na=c[Qa>>2]|0;c[Qa>>2]=Na+-1;if(!Na){Na=Oa[c[Qa+8>>2]&7](c[Qa+16>>2]|0,c[Qa+12>>2]|0,g)|0;Ra=c[g>>2]|0;if((Na|0)==0|(Ra|0)==0)Sa=-1;else{c[Qa>>2]=Ra+-1;c[Qa+4>>2]=Na+1;Sa=d[Na>>0]|0}Ta=Sa}else{Sa=Qa+4|0;Qa=c[Sa>>2]|0;c[Sa>>2]=Qa+1;Ta=d[Qa>>0]|0}c[b>>2]=Ta;d:do if((Ta|0)!=(o|0)){Qa=b+44|0;Sa=h+4|0;Na=h+8|0;Ra=Ta;e:while(1){f:do switch(Ra|0){case -1:{p=249;break e;break}case 13:case 10:{p=250;break e;break}case 92:{Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ka|0)==0|(La|0)==0)Ua=-1;else{c[Ja>>2]=La+-1;c[Ja+4>>2]=Ka+1;Ua=d[Ka>>0]|0}Va=Ua}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Va=d[Ja>>0]|0}c[b>>2]=Va;do switch(Va|0){case -1:{Wa=Va;break f;break}case 97:{Xa=7;p=324;break}case 98:{Xa=8;p=324;break}case 102:{Xa=12;p=324;break}case 110:{Xa=10;p=324;break}case 114:{Xa=13;p=324;break}case 116:{Xa=9;p=324;break}case 118:{Xa=11;p=324;break}case 42:{Xa=1;p=324;break}case 35:{Xa=2;p=324;break}case 45:{Xa=3;p=324;break}case 124:{Xa=4;p=324;break}case 43:{Xa=5;p=324;break}case 94:{Xa=6;p=324;break}case 120:{c[h>>2]=120;Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ka|0)==0|(La|0)==0)Ya=-1;else{c[Ja>>2]=La+-1;c[Ja+4>>2]=Ka+1;Ya=d[Ka>>0]|0}Za=Ya}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Za=d[Ja>>0]|0}c[b>>2]=Za;c[Sa>>2]=Za;if(!(a[64+(Za+1)>>0]&16)){_a=2;p=275;break e}Ja=Za+-48|0;Ka=Ja>>>0<10?Ja:(Za|32)+268435369|0;Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)$a=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;$a=d[La>>0]|0}ab=$a}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;ab=d[Ja>>0]|0}c[b>>2]=ab;c[Na>>2]=ab;if(!(a[64+(ab+1)>>0]&16)){_a=3;p=275;break e}Ja=ab+-48|0;Xa=(Ja>>>0<10?Ja:(ab|32)+-87|0)+(Ka<<4)|0;p=324;break}case 13:case 10:{hf(b);bb=10;break}case 39:case 34:case 92:{Xa=Va;p=324;break}case 122:{Ka=c[m>>2]|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+-1;if(!Ja){Ja=Oa[c[Ka+8>>2]&7](c[Ka+16>>2]|0,c[Ka+12>>2]|0,g)|0;La=c[g>>2]|0;if((Ja|0)==0|(La|0)==0)cb=-1;else{c[Ka>>2]=La+-1;c[Ka+4>>2]=Ja+1;cb=d[Ja>>0]|0}db=cb}else{Ja=Ka+4|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+1;db=d[Ka>>0]|0}c[b>>2]=db;if(!(a[64+(db+1)>>0]&8)){Wa=db;break f}Ka=db;while(1){switch(Ka|0){case 13:case 10:{hf(b);eb=c[b>>2]|0;break}default:{Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)fb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;fb=d[La>>0]|0}gb=fb}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;gb=d[Ja>>0]|0}c[b>>2]=gb;eb=gb}}if(!(a[64+(eb+1)>>0]&8)){Wa=eb;break f}else Ka=eb}break}default:{Ka=Va+-48|0;if(Ka>>>0>=10){p=302;break e}c[h>>2]=Va;Ja=c[m>>2]|0;La=c[Ja>>2]|0;c[Ja>>2]=La+-1;if(!La){La=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)hb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=La+1;hb=d[La>>0]|0}ib=hb}else{La=Ja+4|0;Ja=c[La>>2]|0;c[La>>2]=Ja+1;ib=d[Ja>>0]|0}c[b>>2]=ib;Ja=ib+-48|0;if(Ja>>>0<10){c[Sa>>2]=ib;La=Ja+(Ka*10|0)|0;Ja=c[m>>2]|0;Fa=c[Ja>>2]|0;c[Ja>>2]=Fa+-1;if(!Fa){Fa=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ma=c[g>>2]|0;if((Fa|0)==0|(Ma|0)==0)jb=-1;else{c[Ja>>2]=Ma+-1;c[Ja+4>>2]=Fa+1;jb=d[Fa>>0]|0}kb=jb}else{Fa=Ja+4|0;Ja=c[Fa>>2]|0;c[Fa>>2]=Ja+1;kb=d[Ja>>0]|0}c[b>>2]=kb;Ja=kb+-48|0;if(Ja>>>0<10){c[Na>>2]=kb;Fa=Ja+(La*10|0)|0;Ja=c[m>>2]|0;Ma=c[Ja>>2]|0;c[Ja>>2]=Ma+-1;if(!Ma){Ma=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Ha=c[g>>2]|0;if((Ma|0)==0|(Ha|0)==0)lb=-1;else{c[Ja>>2]=Ha+-1;c[Ja+4>>2]=Ma+1;lb=d[Ma>>0]|0}mb=lb}else{Ma=Ja+4|0;Ja=c[Ma>>2]|0;c[Ma>>2]=Ja+1;mb=d[Ja>>0]|0}c[b>>2]=mb;nb=3;ob=Fa}else{nb=2;ob=La}if((ob|0)>255){p=310;break e}else pb=ob}else pb=Ka;bb=pb}}while(0);if((p|0)==324){p=0;Ka=c[m>>2]|0;La=c[Ka>>2]|0;c[Ka>>2]=La+-1;if(!La){La=Oa[c[Ka+8>>2]&7](c[Ka+16>>2]|0,c[Ka+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((La|0)==0|(Fa|0)==0)qb=-1;else{c[Ka>>2]=Fa+-1;c[Ka+4>>2]=La+1;qb=d[La>>0]|0}rb=qb}else{La=Ka+4|0;Ka=c[La>>2]|0;c[La>>2]=Ka+1;rb=d[Ka>>0]|0}c[b>>2]=rb;bb=Xa}Ka=c[j>>2]|0;La=Ka+4|0;Fa=c[La>>2]|0;Ja=Fa+1|0;Ma=Ka+8|0;Ha=c[Ma>>2]|0;if(Ja>>>0>Ha>>>0){if(Ha>>>0>2147483645){p=333;break e}za=Ha<<1;sb=c[Qa>>2]|0;if((za|0)==-2){p=335;break e}Ea=c[Ka>>2]|0;Ba=c[sb+12>>2]|0;Aa=(Ea|0)==0;wa=Ba+4|0;Ca=Pa[c[Ba>>2]&3](c[wa>>2]|0,Ea,Ha,za)|0;if((za|0)!=0&(Ca|0)==0){if(!(a[Ba+51>>0]|0)){p=339;break e}Kc(sb,1);Da=Pa[c[Ba>>2]&3](c[wa>>2]|0,Ea,Ha,za)|0;if(!Da){p=339;break e}else tb=Da}else tb=Ca;Ca=Ba+12|0;c[Ca>>2]=(Aa?0:0-Ha|0)+za+(c[Ca>>2]|0);c[Ka>>2]=tb;c[Ma>>2]=za;za=c[La>>2]|0;ub=tb;vb=za;wb=za+1|0}else{ub=c[Ka>>2]|0;vb=Fa;wb=Ja}c[La>>2]=wb;a[ub+vb>>0]=bb;Wa=c[b>>2]|0;break}default:{La=c[j>>2]|0;Ja=La+4|0;Fa=c[Ja>>2]|0;Ka=Fa+1|0;za=La+8|0;Ma=c[za>>2]|0;if(Ka>>>0>Ma>>>0){if(Ma>>>0>2147483645){p=345;break e}Ca=Ma<<1;xb=c[Qa>>2]|0;if((Ca|0)==-2){p=347;break e}Ha=c[La>>2]|0;Aa=c[xb+12>>2]|0;Ba=(Ha|0)==0;Da=Aa+4|0;Ea=Pa[c[Aa>>2]&3](c[Da>>2]|0,Ha,Ma,Ca)|0;if((Ca|0)!=0&(Ea|0)==0){if(!(a[Aa+51>>0]|0)){p=351;break e}Kc(xb,1);wa=Pa[c[Aa>>2]&3](c[Da>>2]|0,Ha,Ma,Ca)|0;if(!wa){p=351;break e}else yb=wa}else yb=Ea;Ea=Aa+12|0;c[Ea>>2]=(Ba?0:0-Ma|0)+Ca+(c[Ea>>2]|0);c[La>>2]=yb;c[za>>2]=Ca;Ca=c[Ja>>2]|0;zb=yb;Ab=Ca;Bb=Ca+1|0}else{zb=c[La>>2]|0;Ab=Fa;Bb=Ka}c[Ja>>2]=Bb;a[zb+Ab>>0]=Ra;Ja=c[m>>2]|0;Ka=c[Ja>>2]|0;c[Ja>>2]=Ka+-1;if(!Ka){Ka=Oa[c[Ja+8>>2]&7](c[Ja+16>>2]|0,c[Ja+12>>2]|0,g)|0;Fa=c[g>>2]|0;if((Ka|0)==0|(Fa|0)==0)Cb=-1;else{c[Ja>>2]=Fa+-1;c[Ja+4>>2]=Ka+1;Cb=d[Ka>>0]|0}Db=Cb}else{Ka=Ja+4|0;Ja=c[Ka>>2]|0;c[Ka>>2]=Ja+1;Db=d[Ja>>0]|0}c[b>>2]=Db;Wa=Db}}while(0);if((Wa|0)==(o|0))break d;else Ra=Wa}switch(p|0){case 249:{Ae(b,48840,287);break}case 250:{Ae(b,48840,290);break}case 275:{lf(b,h,_a,48858);break}case 302:{lf(b,b,1,48885);break}case 310:{lf(b,h,nb,48909);break}case 333:{Ae(b,48200,0);break}case 335:{Lc(sb);break}case 339:{yc(sb,4);break}case 345:{Ae(b,48200,0);break}case 347:{Lc(xb);break}case 351:{yc(xb,4);break}}}while(0);xb=c[j>>2]|0;sb=xb+4|0;nb=c[sb>>2]|0;h=nb+1|0;_a=xb+8|0;Wa=c[_a>>2]|0;if(h>>>0>Wa>>>0){if(Wa>>>0>2147483645)Ae(b,48200,0);Db=Wa<<1;Cb=c[b+44>>2]|0;if((Db|0)==-2)Lc(Cb);Ab=c[xb>>2]|0;zb=c[Cb+12>>2]|0;Bb=(Ab|0)==0;yb=zb+4|0;bb=Pa[c[zb>>2]&3](c[yb>>2]|0,Ab,Wa,Db)|0;if((Db|0)!=0&(bb|0)==0){if(!(a[zb+51>>0]|0))yc(Cb,4);Kc(Cb,1);vb=Pa[c[zb>>2]&3](c[yb>>2]|0,Ab,Wa,Db)|0;if(!vb)yc(Cb,4);else Eb=vb}else Eb=bb;bb=zb+12|0;c[bb>>2]=(Bb?0:0-Wa|0)+Db+(c[bb>>2]|0);c[xb>>2]=Eb;c[_a>>2]=Db;Db=c[sb>>2]|0;Fb=Eb;Gb=Db;Hb=Db+1|0}else{Fb=c[xb>>2]|0;Gb=nb;Hb=h}c[sb>>2]=Hb;a[Fb+Gb>>0]=Ga;Ga=c[m>>2]|0;Gb=c[Ga>>2]|0;c[Ga>>2]=Gb+-1;if(!Gb){Gb=Oa[c[Ga+8>>2]&7](c[Ga+16>>2]|0,c[Ga+12>>2]|0,g)|0;Fb=c[g>>2]|0;if((Gb|0)==0|(Fb|0)==0)Ib=-1;else{c[Ga>>2]=Fb+-1;c[Ga+4>>2]=Gb+1;Ib=d[Gb>>0]|0}Jb=Ib}else{Ib=Ga+4|0;Ga=c[Ib>>2]|0;c[Ib>>2]=Ga+1;Jb=d[Ga>>0]|0}c[b>>2]=Jb;Jb=c[j>>2]|0;c[e>>2]=qe(b,(c[Jb>>2]|0)+1|0,(c[Jb+4>>2]|0)+-2|0)|0;k=290;Ia=f;return k|0}case 377:{Jb=c[j>>2]|0;Ga=Jb+4|0;Ib=c[Ga>>2]|0;Gb=Ib+1|0;Fb=Jb+8|0;Hb=c[Fb>>2]|0;if(Gb>>>0>Hb>>>0){if(Hb>>>0>2147483645)Ae(b,48200,0);sb=Hb<<1;h=c[b+44>>2]|0;if((sb|0)==-2)Lc(h);nb=c[Jb>>2]|0;xb=c[h+12>>2]|0;Db=(nb|0)==0;Eb=xb+4|0;_a=Pa[c[xb>>2]&3](c[Eb>>2]|0,nb,Hb,sb)|0;if((sb|0)!=0&(_a|0)==0){if(!(a[xb+51>>0]|0))yc(h,4);Kc(h,1);bb=Pa[c[xb>>2]&3](c[Eb>>2]|0,nb,Hb,sb)|0;if(!bb)yc(h,4);else Kb=bb}else Kb=_a;_a=xb+12|0;c[_a>>2]=(Db?0:0-Hb|0)+sb+(c[_a>>2]|0);c[Jb>>2]=Kb;c[Fb>>2]=sb;sb=c[Ga>>2]|0;Lb=Kb;Mb=sb;Nb=sb+1|0}else{Lb=c[Jb>>2]|0;Mb=Ib;Nb=Gb}c[Ga>>2]=Nb;a[Lb+Mb>>0]=46;Mb=c[m>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=Oa[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Nb=c[g>>2]|0;if((Lb|0)==0|(Nb|0)==0)Ob=-1;else{c[Mb>>2]=Nb+-1;c[Mb+4>>2]=Lb+1;Ob=d[Lb>>0]|0}Pb=Ob}else{Ob=Mb+4|0;Mb=c[Ob>>2]|0;c[Ob>>2]=Mb+1;Pb=d[Mb>>0]|0}c[b>>2]=Pb;if(!Pb){k=46;Ia=f;return k|0}if(!(Mt(104886,Pb,2)|0)){if((Pb+-48|0)>>>0<10){q=Pb;break}else k=46;Ia=f;return k|0}Mb=c[j>>2]|0;Ob=Mb+4|0;Lb=c[Ob>>2]|0;Nb=Lb+1|0;Ga=Mb+8|0;Gb=c[Ga>>2]|0;if(Nb>>>0>Gb>>>0){if(Gb>>>0>2147483645)Ae(b,48200,0);Ib=Gb<<1;Jb=c[b+44>>2]|0;if((Ib|0)==-2)Lc(Jb);sb=c[Mb>>2]|0;Kb=c[Jb+12>>2]|0;Fb=(sb|0)==0;_a=Kb+4|0;Hb=Pa[c[Kb>>2]&3](c[_a>>2]|0,sb,Gb,Ib)|0;if((Ib|0)!=0&(Hb|0)==0){if(!(a[Kb+51>>0]|0))yc(Jb,4);Kc(Jb,1);Db=Pa[c[Kb>>2]&3](c[_a>>2]|0,sb,Gb,Ib)|0;if(!Db)yc(Jb,4);else Qb=Db}else Qb=Hb;Hb=Kb+12|0;c[Hb>>2]=(Fb?0:0-Gb|0)+Ib+(c[Hb>>2]|0);c[Mb>>2]=Qb;c[Ga>>2]=Ib;Ib=c[Ob>>2]|0;Rb=Qb;Sb=Ib;Tb=Ib+1|0}else{Rb=c[Mb>>2]|0;Sb=Lb;Tb=Nb}c[Ob>>2]=Tb;a[Rb+Sb>>0]=Pb;Pb=c[m>>2]|0;Sb=c[Pb>>2]|0;c[Pb>>2]=Sb+-1;if(!Sb){Sb=Oa[c[Pb+8>>2]&7](c[Pb+16>>2]|0,c[Pb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Sb|0)==0|(Rb|0)==0)Ub=-1;else{c[Pb>>2]=Rb+-1;c[Pb+4>>2]=Sb+1;Ub=d[Sb>>0]|0}Vb=Ub}else{Ub=Pb+4|0;Pb=c[Ub>>2]|0;c[Ub>>2]=Pb+1;Vb=d[Pb>>0]|0}c[b>>2]=Vb;if(!Vb){k=279;Ia=f;return k|0}if(Mt(104886,Vb,2)|0){Pb=c[j>>2]|0;Ub=Pb+4|0;Sb=c[Ub>>2]|0;Rb=Sb+1|0;Tb=Pb+8|0;Ob=c[Tb>>2]|0;if(Rb>>>0>Ob>>>0){if(Ob>>>0>2147483645)Ae(b,48200,0);Nb=Ob<<1;Lb=c[b+44>>2]|0;if((Nb|0)==-2)Lc(Lb);Mb=c[Pb>>2]|0;Ib=c[Lb+12>>2]|0;Qb=(Mb|0)==0;Ga=Ib+4|0;Hb=Pa[c[Ib>>2]&3](c[Ga>>2]|0,Mb,Ob,Nb)|0;if((Nb|0)!=0&(Hb|0)==0){if(!(a[Ib+51>>0]|0))yc(Lb,4);Kc(Lb,1);Gb=Pa[c[Ib>>2]&3](c[Ga>>2]|0,Mb,Ob,Nb)|0;if(!Gb)yc(Lb,4);else Wb=Gb}else Wb=Hb;Hb=Ib+12|0;c[Hb>>2]=(Qb?0:0-Ob|0)+Nb+(c[Hb>>2]|0);c[Pb>>2]=Wb;c[Tb>>2]=Nb;Nb=c[Ub>>2]|0;Xb=Wb;Yb=Nb;Zb=Nb+1|0}else{Xb=c[Pb>>2]|0;Yb=Sb;Zb=Rb}c[Ub>>2]=Zb;a[Xb+Yb>>0]=Vb;Yb=c[m>>2]|0;Xb=c[Yb>>2]|0;c[Yb>>2]=Xb+-1;if(!Xb){Xb=Oa[c[Yb+8>>2]&7](c[Yb+16>>2]|0,c[Yb+12>>2]|0,g)|0;Zb=c[g>>2]|0;if((Xb|0)==0|(Zb|0)==0)_b=-1;else{c[Yb>>2]=Zb+-1;c[Yb+4>>2]=Xb+1;_b=d[Xb>>0]|0}$b=_b}else{_b=Yb+4|0;Yb=c[_b>>2]|0;c[_b>>2]=Yb+1;$b=d[Yb>>0]|0}c[b>>2]=$b;k=280;Ia=f;return k|0}if(!(Mt(97449,Vb,2)|0)){k=279;Ia=f;return k|0}$b=c[j>>2]|0;Yb=$b+4|0;_b=c[Yb>>2]|0;Xb=_b+1|0;Zb=$b+8|0;Ub=c[Zb>>2]|0;if(Xb>>>0>Ub>>>0){if(Ub>>>0>2147483645)Ae(b,48200,0);Rb=Ub<<1;Sb=c[b+44>>2]|0;if((Rb|0)==-2)Lc(Sb);Pb=c[$b>>2]|0;Nb=c[Sb+12>>2]|0;Wb=(Pb|0)==0;Tb=Nb+4|0;Hb=Pa[c[Nb>>2]&3](c[Tb>>2]|0,Pb,Ub,Rb)|0;if((Rb|0)!=0&(Hb|0)==0){if(!(a[Nb+51>>0]|0))yc(Sb,4);Kc(Sb,1);Ob=Pa[c[Nb>>2]&3](c[Tb>>2]|0,Pb,Ub,Rb)|0;if(!Ob)yc(Sb,4);else ac=Ob}else ac=Hb;Hb=Nb+12|0;c[Hb>>2]=(Wb?0:0-Ub|0)+Rb+(c[Hb>>2]|0);c[$b>>2]=ac;c[Zb>>2]=Rb;Rb=c[Yb>>2]|0;bc=ac;cc=Rb;dc=Rb+1|0}else{bc=c[$b>>2]|0;cc=_b;dc=Xb}c[Yb>>2]=dc;a[bc+cc>>0]=Vb;Vb=c[m>>2]|0;cc=c[Vb>>2]|0;c[Vb>>2]=cc+-1;if(!cc){cc=Oa[c[Vb+8>>2]&7](c[Vb+16>>2]|0,c[Vb+12>>2]|0,g)|0;bc=c[g>>2]|0;if((cc|0)==0|(bc|0)==0)ec=-1;else{c[Vb>>2]=bc+-1;c[Vb+4>>2]=cc+1;ec=d[cc>>0]|0}fc=ec}else{ec=Vb+4|0;Vb=c[ec>>2]|0;c[ec>>2]=Vb+1;fc=d[Vb>>0]|0}c[b>>2]=fc;k=314;Ia=f;return k|0}case 556:{g:do if(!((o|0)==95|(Av(o)|0)!=0)?!((o|0)<0|(o&-128|0)==128):0){switch(o|0){case 30:case 31:{break g;break}case 41:{gc=-1;break}case 40:{gc=(c[b+20>>2]|0)>0?1:-1;break}default:gc=0}fc=b+20|0;c[fc>>2]=(c[fc>>2]|0)+gc;fc=c[m>>2]|0;Vb=c[fc>>2]|0;c[fc>>2]=Vb+-1;if(!Vb){Vb=Oa[c[fc+8>>2]&7](c[fc+16>>2]|0,c[fc+12>>2]|0,g)|0;ec=c[g>>2]|0;if((Vb|0)==0|(ec|0)==0)hc=-1;else{c[fc>>2]=ec+-1;c[fc+4>>2]=Vb+1;hc=d[Vb>>0]|0}ic=hc}else{Vb=fc+4|0;fc=c[Vb>>2]|0;c[Vb>>2]=fc+1;ic=d[fc>>0]|0}c[b>>2]=ic;k=o;Ia=f;return k|0}while(0);ic=b+44|0;hc=o;while(1){o=c[j>>2]|0;gc=o+4|0;fc=c[gc>>2]|0;Vb=fc+1|0;ec=o+8|0;cc=c[ec>>2]|0;if(Vb>>>0>cc>>>0){if(cc>>>0>2147483645){p=563;break}bc=cc<<1;jc=c[ic>>2]|0;if((bc|0)==-2){p=565;break}dc=c[o>>2]|0;Yb=c[jc+12>>2]|0;Xb=(dc|0)==0;_b=Yb+4|0;$b=Pa[c[Yb>>2]&3](c[_b>>2]|0,dc,cc,bc)|0;if((bc|0)!=0&($b|0)==0){if(!(a[Yb+51>>0]|0)){p=569;break}Kc(jc,1);Rb=Pa[c[Yb>>2]&3](c[_b>>2]|0,dc,cc,bc)|0;if(!Rb){p=569;break}else kc=Rb}else kc=$b;$b=Yb+12|0;c[$b>>2]=(Xb?0:0-cc|0)+bc+(c[$b>>2]|0);c[o>>2]=kc;c[ec>>2]=bc;bc=c[gc>>2]|0;lc=kc;mc=bc;nc=bc+1|0}else{lc=c[o>>2]|0;mc=fc;nc=Vb}c[gc>>2]=nc;a[lc+mc>>0]=hc;gc=c[m>>2]|0;Vb=c[gc>>2]|0;c[gc>>2]=Vb+-1;if(!Vb){Vb=Oa[c[gc+8>>2]&7](c[gc+16>>2]|0,c[gc+12>>2]|0,g)|0;fc=c[g>>2]|0;if((Vb|0)==0|(fc|0)==0)oc=-1;else{c[gc>>2]=fc+-1;c[gc+4>>2]=Vb+1;oc=d[Vb>>0]|0}pc=oc}else{Vb=gc+4|0;gc=c[Vb>>2]|0;c[Vb>>2]=gc+1;pc=d[gc>>0]|0}c[b>>2]=pc;if(pc>>>0>127|((zv(pc)|0)!=0|(pc|0)==95)|(pc&-2|0)==30)hc=pc;else{p=577;break}}if((p|0)==563)Ae(b,48200,0);else if((p|0)==565)Lc(jc);else if((p|0)==569)yc(jc,4);else if((p|0)==577){jc=c[j>>2]|0;pc=qe(b,c[jc>>2]|0,c[jc+4>>2]|0)|0;c[e>>2]=pc;if((a[pc+4>>0]|0)==4){jc=a[pc+6>>0]|0;Ia=f;return (jc<<24>>24==0?289:jc&255|256)|0}else{k=289;Ia=f;return k|0}}break}case 587:{Ia=f;return k|0}}jc=c[j>>2]|0;pc=jc+4|0;hc=c[pc>>2]|0;oc=hc+1|0;mc=jc+8|0;lc=c[mc>>2]|0;if(oc>>>0>lc>>>0){if(lc>>>0>2147483645)Ae(b,48200,0);nc=lc<<1;kc=c[b+44>>2]|0;if((nc|0)==-2)Lc(kc);ic=c[jc>>2]|0;gc=c[kc+12>>2]|0;Vb=(ic|0)==0;fc=gc+4|0;o=Pa[c[gc>>2]&3](c[fc>>2]|0,ic,lc,nc)|0;if((nc|0)!=0&(o|0)==0){if(!(a[gc+51>>0]|0))yc(kc,4);Kc(kc,1);bc=Pa[c[gc>>2]&3](c[fc>>2]|0,ic,lc,nc)|0;if(!bc)yc(kc,4);else qc=bc}else qc=o;o=gc+12|0;c[o>>2]=(Vb?0:0-lc|0)+nc+(c[o>>2]|0);c[jc>>2]=qc;c[mc>>2]=nc;nc=c[pc>>2]|0;rc=qc;sc=nc;tc=nc+1|0}else{rc=c[jc>>2]|0;sc=hc;tc=oc}c[pc>>2]=tc;a[rc+sc>>0]=q;sc=c[m>>2]|0;rc=c[sc>>2]|0;c[sc>>2]=rc+-1;if(!rc){rc=Oa[c[sc+8>>2]&7](c[sc+16>>2]|0,c[sc+12>>2]|0,g)|0;tc=c[g>>2]|0;if((rc|0)==0|(tc|0)==0)uc=-1;else{c[sc>>2]=tc+-1;c[sc+4>>2]=rc+1;uc=d[rc>>0]|0}vc=uc}else{uc=sc+4|0;sc=c[uc>>2]|0;c[uc>>2]=sc+1;vc=d[sc>>0]|0}c[b>>2]=vc;if(!((q|0)!=48|(vc|0)==0)){if(!(Mt(48934,vc,3)|0)){wc=vc;xc=0}else{q=c[j>>2]|0;sc=q+4|0;uc=c[sc>>2]|0;rc=uc+1|0;tc=q+8|0;pc=c[tc>>2]|0;if(rc>>>0>pc>>>0){if(pc>>>0>2147483645)Ae(b,48200,0);oc=pc<<1;hc=c[b+44>>2]|0;if((oc|0)==-2)Lc(hc);jc=c[q>>2]|0;nc=c[hc+12>>2]|0;qc=(jc|0)==0;mc=nc+4|0;o=Pa[c[nc>>2]&3](c[mc>>2]|0,jc,pc,oc)|0;if((oc|0)!=0&(o|0)==0){if(!(a[nc+51>>0]|0))yc(hc,4);Kc(hc,1);lc=Pa[c[nc>>2]&3](c[mc>>2]|0,jc,pc,oc)|0;if(!lc)yc(hc,4);else zc=lc}else zc=o;o=nc+12|0;c[o>>2]=(qc?0:0-pc|0)+oc+(c[o>>2]|0);c[q>>2]=zc;c[tc>>2]=oc;oc=c[sc>>2]|0;Ac=zc;Bc=oc;Cc=oc+1|0}else{Ac=c[q>>2]|0;Bc=uc;Cc=rc}c[sc>>2]=Cc;a[Ac+Bc>>0]=vc;Bc=c[m>>2]|0;Ac=c[Bc>>2]|0;c[Bc>>2]=Ac+-1;if(!Ac){Ac=Oa[c[Bc+8>>2]&7](c[Bc+16>>2]|0,c[Bc+12>>2]|0,g)|0;Cc=c[g>>2]|0;if((Ac|0)==0|(Cc|0)==0)Dc=-1;else{c[Bc>>2]=Cc+-1;c[Bc+4>>2]=Ac+1;Dc=d[Ac>>0]|0}Ec=Dc}else{Dc=Bc+4|0;Bc=c[Dc>>2]|0;c[Dc>>2]=Bc+1;Ec=d[Bc>>0]|0}c[b>>2]=Ec;wc=Ec;xc=1}if(wc)if(!(Mt(48937,wc,3)|0)){Fc=wc;Gc=0;Hc=xc}else{Ec=c[j>>2]|0;Bc=Ec+4|0;Dc=c[Bc>>2]|0;Ac=Dc+1|0;Cc=Ec+8|0;sc=c[Cc>>2]|0;if(Ac>>>0>sc>>>0){if(sc>>>0>2147483645)Ae(b,48200,0);rc=sc<<1;uc=c[b+44>>2]|0;if((rc|0)==-2)Lc(uc);q=c[Ec>>2]|0;oc=c[uc+12>>2]|0;zc=(q|0)==0;tc=oc+4|0;o=Pa[c[oc>>2]&3](c[tc>>2]|0,q,sc,rc)|0;if((rc|0)!=0&(o|0)==0){if(!(a[oc+51>>0]|0))yc(uc,4);Kc(uc,1);pc=Pa[c[oc>>2]&3](c[tc>>2]|0,q,sc,rc)|0;if(!pc)yc(uc,4);else Ic=pc}else Ic=o;o=oc+12|0;c[o>>2]=(zc?0:0-sc|0)+rc+(c[o>>2]|0);c[Ec>>2]=Ic;c[Cc>>2]=rc;rc=c[Bc>>2]|0;Jc=Ic;Mc=rc;Nc=rc+1|0}else{Jc=c[Ec>>2]|0;Mc=Dc;Nc=Ac}c[Bc>>2]=Nc;a[Jc+Mc>>0]=wc;wc=c[m>>2]|0;Mc=c[wc>>2]|0;c[wc>>2]=Mc+-1;if(!Mc){Mc=Oa[c[wc+8>>2]&7](c[wc+16>>2]|0,c[wc+12>>2]|0,g)|0;Jc=c[g>>2]|0;if((Mc|0)==0|(Jc|0)==0)Oc=-1;else{c[wc>>2]=Jc+-1;c[wc+4>>2]=Mc+1;Oc=d[Mc>>0]|0}Pc=Oc}else{Oc=wc+4|0;wc=c[Oc>>2]|0;c[Oc>>2]=wc+1;Pc=d[wc>>0]|0}c[b>>2]=Pc;Fc=Pc;Gc=1;Hc=xc}else{Fc=0;Gc=0;Hc=xc}}else{Fc=vc;Gc=0;Hc=0}vc=(Hc|0)!=0;Hc=b+44|0;xc=(Gc|vc)^1;Pc=Fc;h:while(1){do if(!((Pc+-48|0)>>>0<10&xc)){if(vc?a[64+(Pc+1)>>0]&16:0)break;if(!((Pc|0)==46|Gc&(Pc&-2|0)==48)){p=525;break h}}while(0);Fc=c[j>>2]|0;wc=Fc+4|0;Oc=c[wc>>2]|0;Mc=Oc+1|0;Jc=Fc+8|0;Nc=c[Jc>>2]|0;if(Mc>>>0>Nc>>>0){if(Nc>>>0>2147483645){p=511;break}Bc=Nc<<1;Qc=c[Hc>>2]|0;if((Bc|0)==-2){p=513;break}Ac=c[Fc>>2]|0;Dc=c[Qc+12>>2]|0;Ec=(Ac|0)==0;rc=Dc+4|0;Ic=Pa[c[Dc>>2]&3](c[rc>>2]|0,Ac,Nc,Bc)|0;if((Bc|0)!=0&(Ic|0)==0){if(!(a[Dc+51>>0]|0)){p=517;break}Kc(Qc,1);Cc=Pa[c[Dc>>2]&3](c[rc>>2]|0,Ac,Nc,Bc)|0;if(!Cc){p=517;break}else Rc=Cc}else Rc=Ic;Ic=Dc+12|0;c[Ic>>2]=(Ec?0:0-Nc|0)+Bc+(c[Ic>>2]|0);c[Fc>>2]=Rc;c[Jc>>2]=Bc;Bc=c[wc>>2]|0;Sc=Rc;Tc=Bc;Uc=Bc+1|0}else{Sc=c[Fc>>2]|0;Tc=Oc;Uc=Mc}c[wc>>2]=Uc;a[Sc+Tc>>0]=Pc;wc=c[m>>2]|0;Mc=c[wc>>2]|0;c[wc>>2]=Mc+-1;if(!Mc){Mc=Oa[c[wc+8>>2]&7](c[wc+16>>2]|0,c[wc+12>>2]|0,g)|0;Oc=c[g>>2]|0;if((Mc|0)==0|(Oc|0)==0)Vc=-1;else{c[wc>>2]=Oc+-1;c[wc+4>>2]=Mc+1;Vc=d[Mc>>0]|0}Xc=Vc}else{Mc=wc+4|0;wc=c[Mc>>2]|0;c[Mc>>2]=wc+1;Xc=d[wc>>0]|0}c[b>>2]=Xc;Pc=Xc}if((p|0)==511)Ae(b,48200,0);else if((p|0)==513)Lc(Qc);else if((p|0)==517)yc(Qc,4);else if((p|0)==525){p=c[j>>2]|0;Qc=p+4|0;Xc=c[Qc>>2]|0;Pc=Xc+1|0;Vc=p+8|0;g=c[Vc>>2]|0;if(Pc>>>0>g>>>0){if(g>>>0>2147483645)Ae(b,48200,0);m=g<<1;Tc=c[Hc>>2]|0;if((m|0)==-2)Lc(Tc);Hc=c[p>>2]|0;Sc=c[Tc+12>>2]|0;Uc=(Hc|0)==0;Rc=Sc+4|0;Gc=Pa[c[Sc>>2]&3](c[Rc>>2]|0,Hc,g,m)|0;if((m|0)!=0&(Gc|0)==0){if(!(a[Sc+51>>0]|0))yc(Tc,4);Kc(Tc,1);vc=Pa[c[Sc>>2]&3](c[Rc>>2]|0,Hc,g,m)|0;if(!vc)yc(Tc,4);else Yc=vc}else Yc=Gc;Gc=Sc+12|0;c[Gc>>2]=(Uc?0:0-g|0)+m+(c[Gc>>2]|0);c[p>>2]=Yc;c[Vc>>2]=m;m=c[Qc>>2]|0;Zc=Yc;_c=m;$c=m+1|0}else{Zc=c[p>>2]|0;_c=Xc;$c=Pc}c[Qc>>2]=$c;a[Zc+_c>>0]=0;_c=b+68|0;Zc=a[_c>>0]|0;$c=c[j>>2]|0;Qc=c[$c>>2]|0;Pc=c[$c+4>>2]|0;if(!Pc){ad=Qc;bd=-1}else{$c=Pc;do{$c=$c+-1|0;Pc=Qc+$c|0;if((a[Pc>>0]|0)==46)a[Pc>>0]=Zc}while(($c|0)!=0);$c=c[j>>2]|0;ad=c[$c>>2]|0;bd=(c[$c+4>>2]|0)+-1|0}if(Wc(ad,bd,e)|0){k=288;Ia=f;return k|0}bd=a[_c>>0]|0;ad=a[c[(Bv()|0)>>2]>>0]|0;a[_c>>0]=ad;$c=c[j>>2]|0;Zc=c[$c>>2]|0;Qc=c[$c+4>>2]|0;if(!Qc){cd=Zc;dd=-1}else{$c=Qc;do{$c=$c+-1|0;Qc=Zc+$c|0;if((a[Qc>>0]|0)==bd<<24>>24)a[Qc>>0]=ad}while(($c|0)!=0);$c=c[j>>2]|0;cd=c[$c>>2]|0;dd=(c[$c+4>>2]|0)+-1|0}if(Wc(cd,dd,e)|0){k=288;Ia=f;return k|0}k=a[_c>>0]|0;_c=c[j>>2]|0;j=c[_c>>2]|0;f=c[_c+4>>2]|0;if(!f)Ae(b,48940,288);_c=f;do{_c=_c+-1|0;f=j+_c|0;if((a[f>>0]|0)==k<<24>>24)a[f>>0]=46}while((_c|0)!=0);Ae(b,48940,288)}return 0}function le(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0;f=Ia;Ia=Ia+96|0;g=f;h=f+72|0;i=f+56|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8721]=m;n=e+40|0;o=c[n>>2]|0;p=e+44|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)Ce(o,200,48307);r=e+24|0;do switch(c[r>>2]|0){case 59:{c[e+16>>2]=m;q=e+32|0;if((c[q>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}else{A=q;B=c[A+4>>2]|0;C=e+24|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=287;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}break}case 291:{De(e);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 267:{c[i>>2]=-1;q=Ee(e,i)|0;a:while(1){switch(c[r>>2]|0){case 260:{D=11;break a;break}case 261:break;default:break a}Ee(e,i)|0}if((D|0)==11){c[e+16>>2]=c[l>>2];B=e+32|0;if((c[B>>2]|0)==287){C=ke(e,e+28|0)|0;c[r>>2]=C;E=C}else{C=B;A=c[C>>2]|0;F=c[C+4>>2]|0;C=e+24|0;c[C>>2]=A;c[C+4>>2]=F;c[B>>2]=287;E=A}A=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[A+46>>0]|0;B=c[(c[A+12>>2]|0)+56>>2]|0;b[h+4>>1]=c[B+28>>2];b[h+6>>1]=c[B+16>>2];a[h+9>>0]=0;B=A+16|0;c[h>>2]=c[B>>2];c[B>>2]=h;B=E;b:while(1){switch(B|0){case 277:case 292:case 287:case 262:case 261:case 260:{break b;break}default:{}}le(e);if((B|0)==274)break;B=c[r>>2]|0}pe(A)}c:do if(!q)Fe(e,262,267,m);else switch(c[r>>2]|0){case 287:case 292:{c[e+16>>2]=c[l>>2];B=e+32|0;if((c[B>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break c}else{F=B;C=c[F+4>>2]|0;G=e+24|0;c[G>>2]=c[F>>2];c[G+4>>2]=C;c[B>>2]=287;break c}break}case 277:case 262:case 261:case 260:{B=e+12|0;c[B>>2]=(c[B>>2]|0)+-1;break c;break}default:{Fe(e,292,267,m);break c}}while(0);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}C=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=C+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;F=(B|0)==-1?-1:G+1+B|0;if((F|0)==-1)break;else G=F}C=q+~G|0;if((((C|0)>-1?C:0-C|0)|0)>131071)re(c[o+12>>2]|0,47972);else{c[H>>2]=(C<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 278:{q=e+16|0;c[q>>2]=m;A=e+32|0;if((c[A>>2]|0)==287){C=ke(e,e+28|0)|0;c[r>>2]=C;J=C}else{C=A;F=c[C>>2]|0;B=c[C+4>>2]|0;C=e+24|0;c[C>>2]=F;c[C+4>>2]=B;c[A>>2]=287;J=F}F=e+20|0;c[F>>2]=(J|0)==40?1:-1;B=o+20|0;C=c[B>>2]|0;K=o+24|0;c[K>>2]=C;Ge(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;He(c[n>>2]|0,h);L=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;M=o+12|0;N=c[(c[M>>2]|0)+56>>2]|0;b[i+4>>1]=c[N+28>>2];b[i+6>>1]=c[N+16>>2];a[i+9>>0]=0;N=o+16|0;c[i>>2]=c[N>>2];c[N>>2]=i;N=c[r>>2]|0;switch(N|0){case 259:{D=47;break}case 287:{me(e,259);break}default:D=42}do if((D|0)==42){if((c[F>>2]|0)==0?(c[l>>2]|0)==(m|0):0){O=e+12|0;c[O>>2]=(c[O>>2]|0)+1;P=1;break}if((N|0)==259)D=47;else me(e,259)}while(0);do if((D|0)==47){c[q>>2]=c[l>>2];if((c[A>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;P=0;break}else{N=A;F=c[N+4>>2]|0;O=e+24|0;c[O>>2]=c[N>>2];c[O+4>>2]=F;c[A>>2]=287;P=0;break}}while(0);Ie(e);F=o+28|0;O=c[F>>2]|0;c[F>>2]=-1;N=oe(o,2147450916)|0;do if((O|0)!=-1)if((N|0)!=-1){Q=c[(c[o>>2]|0)+12>>2]|0;R=N;while(1){S=Q+(R<<2)|0;T=c[S>>2]|0;U=(T>>>14)+-131071|0;V=(U|0)==-1?-1:R+1+U|0;if((V|0)==-1)break;else R=V}Q=O+~R|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071)re(c[M>>2]|0,47972);else{c[S>>2]=(Q<<14)+2147467264|T&16383;W=N;break}}else W=O;else W=N;while(0);ze(o,W,C);d:do if(P)switch(c[r>>2]|0){case 287:case 292:{c[q>>2]=c[l>>2];if((c[A>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break d}else{N=A;O=c[N+4>>2]|0;Q=e+24|0;c[Q>>2]=c[N>>2];c[Q+4>>2]=O;c[A>>2]=287;break d}break}case 277:case 262:case 261:case 260:{O=e+12|0;c[O>>2]=(c[O>>2]|0)+-1;break d;break}default:{Fe(e,292,278,m);break d}}else Fe(e,262,278,m);while(0);pe(o);c[K>>2]=c[B>>2];do if((L|0)!=-1){A=c[F>>2]|0;if((A|0)==-1){c[F>>2]=L;break}q=c[(c[o>>2]|0)+12>>2]|0;C=A;while(1){X=q+(C<<2)|0;Y=c[X>>2]|0;A=(Y>>>14)+-131071|0;O=(A|0)==-1?-1:C+1+A|0;if((O|0)==-1)break;else C=O}q=L+~C|0;if((((q|0)>-1?q:0-q|0)|0)>131071)re(c[M>>2]|0,47972);else{c[X>>2]=(q<<14)+2147467264|Y&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 259:{c[e+16>>2]=m;M=e+32|0;if((c[M>>2]|0)==287)c[r>>2]=ke(e,e+28|0)|0;else{L=M;F=c[L+4>>2]|0;B=e+24|0;c[B>>2]=c[L>>2];c[B+4>>2]=F;c[M>>2]=287}Ie(e);Fe(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;M=c[(c[o+12>>2]|0)+56>>2]|0;b[i+4>>1]=c[M+28>>2];b[i+6>>1]=c[M+16>>2];a[i+9>>0]=0;M=o+16|0;c[i>>2]=c[M>>2];c[M>>2]=i;M=e+16|0;c[M>>2]=m;F=e+32|0;if((c[F>>2]|0)==287){B=ke(e,e+28|0)|0;c[r>>2]=B;Z=B}else{B=F;L=c[B>>2]|0;K=c[B+4>>2]|0;B=e+24|0;c[B>>2]=L;c[B+4>>2]=K;c[F>>2]=287;Z=L}if((Z|0)!=289)me(e,289);L=e+28|0;K=c[L>>2]|0;c[M>>2]=c[l>>2];if((c[F>>2]|0)==287){B=ke(e,L)|0;c[r>>2]=B;_=B}else{B=F;q=c[B>>2]|0;R=c[B+4>>2]|0;B=e+24|0;c[B>>2]=q;c[B+4>>2]=R;c[F>>2]=287;_=q}switch(_|0){case 61:{q=c[n>>2]|0;R=q+48|0;B=d[R>>0]|0;Je(e,qe(e,48316,11)|0);Je(e,qe(e,48328,11)|0);Je(e,qe(e,48340,10)|0);Je(e,K);if((c[r>>2]|0)!=61)me(e,61);c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{O=F;A=c[O+4>>2]|0;Q=e+24|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=A;c[F>>2]=287}Ke(e);if((c[r>>2]|0)!=44)me(e,44);c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{A=F;Q=c[A+4>>2]|0;O=e+24|0;c[O>>2]=c[A>>2];c[O+4>>2]=Q;c[F>>2]=287}Ke(e);if((c[r>>2]|0)==44){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{Q=F;O=c[Q+4>>2]|0;A=e+24|0;c[A>>2]=c[Q>>2];c[A+4>>2]=O;c[F>>2]=287}Ke(e)}else{O=d[R>>0]|0;A=q+12|0;c[h>>2]=65536;c[h+4>>2]=3;Q=Le(q,h,h)|0;N=O<<6;if((Q|0)<262144)oe(q,N|Q<<14|1)|0;else{oe(q,N|2)|0;oe(q,Q<<6|52)|0}Q=a[R>>0]|0;N=(Q&255)+1|0;O=(c[q>>2]|0)+78|0;do if((Q&255)>=(d[O>>0]|0))if((Q&255)>248)re(c[A>>2]|0,48351);else{q=N&255;a[O>>0]=q;$=q;break}else $=N&255;while(0);a[R>>0]=$}Me(e,B,m,1,1);break}case 268:case 44:{N=c[n>>2]|0;O=N+48|0;A=d[O>>0]|0;Je(e,qe(e,48386,15)|0);Je(e,qe(e,48402,11)|0);Je(e,qe(e,48414,13)|0);Je(e,K);Q=c[r>>2]|0;do if((Q|0)==44){q=e+24|0;G=4;while(1){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287){V=ke(e,L)|0;c[r>>2]=V;aa=V}else{V=F;U=c[V>>2]|0;ba=c[V+4>>2]|0;V=q;c[V>>2]=U;c[V+4>>2]=ba;c[F>>2]=287;aa=U}if((aa|0)!=289){D=118;break}U=c[L>>2]|0;c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{ba=F;V=c[ba+4>>2]|0;ca=q;c[ca>>2]=c[ba>>2];c[ca+4>>2]=V;c[F>>2]=287}Je(e,U);da=c[r>>2]|0;if((da|0)==44)G=G+1|0;else{D=123;break}}if((D|0)==118)me(e,289);else if((D|0)==123){ea=da;fa=G+-2|0;break}}else{ea=Q;fa=1}while(0);if((ea|0)!=268)me(e,268);Q=c[l>>2]|0;c[M>>2]=Q;if((c[F>>2]|0)==287){c[r>>2]=ke(e,L)|0;ga=c[l>>2]|0}else{K=F;B=c[K+4>>2]|0;R=e+24|0;c[R>>2]=c[K>>2];c[R+4>>2]=B;c[F>>2]=287;ga=Q}Ge(e,h,0)|0;e:do if((c[r>>2]|0)==44){Q=e+24|0;B=h+4|0;R=1;while(1){c[M>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,L)|0;else{K=F;q=c[K+4>>2]|0;C=Q;c[C>>2]=c[K>>2];c[C+4>>2]=q;c[F>>2]=287}ha=c[n>>2]|0;Ne(ha,h);if(((c[h>>2]|0)==6?(q=c[B>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[ha+46>>0]|0):0){q=ha+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=ha+48|0;C=a[q>>0]|0;K=(C&255)+1|0;U=(c[ha>>2]|0)+78|0;if((C&255)<(d[U>>0]|0))ia=K&255;else{if((C&255)>248)break;C=K&255;a[U>>0]=C;ia=C}a[q>>0]=ia;Oe(ha,h,(ia&255)+-1|0);Ge(e,h,0)|0;q=R+1|0;if((c[r>>2]|0)==44)R=q;else{ja=q;break e}}re(c[ha+12>>2]|0,48351)}else ja=1;while(0);Pe(c[n>>2]|0,3,ja,h);F=(d[O>>0]|0)+3|0;L=(c[N>>2]|0)+78|0;do if(F>>>0>(d[L>>0]|0)>>>0)if(F>>>0>249)re(c[N+12>>2]|0,48351);else{a[L>>0]=F;break}while(0);Me(e,A,ga,fa,0);break}default:re(e,48428)}Fe(e,262,264,m);pe(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 273:{F=c[o+20>>2]|0;c[o+24>>2]=F;a[i+10>>0]=1;L=a[o+46>>0]|0;a[i+8>>0]=L;N=c[(c[o+12>>2]|0)+56>>2]|0;O=c[N+28>>2]&65535;b[i+4>>1]=O;M=c[N+16>>2]&65535;b[i+6>>1]=M;a[i+9>>0]=0;N=o+16|0;c[i>>2]=c[N>>2];a[j+10>>0]=0;R=j+8|0;a[R>>0]=L;b[j+4>>1]=O;b[j+6>>1]=M;M=j+9|0;a[M>>0]=0;c[j>>2]=i;c[N>>2]=j;c[e+16>>2]=m;N=e+32|0;if((c[N>>2]|0)==287){O=ke(e,e+28|0)|0;c[r>>2]=O;ka=O}else{O=N;L=c[O>>2]|0;B=c[O+4>>2]|0;O=e+24|0;c[O>>2]=L;c[O+4>>2]=B;c[N>>2]=287;ka=L}L=ka;f:while(1){switch(L|0){case 277:case 292:case 287:case 262:case 261:case 260:{break f;break}default:{}}le(e);if((L|0)==274)break;L=c[r>>2]|0}Fe(e,277,273,m);Ge(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;He(c[n>>2]|0,h);L=c[h+12>>2]|0;if(!((L|0)==-1|(a[M>>0]|0)==0)){A=c[(c[o>>2]|0)+12>>2]|0;N=(d[R>>0]<<6)+64&16320;B=L;do{O=A+(B<<2)|0;Q=c[O>>2]|0;G=(Q>>>14)+-131071|0;c[O>>2]=Q&-16321|N;B=(G|0)==-1?-1:B+1+G|0}while((B|0)!=-1)}pe(o);ze(o,L,F);pe(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 265:{B=e+16|0;c[B>>2]=m;N=e+32|0;if((c[N>>2]|0)==287){A=e+28|0;c[r>>2]=ke(e,A)|0;la=e+24|0;ma=N;na=A}else{A=e+24|0;R=N;M=c[R+4>>2]|0;G=A;c[G>>2]=c[R>>2];c[G+4>>2]=M;c[N>>2]=287;la=A;ma=N;na=e+28|0}Qe(e,j);A=j+8|0;M=j+12|0;G=h+4|0;R=i+8|0;Q=i+12|0;O=i+4|0;q=j+4|0;C=q+2|0;U=q+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=181;break g;break}case 46:break;default:{oa=0;break g}}K=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[A>>2]|0)==(c[M>>2]|0):0))Re(K,j)|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287){V=ke(e,na)|0;c[r>>2]=V;pa=V}else{V=ma;ca=c[V>>2]|0;ba=c[V+4>>2]|0;V=la;c[V>>2]=ca;c[V+4>>2]=ba;c[N>>2]=287;pa=ca}if((pa|0)!=289){D=176;break}ca=c[na>>2]|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287)c[r>>2]=ke(e,na)|0;else{ba=ma;V=c[ba+4>>2]|0;qa=la;c[qa>>2]=c[ba>>2];c[qa+4>>2]=V;c[N>>2]=287}V=c[n>>2]|0;c[h>>2]=ca;c[G>>2]=(a[ca+4>>0]|64)&255;ca=Le(V,h,h)|0;c[R>>2]=-1;c[Q>>2]=-1;c[i>>2]=4;c[O>>2]=ca;a[C>>0]=c[q>>2];b[q>>1]=Se(K,i)|0;a[U>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==176)me(e,289);if((D|0)==181){O=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[A>>2]|0)==(c[M>>2]|0):0))Re(O,j)|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287){Q=ke(e,na)|0;c[r>>2]=Q;ra=Q}else{Q=ma;R=c[Q>>2]|0;G=c[Q+4>>2]|0;Q=la;c[Q>>2]=R;c[Q+4>>2]=G;c[N>>2]=287;ra=R}if((ra|0)!=289)me(e,289);R=c[na>>2]|0;c[B>>2]=c[l>>2];if((c[N>>2]|0)==287)c[r>>2]=ke(e,na)|0;else{G=ma;Q=c[G+4>>2]|0;F=la;c[F>>2]=c[G>>2];c[F+4>>2]=Q;c[N>>2]=287}Q=c[n>>2]|0;c[h>>2]=R;c[h+4>>2]=(a[R+4>>0]|64)&255;R=Le(Q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=R;a[C>>0]=c[q>>2];b[q>>1]=Se(O,i)|0;a[U>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;oa=1}Te(e,k,oa,m);Ue(c[n>>2]|0,j,k);O=c[n>>2]|0;c[(c[(c[O>>2]|0)+20>>2]|0)+((c[O+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 269:{O=e+16|0;c[O>>2]=m;R=e+32|0;if((c[R>>2]|0)==287){Q=ke(e,e+28|0)|0;c[r>>2]=Q;sa=Q}else{Q=R;F=c[Q>>2]|0;G=c[Q+4>>2]|0;Q=e+24|0;c[Q>>2]=F;c[Q+4>>2]=G;c[R>>2]=287;sa=F}if((sa|0)==265){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287){F=ke(e,e+28|0)|0;c[r>>2]=F;ta=F}else{F=R;G=c[F>>2]|0;Q=c[F+4>>2]|0;F=e+24|0;c[F>>2]=G;c[F+4>>2]=Q;c[R>>2]=287;ta=G}G=c[n>>2]|0;if((ta|0)!=289)me(e,289);Q=e+28|0;F=c[Q>>2]|0;c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,Q)|0;else{Q=R;L=c[Q+4>>2]|0;K=e+24|0;c[K>>2]=c[Q>>2];c[K+4>>2]=L;c[R>>2]=287}Je(e,F);F=c[n>>2]|0;L=F+46|0;K=a[L>>0]|0;a[L>>0]=(K&255)+1;c[(c[(c[F>>2]|0)+24>>2]|0)+((b[(c[c[(c[F+12>>2]|0)+56>>2]>>2]|0)+((c[F+40>>2]|0)+(K+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[F+20>>2];Te(e,h,0,c[l>>2]|0);c[(c[(c[G>>2]|0)+24>>2]|0)+((b[(c[c[(c[G+12>>2]|0)+56>>2]>>2]|0)+((c[G+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[G+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}if((sa|0)!=289)me(e,289);G=e+28|0;F=e+24|0;K=0;h:while(1){L=c[G>>2]|0;c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{Q=R;ca=c[Q+4>>2]|0;V=F;c[V>>2]=c[Q>>2];c[V+4>>2]=ca;c[R>>2]=287}Je(e,L);K=K+1|0;switch(c[r>>2]|0){case 61:{D=218;break h;break}case 44:break;default:{D=236;break h}}c[O>>2]=c[l>>2];if((c[R>>2]|0)==287){L=ke(e,G)|0;c[r>>2]=L;ua=L}else{L=R;ca=c[L>>2]|0;V=c[L+4>>2]|0;L=F;c[L>>2]=ca;c[L+4>>2]=V;c[R>>2]=287;ua=ca}if((ua|0)!=289){D=209;break}}i:do if((D|0)==209)me(e,289);else if((D|0)==218){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{U=R;q=c[U+4>>2]|0;C=F;c[C>>2]=c[U>>2];c[C+4>>2]=q;c[R>>2]=287}Ge(e,h,0)|0;if((c[r>>2]|0)==44){q=h+4|0;C=1;while(1){c[O>>2]=c[l>>2];if((c[R>>2]|0)==287)c[r>>2]=ke(e,G)|0;else{U=R;N=c[U+4>>2]|0;B=F;c[B>>2]=c[U>>2];c[B+4>>2]=N;c[R>>2]=287}va=c[n>>2]|0;Ne(va,h);if(((c[h>>2]|0)==6?(N=c[q>>2]|0,(N&256|0)==0):0)?(N|0)>=(d[va+46>>0]|0):0){N=va+48|0;a[N>>0]=(a[N>>0]|0)+-1<<24>>24}N=va+48|0;B=a[N>>0]|0;U=(B&255)+1|0;M=(c[va>>2]|0)+78|0;if((B&255)<(d[M>>0]|0))wa=U&255;else{if((B&255)>248)break;B=U&255;a[M>>0]=B;wa=B}a[N>>0]=wa;Oe(va,h,(wa&255)+-1|0);Ge(e,h,0)|0;N=C+1|0;if((c[r>>2]|0)==44)C=N;else{xa=N;break i}}re(c[va+12>>2]|0,48351)}else xa=1}else if((D|0)==236){c[h>>2]=0;xa=0}while(0);Pe(c[n>>2]|0,K,xa,h);R=c[n>>2]|0;F=R+46|0;G=K+(d[F>>0]|0)|0;a[F>>0]=G;F=c[R+20>>2]|0;O=c[(c[R>>2]|0)+24>>2]|0;C=c[c[(c[R+12>>2]|0)+56>>2]>>2]|0;q=(c[R+40>>2]|0)+(G&255)|0;G=K;do{c[O+((b[C+(q-G<<1)>>1]|0)*12|0)+4>>2]=F;G=G+-1|0}while((G|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 286:{G=e+16|0;c[G>>2]=m;F=e+32|0;if((c[F>>2]|0)==287){q=ke(e,e+28|0)|0;c[r>>2]=q;ya=q}else{q=F;C=c[q>>2]|0;O=c[q+4>>2]|0;q=e+24|0;c[q>>2]=C;c[q+4>>2]=O;c[F>>2]=287;ya=C}if((ya|0)!=289)me(e,289);C=e+28|0;O=c[C>>2]|0;c[G>>2]=c[l>>2];if((c[F>>2]|0)==287){q=ke(e,C)|0;c[r>>2]=q;za=q}else{q=F;K=c[q>>2]|0;R=c[q+4>>2]|0;q=e+24|0;c[q>>2]=K;c[q+4>>2]=R;c[F>>2]=287;za=K}K=c[n>>2]|0;R=e+56|0;q=c[R>>2]|0;N=q+24|0;B=K+16|0;M=b[(c[B>>2]|0)+4>>1]|0;U=q+28|0;A=c[U>>2]|0;j:do if((A|0)>(M|0)){ca=c[N>>2]|0;V=a[O+4>>0]|0;L=O+12|0;Q=O+16|0;if(V<<24>>24==4){qa=M;while(1){ba=c[ca+(qa<<4)>>2]|0;if((ba|0)==(O|0)&(a[ba+4>>0]|0)==4){Aa=qa;break}qa=qa+1|0;if((qa|0)>=(A|0))break j}Ba=K+12|0;Ca=c[Ba>>2]|0;Da=Ca+44|0;Ea=c[Da>>2]|0;Fa=ca+(Aa<<4)+8|0;Ga=c[Fa>>2]|0;Ha=we(Ga)|0;Ja=c[N>>2]|0;Ka=Ja+(Aa<<4)+8|0;La=c[Ka>>2]|0;Ma=xe(La)|0;c[g>>2]=Q;Na=g+4|0;c[Na>>2]=Ha;Oa=g+8|0;c[Oa>>2]=Ma;Pa=wd(Ea,48449,g)|0;Qa=c[Ba>>2]|0;ye(Qa,Pa)}qa=M;while(1){ba=c[ca+(qa<<4)>>2]|0;if(V<<24>>24==(a[ba+4>>0]|0)){Ra=c[L>>2]|0;if((ba|0)==(O|0)){Aa=qa;D=258;break}if((Ra|0)==(c[ba+12>>2]|0)?(tt(Q,ba+16|0,Ra)|0)==0:0){Aa=qa;D=258;break}}qa=qa+1|0;if((qa|0)>=(A|0))break j}if((D|0)==258){Ba=K+12|0;Ca=c[Ba>>2]|0;Da=Ca+44|0;Ea=c[Da>>2]|0;Fa=ca+(Aa<<4)+8|0;Ga=c[Fa>>2]|0;Ha=we(Ga)|0;Ja=c[N>>2]|0;Ka=Ja+(Aa<<4)+8|0;La=c[Ka>>2]|0;Ma=xe(La)|0;c[g>>2]=Q;Na=g+4|0;c[Na>>2]=Ha;Oa=g+8|0;c[Oa>>2]=Ma;Pa=wd(Ea,48449,g)|0;Qa=c[Ba>>2]|0;ye(Qa,Pa)}}while(0);if((za|0)!=286)me(e,286);c[G>>2]=c[l>>2];if((c[F>>2]|0)==287)c[r>>2]=ke(e,C)|0;else{A=F;M=c[A+4>>2]|0;qa=e+24|0;c[qa>>2]=c[A>>2];c[qa+4>>2]=M;c[F>>2]=287}M=c[K+20>>2]|0;qa=c[U>>2]|0;A=q+32|0;if((qa|0)<(c[A>>2]|0)){Sa=c[N>>2]|0;Ta=qa}else{L=se(c[p>>2]|0,c[N>>2]|0,A,16,32767,47999)|0;c[N>>2]=L;Sa=L;Ta=c[U>>2]|0}c[Sa+(qa<<4)>>2]=O;c[Sa+(qa<<4)+8>>2]=m;a[Sa+(qa<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Sa+(qa<<4)+4>>2]=M;c[U>>2]=Ta+1;k:while(1){switch(c[r>>2]|0){case 292:case 287:case 262:case 261:case 260:{D=272;break k;break}case 286:case 59:break;default:{D=271;break k}}le(e)}if((D|0)==271)Ua=c[N>>2]|0;else if((D|0)==272){U=c[N>>2]|0;a[U+(qa<<4)+12>>0]=a[(c[B>>2]|0)+8>>0]|0;Ua=U}U=Ua+(qa<<4)|0;O=c[R>>2]|0;q=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;K=O+16|0;F=c[K>>2]|0;if((F|0)<=(q|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}C=O+12|0;O=F;F=q;while(1){q=c[(c[C>>2]|0)+(F<<4)>>2]|0;G=c[U>>2]|0;M=a[q+4>>0]|0;do if(M<<24>>24==(a[G+4>>0]|0)){if(M<<24>>24==4){if((q|0)!=(G|0)){D=282;break}}else{L=c[q+12>>2]|0;if((q|0)!=(G|0)){if((L|0)!=(c[G+12>>2]|0)){D=282;break}if(tt(q+16|0,G+16|0,L)|0){D=282;break}}}te(e,F,U);Va=c[K>>2]|0;Wa=F}else D=282;while(0);if((D|0)==282){D=0;Va=O;Wa=F+1|0}if((Wa|0)<(Va|0)){O=Va;F=Wa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 274:{F=e+16|0;c[F>>2]=m;O=e+32|0;if((c[O>>2]|0)==287){K=ke(e,e+28|0)|0;c[r>>2]=K;Xa=K;Ya=c[n>>2]|0}else{K=O;U=c[K>>2]|0;C=c[K+4>>2]|0;K=e+24|0;c[K>>2]=U;c[K+4>>2]=C;c[O>>2]=287;Xa=U;Ya=o}l:do switch(Xa|0){case 59:case 277:case 292:case 287:case 262:case 261:case 260:{Za=0;_a=0;break}default:{Ge(e,h,0)|0;m:do if((c[r>>2]|0)==44){U=e+28|0;C=e+24|0;K=h+4|0;R=1;while(1){c[F>>2]=c[l>>2];if((c[O>>2]|0)==287)c[r>>2]=ke(e,U)|0;else{qa=O;B=c[qa+4>>2]|0;N=C;c[N>>2]=c[qa>>2];c[N+4>>2]=B;c[O>>2]=287}$a=c[n>>2]|0;Ne($a,h);if(((c[h>>2]|0)==6?(B=c[K>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[$a+46>>0]|0):0){B=$a+48|0;a[B>>0]=(a[B>>0]|0)+-1<<24>>24}B=$a+48|0;N=a[B>>0]|0;qa=(N&255)+1|0;G=(c[$a>>2]|0)+78|0;if((N&255)<(d[G>>0]|0))ab=qa&255;else{if((N&255)>248)break;N=qa&255;a[G>>0]=N;ab=N}a[B>>0]=ab;Oe($a,h,(ab&255)+-1|0);Ge(e,h,0)|0;B=R+1|0;if((c[r>>2]|0)==44)R=B;else{bb=h;cb=B;break m}}re(c[$a+12>>2]|0,48351)}else{bb=h;cb=1}while(0);R=c[bb>>2]|0;if((R&-2|0)==12){switch(R|0){case 12:{R=(c[(c[Ya>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[R>>2]=c[R>>2]&-8372225;if((cb|0)==1){R=(c[(c[Ya>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[R>>2]=c[R>>2]&-64|43}break}case 13:{R=c[Ya>>2]|0;K=c[R+12>>2]|0;C=h+4|0;U=K+(c[C>>2]<<2)|0;c[U>>2]=c[U>>2]&8388607;U=K+(c[C>>2]<<2)|0;C=Ya+48|0;K=a[C>>0]|0;B=K&255;c[U>>2]=B<<6|c[U>>2]&-16321;U=B+1|0;B=R+78|0;do if((K&255)>=(d[B>>0]|0))if((K&255)>248)re(c[Ya+12>>2]|0,48351);else{R=U&255;a[B>>0]=R;db=R;break}else db=U&255;while(0);a[C>>0]=db;break}default:{}}Za=d[Ya+46>>0]|0;_a=-1;break l}if((cb|0)==1){Za=Re(Ya,h)|0;_a=1;break l}Ne(Ya,h);if(((c[bb>>2]|0)==6?(U=c[h+4>>2]|0,(U&256|0)==0):0)?(U|0)>=(d[Ya+46>>0]|0):0){U=Ya+48|0;a[U>>0]=(a[U>>0]|0)+-1<<24>>24}U=Ya+48|0;B=a[U>>0]|0;K=(B&255)+1|0;R=(c[Ya>>2]|0)+78|0;do if((B&255)>=(d[R>>0]|0))if((B&255)>248)re(c[Ya+12>>2]|0,48351);else{N=K&255;a[R>>0]=N;eb=N;break}else eb=K&255;while(0);a[U>>0]=eb;Oe(Ya,h,(eb&255)+-1|0);Za=d[Ya+46>>0]|0;_a=cb}}while(0);oe(Ya,Za<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[F>>2]=c[l>>2];if((c[O>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;break}else{K=O;R=c[K+4>>2]|0;B=e+24|0;c[B>>2]=c[K>>2];c[B+4>>2]=R;c[O>>2]=287;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 266:case 258:{O=o+28|0;F=c[O>>2]|0;c[O>>2]=-1;O=oe(o,2147450916)|0;do if((F|0)!=-1)if((O|0)!=-1){R=c[(c[o>>2]|0)+12>>2]|0;B=O;while(1){fb=R+(B<<2)|0;gb=c[fb>>2]|0;K=(gb>>>14)+-131071|0;C=(K|0)==-1?-1:B+1+K|0;if((C|0)==-1)break;else B=C}R=F+~B|0;if((((R|0)>-1?R:0-R|0)|0)>131071)re(c[o+12>>2]|0,47972);else{c[fb>>2]=(R<<14)+2147467264|gb&16383;hb=O;break}}else hb=F;else hb=O;while(0);O=c[l>>2]|0;F=(c[r>>2]|0)==266;R=e+16|0;c[R>>2]=O;U=e+32|0;C=(c[U>>2]|0)==287;do if(F){if(C){K=ke(e,e+28|0)|0;c[r>>2]=K;ib=K}else{K=U;N=c[K>>2]|0;G=c[K+4>>2]|0;K=e+24|0;c[K>>2]=N;c[K+4>>2]=G;c[U>>2]=287;ib=N}if((ib|0)!=289)me(e,289);N=e+28|0;G=c[N>>2]|0;c[R>>2]=c[l>>2];if((c[U>>2]|0)==287){c[r>>2]=ke(e,N)|0;jb=G;break}else{N=U;K=c[N+4>>2]|0;qa=e+24|0;c[qa>>2]=c[N>>2];c[qa+4>>2]=K;c[U>>2]=287;jb=G;break}}else{if(C)c[r>>2]=ke(e,e+28|0)|0;else{G=U;K=c[G+4>>2]|0;qa=e+24|0;c[qa>>2]=c[G>>2];c[qa+4>>2]=K;c[U>>2]=287}jb=xd(c[p>>2]|0,58797,5)|0}while(0);U=c[e+56>>2]|0;C=U+12|0;R=U+16|0;F=c[R>>2]|0;K=U+20|0;if((F|0)<(c[K>>2]|0)){kb=c[C>>2]|0;lb=F}else{U=se(c[p>>2]|0,c[C>>2]|0,K,16,32767,47999)|0;c[C>>2]=U;kb=U;lb=c[R>>2]|0}c[kb+(F<<4)>>2]=jb;c[kb+(F<<4)+8>>2]=O;a[kb+(F<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[kb+(F<<4)+4>>2]=hb;c[R>>2]=lb+1;ue(e,F)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}default:{F=j+4|0;Ve(e,F);R=c[r>>2]|0;n:do if((R+-299|0)>>>0<16){c[j>>2]=0;U=c[n>>2]|0;c[h>>2]=c[F>>2];c[h+4>>2]=c[F+4>>2];c[h+8>>2]=c[F+8>>2];c[h+12>>2]=c[F+12>>2];do switch(R|0){case 299:{mb=0;break}case 300:{mb=1;break}case 301:{mb=2;break}case 302:{mb=3;break}case 305:{mb=15;break}case 303:{mb=4;break}case 304:{mb=5;break}case 314:{mb=19;break}case 306:{mb=6;break}case 307:{mb=7;break}case 308:{mb=8;break}case 309:{mb=9;break}case 310:{mb=10;break}case 311:{mb=11;break}case 313:{mb=13;break}case 312:{mb=12;break}default:mb=28}while(0);B=U+46|0;C=d[B>>0]|0;K=(d[U+48>>0]|0)-C|0;if((K|0)>0){qa=0;do{Je(e,qe(e,48496,14)|0);qa=qa+1|0}while((qa|0)!=(K|0));qa=c[n>>2]|0;G=qa+46|0;nb=d[G>>0]|0;ob=qa;pb=G}else{nb=C;ob=U;pb=B}G=K+nb|0;a[pb>>0]=G;if(K|0){qa=c[ob+20>>2]|0;N=c[(c[ob>>2]|0)+24>>2]|0;q=c[c[(c[ob+12>>2]|0)+56>>2]>>2]|0;M=(c[ob+40>>2]|0)+(G&255)|0;G=K;do{c[N+((b[q+(M-G<<1)>>1]|0)*12|0)+4>>2]=qa;G=G+-1|0}while((G|0)!=0)}G=c[l>>2]|0;c[e+16>>2]=G;qa=e+32|0;if((c[qa>>2]|0)==287){c[r>>2]=ke(e,e+28|0)|0;qb=c[l>>2]|0;rb=c[n>>2]|0}else{M=qa;q=c[M+4>>2]|0;N=e+24|0;c[N>>2]=c[M>>2];c[N+4>>2]=q;c[qa>>2]=287;qb=G;rb=ob}G=(c[p>>2]|0)+38|0;qa=(b[G>>1]|0)+1<<16>>16;b[G>>1]=qa;if((qa&65535)>200)Ce(rb,200,48307);else{We(U,mb,h);Ge(e,i,0)|0;Xe(U,mb,h,i,qb);qa=(c[p>>2]|0)+38|0;b[qa>>1]=(b[qa>>1]|0)+-1<<16>>16;Ue(c[n>>2]|0,F,h);break}}else{switch(R|0){case 44:case 61:{c[j>>2]=0;Ye(e,j,1);break n;break}default:{}}if((c[F>>2]|0)==12){qa=(c[(c[o>>2]|0)+12>>2]|0)+(c[j+8>>2]<<2)|0;c[qa>>2]=c[qa>>2]&-8372225|16384;break}else re(e,58234)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}}while(0)}function me(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+44>>2]|0;c[e>>2]=Be(a,b)|0;re(a,wd(d,48295,e)|0)}function ne(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+44>>2]|0;g=e+40|0;h=c[g>>2]|0;i=c[h>>2]|0;oe(h,8388652)|0;pe(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)Lc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Pa[c[q>>2]&3](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))yc(f,4);Kc(f,1);u=Pa[c[q>>2]&3](c[s>>2]|0,m,o,p)|0;if(!u)yc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)Lc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Pa[c[v>>2]&3](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))yc(f,4);Kc(f,1);m=Pa[c[v>>2]&3](c[q>>2]|0,l,p,o)|0;if(!m)yc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)Lc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Pa[c[t>>2]&3](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))yc(f,4);Kc(f,1);l=Pa[c[t>>2]&3](c[v>>2]|0,n,o,p)|0;if(!l)yc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)Lc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Pa[c[u>>2]&3](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))yc(f,4);Kc(f,1);n=Pa[c[u>>2]&3](c[t>>2]|0,w,p,o)|0;if(!n)yc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)Lc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Pa[c[y>>2]&3](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))yc(f,4);Kc(f,1);m=Pa[c[y>>2]&3](c[n>>2]|0,l,p,r)|0;if(!m)yc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Pa[c[p>>2]&3](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))yc(f,4);Kc(f,1);o=Pa[c[p>>2]&3](c[y>>2]|0,x,i,r)|0;if(!o)yc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if(((c[e+24>>2]|0)+-289|0)>>>0<2){h=c[e+28>>2]|0;qe(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{Oc(f);return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=o;q=m}else{p=l;q=k}if((p&63|0)==41){c[q>>2]=p&8372224|p>>>23<<6|40;m=h+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071){r=8;break}s=(m<<14)+2147467264|0;t=c[k>>2]&16383}else{m=h+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071){r=11;break}s=l&16383;t=(m<<14)+2147467264|0}c[k>>2]=t|s;if((j|0)==-1){r=14;break}}if((r|0)==8)re(c[a+12>>2]|0,47972);else if((r|0)==11)re(c[a+12>>2]|0,47972);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=se(c[(c[a+12>>2]|0)+44>>2]|0,c[u>>2]|0,e,4,2147483645,48287)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=b;y=d+20|0;z=c[v>>2]|0;A=z+16|0;B=c[A>>2]|0;C=c[y>>2]|0;D=C+(x<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=se(c[(c[v>>2]|0)+44>>2]|0,c[b>>2]|0,w,4,2147483645,48287)|0;x=c[g>>2]|0;y=b;z=c[v>>2]|0;A=z+16|0;B=c[A>>2]|0;C=c[y>>2]|0;D=C+(x<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function pe(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=oe(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=d[g+8>>0]|0;n=k;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)re(c[h>>2]|0,47972);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=k;n=l}}k=c[(c[e>>2]|0)+12>>2]|0;o=(m<<6)+64&16320;t=n;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=n;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=n+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[h>>2]|0,47972);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+44|0;x=bd(c[y>>2]|0,58797,5)|0;n=i+56|0;m=c[n>>2]|0;r=m+24|0;q=i+40|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=m+28|0;t=c[l>>2]|0;w=m+32|0;if((t|0)<(c[w>>2]|0)){z=c[r>>2]|0;A=k;B=t;C=m}else{m=se(c[y>>2]|0,c[r>>2]|0,w,16,32767,47999)|0;c[r>>2]=m;z=m;A=c[q>>2]|0;B=c[l>>2]|0;C=c[n>>2]|0}c[z+(t<<4)>>2]=x;c[z+(t<<4)+8>>2]=0;a[z+(t<<4)+12>>0]=a[A+46>>0]|0;c[z+(t<<4)+4>>2]=j;c[l>>2]=B+1;B=(c[C+24>>2]|0)+(t<<4)|0;t=b[(c[A+16>>2]|0)+6>>1]|0;A=C+16|0;l=c[A>>2]|0;if((l|0)>(t|0)){j=C+12|0;C=l;l=t;while(1){t=c[(c[j>>2]|0)+(l<<4)>>2]|0;z=c[B>>2]|0;x=a[t+4>>0]|0;do if(x<<24>>24==(a[z+4>>0]|0)){if(x<<24>>24==4){if((t|0)!=(z|0)){u=35;break}}else{n=c[t+12>>2]|0;if((t|0)!=(z|0)){if((n|0)!=(c[z+12>>2]|0)){u=35;break}if(tt(t+16|0,z+16|0,n)|0){u=35;break}}}te(i,l,B);D=c[A>>2]|0;E=l}else u=35;while(0);if((u|0)==35){u=0;D=C;E=l+1|0}if((E|0)<(D|0)){C=D;l=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;l=a[f>>0]|0;D=e+46|0;C=a[D>>0]|0;u=C&255;A=c[(c[h>>2]|0)+56>>2]|0;B=A+4|0;c[B>>2]=(l&255)-u+(c[B>>2]|0);if((l&255)<(C&255)){B=c[e+20>>2]|0;j=c[e+40>>2]|0;z=c[(c[e>>2]|0)+24>>2]|0;t=c[A>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[z+((b[t+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=B;if((u&255)>(l&255))x=x+-1|0;else break}a[D>>0]=l;F=l}else F=C;a[e+48>>0]=F;F=c[i+56>>2]|0;c[F+28>>2]=b[g+4>>1];C=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(C|0))ve(i,(c[F+12>>2]|0)+(C<<4)|0);else return;F=A+16|0;if((c[F>>2]|0)<=(C|0))return;i=A+12|0;A=g+9|0;g=l;l=C;while(1){C=c[i>>2]|0;E=C+(l<<4)+12|0;D=g&255;if((d[E>>0]|0)>(g&255)){if(a[A>>0]|0?(x=c[C+(l<<4)+4>>2]|0,(x|0)!=-1):0){C=c[(c[e>>2]|0)+12>>2]|0;B=(D<<6)+64&16320;D=x;do{x=C+(D<<2)|0;j=c[x>>2]|0;t=(j>>>14)+-131071|0;c[x>>2]=j&-16321|B;D=(t|0)==-1?-1:D+1+t|0}while((D|0)!=-1)}a[E>>0]=g}D=l+((ue(c[h>>2]|0,l)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=a[f>>0]|0;l=D}return}function qe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+44>>2]|0;g=xd(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+40>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=Mc(d,b)|0;if((h|0)==2217396)i=Nc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{Oc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function re(a,b){a=a|0;b=b|0;Ae(a,b,c[a+24>>2]|0)}function se(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;Ac(b,48164,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)Lc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Pa[c[f>>2]&3](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}if(!(a[f+51>>0]|0))yc(b,4);Kc(b,1);m=Pa[c[f>>2]&3](c[h>>2]|0,d,j,k)|0;if(!m)yc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}return 0}function te(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Ia;Ia=Ia+16|0;i=h;j=c[e+40>>2]|0;k=c[e+56>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+56>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+44>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=we(c[q>>2]|0)|0;s=xe(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;ye(e,wd(n,48099,i)|0)}ze(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Ia=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Ia=h;return}function ue(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+40>>2]|0;h=c[e+56>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(tt(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}te(e,f,s);l=1;return l|0}function ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?48012:48065;else g=48012;h=c[b+44>>2]|0;i=d+8|0;d=we(c[i>>2]|0)|0;j=xe(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ye(b,wd(h,g,f)|0)}function we(a){a=a|0;return ($g(a,0)|0)<<16|0}function xe(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;$g(a,d)|0;Ia=b;return c[d>>2]<<16|0}function ye(a,b){a=a|0;b=b|0;c[a+24>>2]=0;re(a,b)}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)re(c[a+12>>2]|0,47972);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=f;l=g}else{k=h;l=b}if((k&63|0)!=41){g=~j+d|0;if((((g|0)>-1?g:0-g|0)|0)>131071){m=20;break}else{n=h;o=g}}else{c[l>>2]=k&8372224|k>>>23<<6|40;g=~j+d|0;if((((g|0)>-1?g:0-g|0)|0)>131071){m=17;break}n=c[b>>2]|0;o=g}c[b>>2]=n&16383|(o<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)re(c[a+12>>2]|0,47972);else if((m|0)==20)re(c[a+12>>2]|0,47972);else if((m|0)==22)return}function Ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ia;Ia=Ia+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+60>>2]|0)+16|0;k=bu(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{Vv(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[74024]|0;a[j+1>>0]=a[74025]|0;a[j+2>>0]=a[74026]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Vv(j|0,f+1|0,k|0)|0;break a}break}default:{l=nu(f,10)|0;m=j;n=47837;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){Vv(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;Vv(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[74024]|0;a[s+1>>0]=a[74025]|0;a[s+2>>0]=a[74026]|0;r=s+3|0};a[r>>0]=a[47847]|0;a[r+1>>0]=a[47848]|0;a[r+2>>0]=a[47849]|0}}while(0);r=b+44|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=wd(f,48190,i)|0;if(!e){t=c[r>>2]|0;yc(t,3)}i=c[r>>2]|0;if((e+-288|0)>>>0<3){f=b+52|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)Ae(b,48200,0);q=s<<1;if((q|0)==-2)Lc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Pa[c[u>>2]&3](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))yc(i,4);Kc(i,1);y=Pa[c[u>>2]&3](c[w>>2]|0,p,s,q)|0;if(!y)yc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=z;B=q;C=q+1|0}else{A=c[k>>2]|0;B=n;C=m}c[j>>2]=C;a[A+B>>0]=0;B=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=wd(B,48225,h)|0}else D=Be(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;wd(i,48230,g)|0;t=c[r>>2]|0;yc(t,3)}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Ia;Ia=Ia+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+44>>2]|0;c[s>>2]=69674;u=wd(t,48225,s)|0;Ia=d;return u|0}case 124:{t=c[a+44>>2]|0;c[r>>2]=69940;u=wd(t,48225,r)|0;Ia=d;return u|0}case 295:{t=c[a+44>>2]|0;c[q>>2]=70142;u=wd(t,48225,q)|0;Ia=d;return u|0}case 290:{t=c[a+44>>2]|0;c[p>>2]=70456;u=wd(t,48225,p)|0;Ia=d;return u|0}case 291:{t=c[a+44>>2]|0;c[o>>2]=70580;u=wd(t,48225,o)|0;Ia=d;return u|0}case 292:{t=c[a+44>>2]|0;c[n>>2]=70785;u=wd(t,48225,n)|0;Ia=d;return u|0}case 293:{t=c[a+44>>2]|0;c[m>>2]=70936;u=wd(t,48225,m)|0;Ia=d;return u|0}case 294:{t=c[a+44>>2]|0;c[l>>2]=71044;u=wd(t,48225,l)|0;Ia=d;return u|0}case 126:{t=c[a+44>>2]|0;c[k>>2]=96848;u=wd(t,48225,k)|0;Ia=d;return u|0}case 92:{t=c[a+44>>2]|0;c[j>>2]=73119;u=wd(t,48225,j)|0;Ia=d;return u|0}case 64:{t=c[a+44>>2]|0;c[i>>2]=80871;u=wd(t,48225,i)|0;Ia=d;return u|0}case 296:{t=c[a+44>>2]|0;c[h>>2]=48241;u=wd(t,48225,h)|0;Ia=d;return u|0}case 36:{t=c[a+44>>2]|0;c[g>>2]=80873;u=wd(t,48225,g)|0;Ia=d;return u|0}default:{if((b|0)<257){t=c[a+44>>2]|0;c[f>>2]=b;u=wd(t,48244,f)|0;Ia=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=287){u=t;Ia=d;return u|0}v=c[a+44>>2]|0;c[e>>2]=t;u=wd(v,48225,e)|0;Ia=d;return u|0}}while(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,k=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+44>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=48764;else{a=($g(j,0)|0)<<16;$g(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=wd(i,48735,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=wd(i,48778,f)|0;re(c[e>>2]|0,k)}function De(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;e=Ia;Ia=Ia+32|0;f=e+16|0;g=e;h=b+4|0;i=c[h>>2]|0;j=b+40|0;k=c[j>>2]|0;l=b+28|0;c[l>>2]=xd(c[b+44>>2]|0,80056,5)|0;m=b+24|0;c[m>>2]=289;Qe(b,f);Ne(k,f);if(((c[f>>2]|0)==6?(n=c[f+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[k+46>>0]|0|0):0){n=k+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=k+48|0;o=a[n>>0]|0;p=(o&255)+1|0;q=(c[k>>2]|0)+78|0;do if((o&255)>=(d[q>>0]|0))if((o&255)>248)re(c[k+12>>2]|0,48351);else{r=p&255;a[q>>0]=r;s=r;break}else s=p&255;while(0);a[n>>0]=s;Oe(k,f,(s&255)+-1|0);a:do switch(c[m>>2]|0){case 287:case 292:{c[g>>2]=0;break}default:{Ge(b,g,0)|0;b:do if((c[m>>2]|0)==44){s=b+16|0;p=b+32|0;q=b+24|0;o=g+4|0;while(1){c[s>>2]=c[h>>2];if((c[p>>2]|0)==287)c[m>>2]=ke(b,l)|0;else{r=p;t=c[r+4>>2]|0;u=q;c[u>>2]=c[r>>2];c[u+4>>2]=t;c[p>>2]=287}v=c[j>>2]|0;Ne(v,g);if(((c[g>>2]|0)==6?(t=c[o>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[v+46>>0]|0|0):0){t=v+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=v+48|0;u=a[t>>0]|0;r=(u&255)+1|0;w=(c[v>>2]|0)+78|0;if((u&255)<(d[w>>0]|0))x=r&255;else{if((u&255)>248)break;u=r&255;a[w>>0]=u;x=u}a[t>>0]=x;Oe(v,g,(x&255)+-1|0);Ge(b,g,0)|0;if((c[m>>2]|0)!=44){y=g;break b}}re(c[v+12>>2]|0,48351)}else y=g;while(0);switch(c[y>>2]|0){case 12:{o=(c[(c[k>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-8372225;break a;break}case 13:break;default:break a}o=c[k>>2]|0;p=c[o+12>>2]|0;q=g+4|0;s=p+(c[q>>2]<<2)|0;c[s>>2]=c[s>>2]&8388607;s=p+(c[q>>2]<<2)|0;q=a[n>>0]|0;p=q&255;c[s>>2]=p<<6|c[s>>2]&-16321;s=p+1|0;p=o+78|0;do if((q&255)>=(d[p>>0]|0))if((q&255)>248)re(c[k+12>>2]|0,48351);else{o=s&255;a[p>>0]=o;z=o;break}else z=s&255;while(0);a[n>>0]=z}}while(0);do if((c[m>>2]|0)==287){c[b+16>>2]=c[h>>2];z=b+32|0;if((c[z>>2]|0)==287){c[m>>2]=ke(b,l)|0;break}else{y=z;v=c[y+4>>2]|0;x=b+24|0;c[x>>2]=c[y>>2];c[x+4>>2]=v;c[z>>2]=287;break}}else Fe(b,292,63,i);while(0);b=c[f+4>>2]|0;switch(c[g>>2]|0){case 0:break;case 13:case 12:{A=0;B=b<<6;C=B|A;D=C|32810;oe(k,D)|0;E=c[k>>2]|0;F=E+20|0;G=c[F>>2]|0;H=k+20|0;I=c[H>>2]|0;J=I+-1|0;K=G+(J<<2)|0;c[K>>2]=i;L=b+1|0;M=L&255;a[n>>0]=M;Ia=e;return}default:N=42}if((N|0)==42){Ne(k,g);if(((c[g>>2]|0)==6?(N=c[g+4>>2]|0,(N&256|0)==0):0)?(N|0)>=(d[k+46>>0]|0|0):0){N=(a[n>>0]|0)+-1<<24>>24;a[n>>0]=N;O=N}else O=a[n>>0]|0;N=(O&255)+1|0;f=(c[k>>2]|0)+78|0;do if((O&255)>=(d[f>>0]|0))if((O&255)>248)re(c[k+12>>2]|0,48351);else{l=N&255;a[f>>0]=l;P=l;break}else P=N&255;while(0);a[n>>0]=P;Oe(k,g,(P&255)+-1|0)}A=((b^511)+(d[n>>0]|0)<<23)+8388608|0;B=b<<6;C=B|A;D=C|32810;oe(k,D)|0;E=c[k>>2]|0;F=E+20|0;G=c[F>>2]|0;H=k+20|0;I=c[H>>2]|0;J=I+-1|0;K=G+(J<<2)|0;c[K>>2]=i;L=b+1|0;M=L&255;a[n>>0]=M;Ia=e;return}function Ee(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+40|0;j=c[i>>2]|0;k=d+4|0;l=c[k>>2]|0;m=d+24|0;n=(c[m>>2]|0)==267&1;o=d+16|0;c[o>>2]=l;p=d+32|0;if((c[p>>2]|0)==287){q=ke(d,d+28|0)|0;c[m>>2]=q;r=q}else{q=p;s=c[q>>2]|0;t=c[q+4>>2]|0;q=d+24|0;c[q>>2]=s;c[q+4>>2]=t;c[p>>2]=287;r=s}s=d+20|0;c[s>>2]=(r|0)==40?1:-1;Ge(d,h,0)|0;r=c[m>>2]|0;switch(r|0){case 287:case 259:case 275:{u=0;break}default:if(!(c[s>>2]|0))u=(l|0)==(c[k>>2]|0)&1;else u=0}l=u&n;a:do if(!l)switch(r|0){case 259:{c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){n=ke(d,d+28|0)|0;c[m>>2]=n;v=n;break a}else{n=p;u=c[n>>2]|0;s=c[n+4>>2]|0;n=d+24|0;c[n>>2]=u;c[n+4>>2]=s;c[p>>2]=287;v=u;break a}break}case 275:{c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){u=ke(d,d+28|0)|0;c[m>>2]=u;v=u;break a}else{u=p;s=c[u>>2]|0;n=c[u+4>>2]|0;u=d+24|0;c[u>>2]=s;c[u+4>>2]=n;c[p>>2]=287;v=s;break a}break}default:me(d,275)}else{s=d+12|0;c[s>>2]=(c[s>>2]|0)+1;v=r}while(0);b:do switch(v|0){case 258:case 266:{$e(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;r=j+12|0;s=c[(c[r>>2]|0)+56>>2]|0;b[g+4>>1]=c[s+28>>2];b[g+6>>1]=c[s+16>>2];a[g+9>>0]=0;s=j+16|0;c[g>>2]=c[s>>2];c[s>>2]=g;s=c[h+8>>2]|0;n=c[k>>2]|0;u=(c[m>>2]|0)==266;c[o>>2]=n;t=(c[p>>2]|0)==287;do if(u){if(t){q=ke(d,d+28|0)|0;c[m>>2]=q;w=q}else{q=p;x=c[q>>2]|0;y=c[q+4>>2]|0;q=d+24|0;c[q>>2]=x;c[q+4>>2]=y;c[p>>2]=287;w=x}if((w|0)!=289)me(d,289);x=d+28|0;y=c[x>>2]|0;c[o>>2]=c[k>>2];if((c[p>>2]|0)==287){c[m>>2]=ke(d,x)|0;z=y;break}else{x=p;q=c[x+4>>2]|0;A=d+24|0;c[A>>2]=c[x>>2];c[A+4>>2]=q;c[p>>2]=287;z=y;break}}else{if(t)c[m>>2]=ke(d,d+28|0)|0;else{y=p;q=c[y+4>>2]|0;A=d+24|0;c[A>>2]=c[y>>2];c[A+4>>2]=q;c[p>>2]=287}z=xd(c[d+44>>2]|0,58797,5)|0}while(0);t=c[d+56>>2]|0;u=t+12|0;q=t+16|0;A=c[q>>2]|0;y=t+20|0;if((A|0)<(c[y>>2]|0)){B=c[u>>2]|0;C=A}else{t=se(c[d+44>>2]|0,c[u>>2]|0,y,16,32767,47999)|0;c[u>>2]=t;B=t;C=c[q>>2]|0}c[B+(A<<4)>>2]=z;c[B+(A<<4)+8>>2]=n;a[B+(A<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[B+(A<<4)+4>>2]=s;c[q>>2]=C+1;ue(d,A)|0;c:while(1){switch(c[m>>2]|0){case 292:case 287:case 262:case 261:case 260:{D=37;break c;break}case 286:case 59:break;default:break c}le(d)}if((D|0)==37){pe(j);Ia=f;return l|0}s=j+28|0;n=c[s>>2]|0;c[s>>2]=-1;s=oe(j,2147450916)|0;if((n|0)!=-1)if((s|0)!=-1){A=c[(c[j>>2]|0)+12>>2]|0;q=s;while(1){E=A+(q<<2)|0;F=c[E>>2]|0;t=(F>>>14)+-131071|0;u=(t|0)==-1?-1:q+1+t|0;if((u|0)==-1)break;else q=u}A=n+~q|0;if((((A|0)>-1?A:0-A|0)|0)>131071)re(c[r>>2]|0,47972);else{c[E>>2]=(A<<14)+2147467264|F&16383;G=s;break b}}else G=n;else G=s;break}default:{He(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;A=c[(c[j+12>>2]|0)+56>>2]|0;b[g+4>>1]=c[A+28>>2];b[g+6>>1]=c[A+16>>2];a[g+9>>0]=0;A=j+16|0;c[g>>2]=c[A>>2];c[A>>2]=g;G=c[h+12>>2]|0}}while(0);d:do{h=c[m>>2]|0;switch(h|0){case 277:case 292:case 287:case 262:case 261:case 260:{break d;break}default:{}}le(d)}while((h|0)!=274);pe(j);d=j+28|0;do if((c[m>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=oe(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;F=g;while(1){H=i+(F<<2)|0;I=c[H>>2]|0;E=(I>>>14)+-131071|0;C=(E|0)==-1?-1:F+1+E|0;if((C|0)==-1)break;else F=C}i=h+~F|0;if((((i|0)>-1?i:0-i|0)|0)>131071)re(c[j+12>>2]|0,47972);else{c[H>>2]=(i<<14)+2147467264|I&16383;D=57;break}}else J=h;else D=57;while(0);if((D|0)==57)if((g|0)==-1)break;else J=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=J;break}s=c[(c[j>>2]|0)+12>>2]|0;n=h;while(1){K=s+(n<<2)|0;L=c[K>>2]|0;h=(L>>>14)+-131071|0;r=(h|0)==-1?-1:n+1+h|0;if((r|0)==-1)break;else n=r}s=J+~n|0;if((((s|0)>-1?s:0-s|0)|0)>131071)re(c[j+12>>2]|0,47972);else{c[K>>2]=(s<<14)+2147467264|L&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((G|0)==-1){Ia=f;return l|0}L=c[d>>2]|0;if((L|0)==-1){c[d>>2]=G;Ia=f;return l|0}d=c[(c[j>>2]|0)+12>>2]|0;K=L;while(1){M=d+(K<<2)|0;N=c[M>>2]|0;L=(N>>>14)+-131071|0;J=(L|0)==-1?-1:K+1+L|0;if((J|0)==-1)break;else K=J}d=G+~K|0;if((((d|0)>-1?d:0-d|0)|0)>131071)re(c[j+12>>2]|0,47972);c[M>>2]=(d<<14)+2147467264|N&16383;Ia=f;return l|0}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ia;Ia=Ia+16|0;g=f;h=a+24|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))me(a,b);else{j=c[a+44>>2]|0;k=Be(a,b)|0;b=Be(a,d)|0;d=we(e)|0;l=xe(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;re(a,wd(j,48689,g)|0)}c[a+16>>2]=i;i=a+32|0;if((c[i>>2]|0)==287){c[h>>2]=ke(a,a+28|0)|0;Ia=f;return}else{h=i;g=c[h+4>>2]|0;j=a+24|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=287;Ia=f;return}}function Ge(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Ia;Ia=Ia+16|0;i=h;j=e+40|0;k=c[j>>2]|0;l=e+44|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)Ce(k,200,48307);n=e+24|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 288:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+28>>2];p=29;break}case 290:{m=c[e+28>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=Le(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=29;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=29;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=29;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=29;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))re(e,48646);else{m=oe(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=29;break a}break}case 123:{df(e,f);p=32;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+16>>2]=q;r=e+32|0;if((c[r>>2]|0)==287){c[n>>2]=ke(e,e+28|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+24|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=287;s=q}Te(e,f,0,s);p=32;break}case 291:{De(e);q=(d[(c[j>>2]|0)+48>>0]|0)+-1|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=6;c[f+4>>2]=q;p=32;break}default:{Ve(e,f);p=32}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+16>>2]=s;k=e+32|0;if((c[k>>2]|0)==287)c[n>>2]=ke(e,e+28|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+24|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=287}Ge(e,f,18)|0;gf(c[j>>2]|0,o,f,s);p=32}else if((p|0)==29){c[e+16>>2]=c[e+4>>2];s=e+32|0;if((c[s>>2]|0)==287){k=ke(e,e+28|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+24|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=287;p=32;break}}while(0);if((p|0)==32)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 293:{w=8;break}case 126:{w=8;break}case 294:{w=9;break}case 295:{w=10;break}case 296:{w=11;break}case 297:{w=12;break}case 298:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 285:case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}}while(0);v=e+4|0;o=e+16|0;s=e+32|0;r=e+28|0;t=e+24|0;k=w;while(1){if((d[896+(k<<1)>>0]|0)<=(g|0)){x=k;p=64;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=287}We(c[j>>2]|0,k,f);u=k;k=Ge(e,i,d[896+(k<<1)+1>>0]|0)|0;Xe(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=64;break}}if((p|0)==64){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}return 0}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;Ne(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=j;l=h}else{k=c[i>>2]|0;l=i}c[l>>2]=((k&16320|0)==0&1)<<6|k&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;h=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;j=b+20|0;if((h&63|0)==33){c[j>>2]=(c[j>>2]|0)+-1;oe(b,h>>>23<<6|16424)|0;h=b+28|0;j=c[h>>2]|0;c[h>>2]=-1;h=oe(b,2147450916)|0;if((j|0)!=-1)if((h|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=h;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=j+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=h;n=32;break a}}else{u=j;n=33}else{m=h;n=32}}else{v=g;w=i;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=c[b>>2]|0;w=o;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;k=v+78|0;do if((r&255)>=(d[k>>0]|0))if((r&255)>248)re(c[b+12>>2]|0,48351);else{v=q&255;a[k>>0]=v;y=v;break}else y=q&255;while(0);a[f>>0]=y;af(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=w;n=22}else{z=w;n=25}}if((n|0)==22){w=c[e+4>>2]|0;if((w&256|0)==0?(w|0)>=(d[b+46>>0]|0|0):0){w=b+48|0;a[w>>0]=(a[w>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){oe(b,c[z>>2]<<23|16361)|0;x=b+28|0;w=c[x>>2]|0;c[x>>2]=-1;x=oe(b,2147450916)|0;if((w|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;k=(q|0)==-1?-1:f+1+q|0;if((k|0)==-1)break;else f=k}y=w+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=w;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)re(c[b+12>>2]|0,47972);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function Ie(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=c[d+40>>2]|0;a[f+10>>0]=0;a[f+8>>0]=a[g+46>>0]|0;h=c[(c[g+12>>2]|0)+56>>2]|0;b[f+4>>1]=c[h+28>>2];b[f+6>>1]=c[h+16>>2];a[f+9>>0]=0;h=g+16|0;c[f>>2]=c[h>>2];c[h>>2]=f;f=d+24|0;a:while(1){h=c[f>>2]|0;switch(h|0){case 277:case 292:case 287:case 262:case 261:case 260:{i=4;break a;break}default:{}}le(d);if((h|0)==274){i=4;break}}if((i|0)==4){pe(g);Ia=e;return}}function Je(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+40>>2]|0;h=c[e+56>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=se(c[e+44>>2]|0,c[o>>2]|0,j,12,32767,48630)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+44>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){Jc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)Ce(g,200,48630);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=se(c[e+44>>2]|0,c[h>>2]|0,g,2,2147483645,48630)|0;c[h>>2]=k;g=c[l>>2]|0;q=k;r=g;s=g+1|0;c[l>>2]=s;t=q+(r<<1)|0;b[t>>1]=f;return}else{q=c[h>>2]|0;r=i;s=m;c[l>>2]=s;t=q+(r<<1)|0;b[t>>1]=f;return}}function Ke(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;Ge(b,f,0)|0;g=c[b+40>>2]|0;Ne(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;Oe(g,f,m);Ia=e;return}if((h&255)>248)re(c[g+12>>2]|0,48351);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;Oe(g,f,m);Ia=e;return}function Le(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+44>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=Mc(i,e)|0;if((j|0)==2217396)k=Nc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Tc(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=se(g,c[k>>2]|0,e,8,67108863,48620)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){Jc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function Me(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;j=Ia;Ia=Ia+16|0;k=j;l=e+40|0;m=c[l>>2]|0;n=m+46|0;o=a[n>>0]|0;a[n>>0]=(o&255)+3;p=m+20|0;q=c[p>>2]|0;r=m+12|0;s=c[(c[m>>2]|0)+24>>2]|0;t=c[c[(c[r>>2]|0)+56>>2]>>2]|0;u=(c[m+40>>2]|0)+(o+3&255)|0;c[s+((b[t+(u+-3<<1)>>1]|0)*12|0)+4>>2]=q;c[s+((b[t+(u+-2<<1)>>1]|0)*12|0)+4>>2]=q;c[s+((b[t+(u+-1<<1)>>1]|0)*12|0)+4>>2]=q;q=e+24|0;if((c[q>>2]|0)!=259)me(e,259);c[e+16>>2]=c[e+4>>2];u=e+32|0;if((c[u>>2]|0)==287)c[q>>2]=ke(e,e+28|0)|0;else{q=u;t=c[q+4>>2]|0;s=e+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=t;c[u>>2]=287}u=(i|0)!=0;do if(!u){i=m+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=oe(m,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){s=c[(c[m>>2]|0)+12>>2]|0;q=i;while(1){v=s+(q<<2)|0;w=c[v>>2]|0;o=(w>>>14)+-131071|0;x=(o|0)==-1?-1:q+1+o|0;if((x|0)==-1)break;else q=x}s=t+~q|0;if((((s|0)>-1?s:0-s|0)|0)>131071)re(c[r>>2]|0,47972);else{c[v>>2]=(s<<14)+2147467264|w&16383;y=i;break}}else y=t;else y=i}else y=oe(m,f<<6|2147450926)|0;while(0);a[k+10>>0]=0;a[k+8>>0]=a[n>>0]|0;n=c[r>>2]|0;w=c[n+56>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=m+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;k=c[l>>2]|0;l=k+46|0;w=(d[l>>0]|0)+h|0;a[l>>0]=w;if(h|0){l=c[k+20>>2]|0;v=c[(c[k>>2]|0)+24>>2]|0;s=c[c[(c[k+12>>2]|0)+56>>2]>>2]|0;x=(c[k+40>>2]|0)+(w&255)|0;w=h;do{c[v+((b[s+(x-w<<1)>>1]|0)*12|0)+4>>2]=l;w=w+-1|0}while((w|0)!=0)}w=m+48|0;l=(d[w>>0]|0)+h|0;x=(c[m>>2]|0)+78|0;do if((l|0)>(d[x>>0]|0))if((l|0)>249)re(n,48351);else{s=l&255;a[x>>0]=s;z=s;break}else z=l&255;while(0);a[w>>0]=z;Ie(e);pe(m);c[m+24>>2]=c[p>>2];e=m+28|0;do if((y|0)!=-1){z=c[e>>2]|0;if((z|0)==-1){c[e>>2]=y;break}w=c[(c[m>>2]|0)+12>>2]|0;l=z;while(1){A=w+(l<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:l+1+z|0;if((x|0)==-1)break;else l=x}w=y+~l|0;if((((w|0)>-1?w:0-w|0)|0)>131071)re(c[r>>2]|0,47972);else{c[A>>2]=(w<<14)+2147467264|B&16383;break}}while(0);B=f<<6;if(u){C=B|2147450925;D=oe(m,C)|0;E=y+1|0;ze(m,D,E);F=c[m>>2]|0;G=F+20|0;H=c[G>>2]|0;I=c[p>>2]|0;J=I+-1|0;K=H+(J<<2)|0;c[K>>2]=g;Ia=j;return}else{oe(m,B|h<<14|47)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[p>>2]|0)+-1<<2)>>2]=g;C=B+128|2147450928;D=oe(m,C)|0;E=y+1|0;ze(m,D,E);F=c[m>>2]|0;G=F+20|0;H=c[G>>2]|0;I=c[p>>2]|0;J=I+-1|0;K=H+(J<<2)|0;c[K>>2]=g;Ia=j;return}}function Ne(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=oe(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=oe(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}} 144 + function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;af(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=oe(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=oe(a,n|16387)|0;c[k>>2]=c[r>>2];q=oe(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[a+12>>2]|0,47972);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=A;C=h}else{B=u;C=k}if((B&63|0)!=41){h=s+~r|0;if((((h|0)>-1?h:0-h|0)|0)>131071){o=65;break}else{D=u;E=h}}else{c[C>>2]=B&8372224|B>>>23<<6|40;h=z+~r|0;if((((h|0)>-1?h:0-h|0)|0)>131071){o=62;break}D=c[k>>2]|0;E=h}c[k>>2]=D&16383|(E<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;re(G,47972)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;re(I,47972)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,h=c[n>>2]|0,((h&63)+-37|0)>>>0<5):0){J=h;K=n}else{J=g;K=q}if((J&63|0)!=41){n=s+~k|0;if((((n|0)>-1?n:0-n|0)|0)>131071){o=65;break}else{L=g;M=n}}else{if((J>>>23|0)==(d|0))N=J&8372224|w|40;else N=J&-16321|v;c[K>>2]=N;n=z+~k|0;if((((n|0)>-1?n:0-n|0)|0)>131071){o=62;break}L=c[q>>2]|0;M=n}c[q>>2]=L&16383|(M<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;re(G,47972)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;re(I,47972)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){M=I;while(1){L=H+(M<<2)|0;N=c[L>>2]|0;K=(N>>>14)+-131071|0;J=M;M=(K|0)==-1?-1:M+1+K|0;if((J|0)>0?(K=L+-4|0,s=c[K>>2]|0,((s&63)+-37|0)>>>0<5):0){O=s;P=K}else{O=N;P=L}if((O&63|0)!=41){K=t+~J|0;if((((K|0)>-1?K:0-K|0)|0)>131071){o=90;break}else{Q=N;R=K}}else{c[P>>2]=O&8372224|O>>>23<<6|40;K=z+~J|0;if((((K|0)>-1?K:0-K|0)|0)>131071){o=87;break}Q=c[L>>2]|0;R=K}c[L>>2]=Q&16383|(R<<14)+2147467264;if((M|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;re(T,47972)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;re(V,47972)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}M=I;while(1){I=H+(M<<2)|0;R=c[I>>2]|0;Q=(R>>>14)+-131071|0;O=M;M=(Q|0)==-1?-1:M+1+Q|0;if((O|0)>0?(Q=I+-4|0,P=c[Q>>2]|0,((P&63)+-37|0)>>>0<5):0){W=P;X=Q}else{W=R;X=I}if((W&63|0)!=41){Q=t+~O|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=90;break}else{Y=R;Z=Q}}else{if((W>>>23|0)==(d|0))_=W&8372224|G|40;else _=W&-16321|F;c[X>>2]=_;Q=z+~O|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=c[I>>2]|0;Z=Q}c[I>>2]=Y&16383|(Z<<14)+2147467264;if((M|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;re(T,47972)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;re(V,47972)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function Pe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)re(c[b+12>>2]|0,48351);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)re(c[b+12>>2]|0,48351);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{Ne(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)re(c[b+12>>2]|0,48351);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;Oe(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)re(c[b+12>>2]|0,48351);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0<g>>>0?k>>>0<g>>>0|(k|0)>(n|0):0)break;e=k>>>0<g>>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);oe(b,(h<<23)+-8388608|g<<6|4)|0;return}function Qe(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+24|0;if((c[i>>2]|0)!=289)me(d,289);j=d+28|0;k=c[j>>2]|0;c[d+16>>2]=c[d+4>>2];l=d+32|0;if((c[l>>2]|0)==287)c[i>>2]=ke(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+24|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=287}l=d+40|0;i=c[l>>2]|0;if(ff(i,k,e,1)|0){Ia=f;return}ff(i,c[d+64>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=Le(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=Se(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ia=f;return}function Re(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;Ne(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){Oe(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){Ne(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)re(c[b+12>>2]|0,48351);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;Oe(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))Ne(b,d);else Re(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=Le(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=Le(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ia=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+44>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=bd(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=Le(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=Le(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Ia=e;return j|0}j=Re(b,d)|0;Ia=e;return j|0}function Te(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Ia;Ia=Ia+80|0;j=i;k=i+16|0;l=i+4|0;m=e+40|0;n=c[m>>2]|0;o=e+44|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=se(p,c[t>>2]|0,n,4,262143,48580)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Pa[c[s>>2]&3](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))yc(p,4);Kc(p,1);u=Pa[c[s>>2]&3](c[t>>2]|0,0,9,80)|0;if(!u)yc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){Jc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+56>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+60>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Pa[c[n>>2]&3](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))yc(v,4);Kc(v,1);s=Pa[c[n>>2]&3](c[w>>2]|0,0,5,32)|0;if(!s)yc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2217420;a[x+7>>0]=0;c[x+20>>2]=2217420;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)yc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){zc(v,1000200);Ac(v,47184,j)}else{zc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+56>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+24|0;if((c[l>>2]|0)!=40)me(e,40);q=e+4|0;v=e+16|0;c[v>>2]=c[q>>2];o=e+32|0;if((c[o>>2]|0)==287){j=ke(e,e+28|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+24|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=287;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{Je(e,qe(e,48590,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+56>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+28|0;u=e+24|0;s=B;j=0;b:while(1){switch(s|0){case 280:{break b;break}case 289:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=287}Je(e,n);n=j+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==287){w=ke(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=287;F=r}s=F;j=n}if((E|0)==43)re(e,48595);c[v>>2]=c[q>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(e,y)|0;else{s=o;n=c[s+4>>2]|0;r=u;c[r>>2]=c[s>>2];c[r+4>>2]=n;c[o>>2]=287}a[g>>0]=1;D=j}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+56>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[z+46>>0]|0;a[A+76>>0]=F;A=z+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[C>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)re(c[z+12>>2]|0,48351);else{C=E&255;a[F>>0]=C;G=C;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)me(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==287){v=ke(e,e+28|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+24|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=287;H=G}G=H;c:while(1){switch(G|0){case 277:case 292:case 287:case 262:case 261:case 260:{break c;break}default:{}}le(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];Fe(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=oe(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;Ne(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;Oe(h,f,K);ne(e);Ia=i;return}if((q&255)>248)re(c[h+12>>2]|0,48351);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;Oe(h,f,K);ne(e);Ia=i;return}function Ue(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}Oe(b,g,c[f+4>>2]|0);return}case 8:{oe(b,(Re(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;oe(b,(Se(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function Ve(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=e+40|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+24|0;switch(c[n>>2]|0){case 40:{o=e+16|0;c[o>>2]=m;p=e+32|0;if((c[p>>2]|0)==287)c[n>>2]=ke(e,e+28|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=287}Ge(e,f,0)|0;Fe(e,41,40,m);Ne(c[j>>2]|0,f);t=o;u=p;v=p;break}case 289:{Qe(e,f);p=e+32|0;t=e+16|0;u=p;v=p;break}default:re(e,48511)}p=f+8|0;o=f+12|0;r=e+28|0;s=e+24|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[p>>2]|0)==(c[o>>2]|0):0))Re(L,f)|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287){M=ke(e,r)|0;c[n>>2]=M;N=M}else{M=u;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[v>>2]=287;N=O}if((N|0)!=289){Q=17;break a}O=c[r>>2]|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{P=u;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[v>>2]=287}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=Le(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=Se(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[p>>2]|0)==(c[o>>2]|0):0))Re(k,f)|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{L=u;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[v>>2]=287}Ge(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))Ne(O,h);else Re(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{O=u;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[v>>2]=287}a[J>>0]=c[I>>2];b[I>>1]=Se(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[t>>2]=c[l>>2];if((c[v>>2]|0)==287){M=ke(e,r)|0;c[n>>2]=M;S=M}else{M=u;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[v>>2]=287;S=L}if((S|0)!=289){Q=41;break a}L=c[r>>2]|0;c[t>>2]=c[l>>2];if((c[v>>2]|0)==287)c[n>>2]=ke(e,r)|0;else{O=u;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[v>>2]=287}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=Le(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;bf(k,f,i);cf(e,f,m);break}case 123:case 290:case 40:{Ne(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;Oe(k,f,(U&255)+-1|0);cf(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)me(e,289);else if((Q|0)==32)me(e,93);else if((Q|0)==41)me(e,289);else if((Q|0)==54)re(c[k+12>>2]|0,48351);else if((Q|0)==58){Ia=g;return}}function We(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{He(b,f);return}case 27:{$e(b,f);return}case 19:{Ne(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)re(c[b+12>>2]|0,48351);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;Oe(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;Se(b,f)|0;return}default:{Se(b,f)|0;return}}}function Xe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{Ne(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{Ne(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ne(b,g);else Re(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=c[m>>2]|0;t=m}else{s=o;t=n}c[t>>2]=c[i>>2]<<23|s&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}Ne(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;s=(i&255)+1|0;t=(c[b>>2]|0)+78|0;do if((i&255)>=(d[t>>0]|0))if((i&255)>248)re(c[b+12>>2]|0,48351);else{n=s&255;a[t>>0]=n;u=n;break}else u=s&255;while(0);a[q>>0]=u;Oe(b,g,(u&255)+-1|0);Ze(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Ze(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{_e(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{_e(b,e+14|0,0,f,g);return}default:return}}function Ye(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Ia;Ia=Ia+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)re(f,58234);m=f+24|0;a:do switch(c[m>>2]|0){case 44:{c[f+16>>2]=c[f+4>>2];n=f+32|0;if((c[n>>2]|0)==287)c[m>>2]=ke(f,f+28|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+24|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=287}c[k>>2]=g;n=k+4|0;Ve(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+40>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=0;v=g;while(1){if((c[v+4>>2]|0)==9){w=v+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=u;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=u;v=c[v>>2]|0;if(!v)break;else u=A}if(A|0){oe(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;u=a[q>>0]|0;v=(u&255)+1|0;s=(c[n>>2]|0)+78|0;do if((u&255)>=(d[s>>0]|0))if((u&255)>248)re(c[n+12>>2]|0,48351);else{t=v&255;a[s>>0]=t;B=t;break}else B=v&255;while(0);a[q>>0]=B}}if(((e[(c[f+44>>2]|0)+38>>1]|0)+h|0)>200)Ce(c[f+40>>2]|0,200,48307);else{Ye(f,k,h+1|0);C=f+40|0;break a}break}case 61:{v=f+4|0;s=f+16|0;c[s>>2]=c[v>>2];n=f+32|0;if((c[n>>2]|0)==287)c[m>>2]=ke(f,f+28|0)|0;else{u=n;r=c[u+4>>2]|0;p=f+24|0;c[p>>2]=c[u>>2];c[p+4>>2]=r;c[n>>2]=287}Ge(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+28|0;p=f+40|0;u=f+24|0;o=j+4|0;t=1;while(1){c[s>>2]=c[v>>2];if((c[n>>2]|0)==287)c[m>>2]=ke(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=u;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=287}D=c[p>>2]|0;Ne(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;Oe(D,j,(F&255)+-1|0);Ge(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=p;H=y;break b}}re(c[D+12>>2]|0,48351)}else{G=f+40|0;H=1}while(0);n=c[G>>2]|0;if((H|0)!=(h|0)){Pe(n,h,H,j);if((H|0)<=(h|0)){C=G;break a}v=(c[G>>2]|0)+48|0;a[v>>0]=h-H+(d[v>>0]|0);C=G;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;v=j+4|0;c[v>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[v>>2]<<2)>>2]|0)>>>6&255;break}case 13:{v=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[v>>2]=c[v>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ue(n,l,j);Ia=i;return}default:me(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ue(f,l,j);Ia=i;return}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=sd(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=Se(b,g)|0;i=Se(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=oe(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function _e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Se(b,g)|0;j=Se(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;oe(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=oe(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)re(c[b+12>>2]|0,47972);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function $e(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;Ne(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;oe(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=oe(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=i;u=j;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=c[b>>2]|0;u=m;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=t+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)re(c[b+12>>2]|0,48351);else{t=o&255;a[m>>0]=t;w=t;break}else w=o&255;while(0);a[f>>0]=w;af(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=u;h=19}else{x=u;h=22}}if((h|0)==19){u=c[e+4>>2]|0;if((u&256|0)==0?(u|0)>=(d[b+46>>0]|0|0):0){u=b+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){oe(b,c[x>>2]<<23|32745)|0;v=b+28|0;u=c[v>>2]|0;c[v>>2]=-1;v=oe(b,2147450916)|0;if((u|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=u+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=u;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)re(c[b+12>>2]|0,47972);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)re(c[b+12>>2]|0,47972);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;Ne(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);oe(b,e<<6|4)|0;break}case 2:case 3:{oe(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){oe(b,k|j<<14|1)|0;break a}else{oe(b,k|2)|0;oe(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+44>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=bd(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=Le(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=Le(b,h,h)|0;o=e<<6;if((q|0)<262144){oe(b,o|q<<14|1)|0;break a}else{oe(b,o|2)|0;oe(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))oe(b,o<<23|e<<6)|0;break}default:{Ia=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ia=f;return}function bf(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;Re(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)re(c[b+12>>2]|0,48351);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;oe(b,h<<23|l<<6|(Se(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function cf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=b+40|0;k=c[j>>2]|0;l=b+24|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+16|0;c[n>>2]=c[m>>2];o=b+32|0;if((c[o>>2]|0)==287){p=ke(b,b+28|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+24|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=287;q=r}b:do if((q|0)==41)c[i>>2]=0;else{Ge(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+28|0;s=b+24|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==287)c[l>>2]=ke(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=287}w=c[j>>2]|0;Ne(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;Oe(w,i,(y&255)+-1|0);Ge(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}re(c[w+12>>2]|0,48351)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)re(c[k+12>>2]|0,48351);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);Fe(b,41,40,f);break}case 123:{df(b,i);break}case 290:{o=b+28|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=Le(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+16>>2]=c[b+4>>2];m=b+32|0;if((c[m>>2]|0)==287){c[l>>2]=ke(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+24|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=287;break a}break}default:re(b,48529)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=oe(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}default:{Ne(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)re(c[k+12>>2]|0,48351);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;Oe(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=oe(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}function df(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Ia;Ia=Ia+32|0;g=f;h=b+40|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=oe(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;Ne(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)re(c[s+12>>2]|0,48351);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;Oe(s,e,(x&255)+-1|0);x=b+24|0;if((c[x>>2]|0)!=123)me(b,123);e=b+16|0;c[e>>2]=c[j>>2];s=b+32|0;if((c[s>>2]|0)==287){t=ke(b,b+28|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+24|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=287;y=u}a:do if((y|0)!=125){u=b+36|0;v=b+32|0;t=i+48|0;q=i+46|0;w=b+28|0;z=b+24|0;A=0;b:while(1){if(A|0){Ne(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;Oe(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)oe(i,B<<14|H)|0;else{oe(i,H)|0;oe(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 289:{G=ke(b,u)|0;c[v>>2]=G;if((G|0)==61){ef(b,g);break c}Ge(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{ef(b,g);break}default:{Ge(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==287){G=ke(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=287;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==287){B=ke(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=287;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)re(c[i+12>>2]|0,48351);else if((F|0)==38)Ce(c[h>>2]|0,2147483645,48557);else if((F|0)==43)Ce(c[h>>2]|0,2147483645,48557)}while(0);Fe(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)re(c[i+12>>2]|0,48351);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{Ne(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)re(c[i+12>>2]|0,48351);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;Oe(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)oe(i,x<<14|h)|0;else{oe(i,h)|0;oe(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)oe(i,h<<14|b)|0;else{oe(i,b)|0;oe(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}function ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=b+40|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+24|0;do if((c[m>>2]|0)!=289){n=b+4|0;o=b+16|0;c[o>>2]=c[n>>2];p=b+32|0;if((c[p>>2]|0)==287)c[m>>2]=ke(b,b+28|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+24|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=287}Ge(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ne(r,g);else Re(r,g)|0;if((c[m>>2]|0)!=93)me(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==287){n=ke(b,b+28|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+24|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=287;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)Ce(j,2147483645,48557);o=b+28|0;p=c[o>>2]|0;c[b+16>>2]=c[b+4>>2];r=b+32|0;if((c[r>>2]|0)==287){c[m>>2]=ke(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+24|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=287;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=Le(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)me(b,61);c[b+16>>2]=c[b+4>>2];t=b+32|0;if((c[t>>2]|0)==287){c[m>>2]=ke(b,b+28|0)|0;v=Se(j,g)|0;Ge(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Se(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;oe(j,G)|0;a[k>>0]=l;Ia=e;return}else{m=t;f=c[m+4>>2]|0;u=b+24|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=287;v=Se(j,g)|0;Ge(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Se(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;oe(j,G)|0;a[k>>0]=l;Ia=e;return}}function ff(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+56>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(tt(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(tt(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(ff(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=je(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Ia;Ia=Ia+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Ia=h;return}Re(b,f)|0;Ze(b,32,f,i,g);Ia=h;return}case 14:{Re(b,f)|0;Ze(b,27,f,i,g);Ia=h;return}case 16:{Re(b,f)|0;Ze(b,29,f,i,g);Ia=h;return}case 17:{Re(b,f)|0;Ze(b,30,f,i,g);Ia=h;return}case 18:{Re(b,f)|0;Ze(b,31,f,i,g);Ia=h;return}case 1:{Ne(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=k;m=e}else{l=c[j>>2]|0;m=j}c[m>>2]=((l&16320|0)==0&1)<<6|l&-16321;break}case 6:{n=25;break}case 11:{l=b+48|0;m=a[l>>0]|0;j=(m&255)+1|0;e=(c[b>>2]|0)+78|0;do if((m&255)>=(d[e>>0]|0))if((m&255)>248)re(c[b+12>>2]|0,48351);else{k=j&255;a[e>>0]=k;o=k;break}else o=j&255;while(0);a[l>>0]=o;af(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;l=c[o>>2]|0;if((l&256|0)==0?(l|0)>=(d[b+46>>0]|0|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=oe(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;l=c[o>>2]|0;c[p>>2]=l;c[o>>2]=n;if((l|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=l;do{l=n+(p<<2)|0;if((p|0)>0?(j=l+-4|0,e=c[j>>2]|0,((e&63)+-37|0)>>>0<5):0){r=e;s=j}else{r=c[l>>2]|0;s=l}if((r&63|0)==41)c[s>>2]=r&8372224|r>>>23<<6|40;j=((c[l>>2]|0)>>>14)+-131071|0;p=(j|0)==-1?-1:p+1+j|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Ia=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(r=q+-4|0,s=c[r>>2]|0,((s&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=c[q>>2]|0;u=q}if((t&63|0)==41)c[u>>2]=t&8372224|t>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Ia=h;return}case 2:{Re(b,f)|0;Ze(b,34,f,i,g);Ia=h;return}default:{Ia=h;return}}}function hf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;e=b;f=c[a>>2]|0;g=a+48|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=Oa[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=Oa[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)re(a,49004);else{c[a+8>>2]=1;Ia=b;return}}function jf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Ia;Ia=Ia+16|0;f=e;g=c[b>>2]|0;h=b+52|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)Ae(b,48200,0);o=n<<1;p=c[b+44>>2]|0;if((o|0)==-2)Lc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Pa[c[r>>2]&3](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))yc(p,4);Kc(p,1);v=Pa[c[r>>2]&3](c[t>>2]|0,q,n,o)|0;if(!v)yc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=w;y=o;z=o+1|0}else{x=c[i>>2]|0;y=k;z=l}c[j>>2]=z;a[x+y>>0]=g;y=b+48|0;x=c[y>>2]|0;z=c[x>>2]|0;c[x>>2]=z+-1;if(!z){z=Oa[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;j=c[f>>2]|0;if((z|0)==0|(j|0)==0)A=-1;else{c[x>>2]=j+-1;c[x+4>>2]=z+1;A=d[z>>0]|0}B=A}else{A=x+4|0;x=c[A>>2]|0;c[A>>2]=x+1;B=d[x>>0]|0}c[b>>2]=B;if((B|0)!=61){C=B;D=0;E=(C|0)!=(g|0);F=E<<31>>31;G=D^F;Ia=e;return G|0}B=b+44|0;x=0;while(1){A=c[h>>2]|0;z=A+4|0;j=c[z>>2]|0;l=j+1|0;k=A+8|0;i=c[k>>2]|0;if(l>>>0>i>>>0){if(i>>>0>2147483645){H=22;break}o=i<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Pa[c[m>>2]&3](c[n>>2]|0,w,i,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}Kc(I,1);r=Pa[c[m>>2]&3](c[n>>2]|0,w,i,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-i|0)+o+(c[s>>2]|0);c[A>>2]=J;c[k>>2]=o;o=c[z>>2]|0;K=J;L=o;M=o+1|0}else{K=c[A>>2]|0;L=j;M=l}c[z>>2]=M;a[K+L>>0]=61;z=c[y>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=Oa[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,f)|0;j=c[f>>2]|0;if((l|0)==0|(j|0)==0)N=-1;else{c[z>>2]=j+-1;c[z+4>>2]=l+1;N=d[l>>0]|0}O=N}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;O=d[z>>0]|0}c[b>>2]=O;z=x+1|0;if((O|0)==61)x=z;else{C=O;D=z;H=36;break}}if((H|0)==22)Ae(b,48200,0);else if((H|0)==24)Lc(I);else if((H|0)==28)yc(I,4);else if((H|0)==36){E=(C|0)!=(g|0);F=E<<31>>31;G=D^F;Ia=e;return G|0}return 0}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b>>2]|0;j=b+52|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)Ae(b,48200,0);q=p<<1;r=c[b+44>>2]|0;if((q|0)==-2)Lc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Pa[c[t>>2]&3](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))yc(r,4);Kc(r,1);x=Pa[c[t>>2]&3](c[v>>2]|0,s,p,q)|0;if(!x)yc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=y;A=q;B=q+1|0}else{z=c[k>>2]|0;A=m;B=n}c[l>>2]=B;a[z+A>>0]=i;i=b+48|0;A=c[i>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=Oa[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,h)|0;B=c[h>>2]|0;if((z|0)==0|(B|0)==0)C=-1;else{c[A>>2]=B+-1;c[A+4>>2]=z+1;C=d[z>>0]|0}D=C}else{C=A+4|0;A=c[C>>2]|0;c[C>>2]=A+1;D=d[A>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{hf(b);break}default:{}}D=(e|0)==0;A=b+44|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((jf(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{z=c[j>>2]|0;B=z+4|0;l=c[B>>2]|0;n=l+1|0;m=z+8|0;k=c[m>>2]|0;if(n>>>0>k>>>0){if(k>>>0>2147483645){E=43;break a}q=k<<1;F=c[A>>2]|0;if((q|0)==-2){E=45;break a}y=c[z>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Pa[c[o>>2]&3](c[p>>2]|0,y,k,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}Kc(F,1);t=Pa[c[o>>2]&3](c[p>>2]|0,y,k,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-k|0)+q+(c[u>>2]|0);c[z>>2]=G;c[m>>2]=q;q=c[B>>2]|0;H=G;I=q;J=q+1|0}else{H=c[z>>2]|0;I=l;J=n}c[B>>2]=J;a[H+I>>0]=10;hf(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){B=c[i>>2]|0;n=c[B>>2]|0;c[B>>2]=n+-1;if(!n){n=Oa[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;l=c[h>>2]|0;if((n|0)==0|(l|0)==0)K=-1;else{c[B>>2]=l+-1;c[B+4>>2]=n+1;K=d[n>>0]|0}L=K}else{n=B+4|0;B=c[n>>2]|0;c[n>>2]=B+1;L=d[B>>0]|0}c[b>>2]=L;break b}B=c[j>>2]|0;n=B+4|0;l=c[n>>2]|0;z=l+1|0;q=B+8|0;m=c[q>>2]|0;if(z>>>0>m>>>0){if(m>>>0>2147483645){E=58;break a}u=m<<1;M=c[A>>2]|0;if((u|0)==-2){E=60;break a}k=c[B>>2]|0;w=c[M+12>>2]|0;o=(k|0)==0;t=w+4|0;y=Pa[c[w>>2]&3](c[t>>2]|0,k,m,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}Kc(M,1);p=Pa[c[w>>2]&3](c[t>>2]|0,k,m,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-m|0)+u+(c[y>>2]|0);c[B>>2]=N;c[q>>2]=u;u=c[n>>2]|0;O=N;P=u;Q=u+1|0}else{O=c[B>>2]|0;P=l;Q=z}c[n>>2]=Q;a[O+P>>0]=C;n=c[i>>2]|0;z=c[n>>2]|0;c[n>>2]=z+-1;if(!z){z=Oa[c[n+8>>2]&7](c[n+16>>2]|0,c[n+12>>2]|0,h)|0;l=c[h>>2]|0;if((z|0)==0|(l|0)==0)R=-1;else{c[n>>2]=l+-1;c[n+4>>2]=z+1;R=d[z>>0]|0}S=R}else{z=n+4|0;n=c[z>>2]|0;c[z>>2]=n+1;S=d[n>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)Ae(b,D?48957:48981,287);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;P=R+4|0;O=c[P>>2]|0;Q=O+1|0;N=R+8|0;L=c[N>>2]|0;if(Q>>>0>L>>>0){if(L>>>0>2147483645)Ae(b,48200,0);K=L<<1;I=c[A>>2]|0;if((K|0)==-2)Lc(I);A=c[R>>2]|0;H=c[I+12>>2]|0;J=(A|0)==0;G=H+4|0;C=Pa[c[H>>2]&3](c[G>>2]|0,A,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[H+51>>0]|0))yc(I,4);Kc(I,1);n=Pa[c[H>>2]&3](c[G>>2]|0,A,L,K)|0;if(!n)yc(I,4);else T=n}else T=C;C=H+12|0;c[C>>2]=(J?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[P>>2]|0;U=T;V=K;W=K+1|0}else{U=c[R>>2]|0;V=O;W=Q}c[P>>2]=W;a[U+V>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;V=c[h>>2]|0;if((i|0)==0|(V|0)==0)X=-1;else{c[S>>2]=V+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Ia=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=qe(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ia=g;return}else if((E|0)==43)Ae(b,48200,0);else if((E|0)==45)Lc(F);else if((E|0)==49)yc(F,4);else if((E|0)==58)Ae(b,48200,0);else if((E|0)==60)Lc(M);else if((E|0)==64)yc(M,4)}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+52>>2]|0)+4>>2]=0;mf(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;mf(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);Ae(a,e,290)}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;e=c[b+52>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=c[e>>2]|0;l=g;m=h;n=d&255;c[f>>2]=m;o=k+l|0;a[o>>0]=n;return}if(j>>>0>2147483645)Ae(b,48200,0);h=j<<1;g=c[b+44>>2]|0;if((h|0)==-2)Lc(g);b=nf(g,c[e>>2]|0,j,h)|0;c[e>>2]=b;c[i>>2]=h;h=c[f>>2]|0;k=b;l=h;m=h+1|0;n=d&255;c[f>>2]=m;o=k+l|0;a[o>>0]=n;return}function nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Pa[c[g>>2]&3](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);k=Pa[c[g>>2]&3](c[i>>2]|0,d,e,f)|0;if(!k)yc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;wd(d,49111,e)|0;yc(c[a>>2]|0,3)}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,Ja=0,Ka=0,La=0,Ma=0;e=Ia;Ia=Ia+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=c[i>>2]|0;o=g;p=4;while(1){if(!n){q=Oa[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=n;u=c[m>>2]|0}q=p>>>0>t>>>0?t:p;Vv(o|0,u|0,q|0)|0;n=(c[i>>2]|0)-q|0;c[i>>2]=n;c[m>>2]=(c[m>>2]|0)+q;p=p-q|0;if(!p)break;else o=o+q|0}if((s|0)==7)of(b,49052);o=c[g>>2]|0;if((o|0)<0)of(b,49101);c[d+64>>2]=o;o=c[h>>2]|0;p=o+16|0;m=o+8|0;n=o+12|0;i=o+4|0;u=c[o>>2]|0;t=g;l=4;while(1){if(!u){j=Oa[c[m>>2]&7](c[p>>2]|0,c[n>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=u;w=c[i>>2]|0}j=l>>>0>v>>>0?v:l;Vv(t|0,w|0,j|0)|0;u=(c[o>>2]|0)-j|0;c[o>>2]=u;c[i>>2]=(c[i>>2]|0)+j;l=l-j|0;if(!l)break;else t=t+j|0}if((s|0)==16)of(b,49052);t=c[g>>2]|0;if((t|0)<0)of(b,49101);c[d+68>>2]=t;t=c[h>>2]|0;l=t+16|0;i=t+8|0;u=t+12|0;o=t+4|0;w=c[t>>2]|0;v=g;n=1;while(1){if(!w){p=Oa[c[i>>2]&7](c[l>>2]|0,c[u>>2]|0,f)|0;m=c[f>>2]|0;if((p|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=p;x=m;y=p}else{x=w;y=c[o>>2]|0}p=n>>>0>x>>>0?x:n;Vv(v|0,y|0,p|0)|0;w=(c[t>>2]|0)-p|0;c[t>>2]=w;c[o>>2]=(c[o>>2]|0)+p;n=n-p|0;if(!n)break;else v=v+p|0}if((s|0)==25)of(b,49052);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;n=v+16|0;o=v+8|0;w=v+12|0;t=v+4|0;y=c[v>>2]|0;x=g;u=1;while(1){if(!y){l=Oa[c[o>>2]&7](c[n>>2]|0,c[w>>2]|0,f)|0;i=c[f>>2]|0;if((l|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=l;z=i;A=l}else{z=y;A=c[t>>2]|0}l=u>>>0>z>>>0?z:u;Vv(x|0,A|0,l|0)|0;y=(c[v>>2]|0)-l|0;c[v>>2]=y;c[t>>2]=(c[t>>2]|0)+l;u=u-l|0;if(!u)break;else x=x+l|0}if((s|0)==32)of(b,49052);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;u=x+16|0;t=x+8|0;y=x+12|0;v=x+4|0;A=c[x>>2]|0;z=g;w=1;while(1){if(!A){n=Oa[c[t>>2]&7](c[u>>2]|0,c[y>>2]|0,f)|0;o=c[f>>2]|0;if((n|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=n;B=o;C=n}else{B=A;C=c[v>>2]|0}n=w>>>0>B>>>0?B:w;Vv(z|0,C|0,n|0)|0;A=(c[x>>2]|0)-n|0;c[x>>2]=A;c[v>>2]=(c[v>>2]|0)+n;w=w-n|0;if(!w)break;else z=z+n|0}if((s|0)==39)of(b,49052);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;w=z+16|0;v=z+8|0;A=z+12|0;x=z+4|0;C=c[z>>2]|0;B=g;y=4;while(1){if(!C){u=Oa[c[v>>2]&7](c[w>>2]|0,c[A>>2]|0,f)|0;t=c[f>>2]|0;if((u|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=u;D=t;E=u}else{D=C;E=c[x>>2]|0}u=y>>>0>D>>>0?D:y;Vv(B|0,E|0,u|0)|0;C=(c[z>>2]|0)-u|0;c[z>>2]=C;c[x>>2]=(c[x>>2]|0)+u;y=y-u|0;if(!y)break;else B=B+u|0}if((s|0)==46)of(b,49052);B=c[g>>2]|0;if((B|0)<0)of(b,49101);y=c[b>>2]|0;if((B+1|0)>>>0>1073741823)Lc(y);x=B<<2;C=c[y+12>>2]|0;z=C+4|0;E=Pa[c[C>>2]&3](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[C+51>>0]|0))yc(y,4);Kc(y,1);D=Pa[c[C>>2]&3](c[z>>2]|0,0,0,x)|0;if(!D)yc(y,4);else F=D}else F=E;E=C+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;C=B+8|0;D=B+12|0;y=B+4|0;z=c[B>>2]|0;A=F;w=x;while(1){if(!z){v=Oa[c[C>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=62;break}c[B>>2]=u;c[y>>2]=v;G=u;H=v}else{G=z;H=c[y>>2]|0}v=w>>>0>G>>>0?G:w;Vv(A|0,H|0,v|0)|0;z=(c[B>>2]|0)-v|0;c[B>>2]=z;c[y>>2]=(c[y>>2]|0)+v;w=w-v|0;if(!w){s=63;break}else A=A+v|0}if((s|0)==62)of(b,49052);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;x=I+4|0;F=c[I>>2]|0;A=g;w=4;while(1){if(!F){y=Oa[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;z=c[f>>2]|0;if((y|0)==0|(z|0)==0){s=70;break}c[I>>2]=z;c[x>>2]=y;J=z;K=y}else{J=F;K=c[x>>2]|0}y=w>>>0>J>>>0?J:w;Vv(A|0,K|0,y|0)|0;F=(c[I>>2]|0)-y|0;c[I>>2]=F;c[x>>2]=(c[x>>2]|0)+y;w=w-y|0;if(!w)break;else A=A+y|0}if((s|0)==70)of(b,49052);A=c[g>>2]|0;if((A|0)<0)of(b,49101);w=c[b>>2]|0;if((A+1|0)>>>0>536870911)Lc(w);x=A<<3;F=c[w+12>>2]|0;I=F+4|0;K=Pa[c[F>>2]&3](c[I>>2]|0,0,0,x)|0;if((x|0)!=0&(K|0)==0){if(!(a[F+51>>0]|0))yc(w,4);Kc(w,1);J=Pa[c[F>>2]&3](c[I>>2]|0,0,0,x)|0;if(!J)yc(w,4);else L=J}else L=K;K=F+12|0;c[K>>2]=(c[K>>2]|0)+x;x=d+8|0;c[x>>2]=L;c[d+44>>2]=A;K=(A|0)>0;a:do if(K){F=0;do{c[L+(F<<3)+4>>2]=0;F=F+1|0}while((F|0)!=(A|0));if(K){F=b+8|0;J=L;w=0;b:while(1){I=J+(w<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;y=G+12|0;z=G+4|0;D=c[G>>2]|0;E=g;C=1;while(1){if(!D){v=Oa[c[H>>2]&7](c[B>>2]|0,c[y>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=90;break b}c[G>>2]=u;c[z>>2]=v;M=u;N=v}else{M=D;N=c[z>>2]|0}v=C>>>0>M>>>0?M:C;Vv(E|0,N|0,v|0)|0;D=(c[G>>2]|0)-v|0;c[G>>2]=D;c[z>>2]=(c[z>>2]|0)+v;C=C-v|0;if(!C)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;C=E+16|0;z=E+8|0;D=E+12|0;G=E+4|0;y=c[E>>2]|0;B=g;H=1;while(1){if(!y){v=Oa[c[z>>2]&7](c[C>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=98;break b}c[E>>2]=u;c[G>>2]=v;P=u;Q=v}else{P=y;Q=c[G>>2]|0}v=H>>>0>P>>>0?P:H;Vv(B|0,Q|0,v|0)|0;y=(c[E>>2]|0)-v|0;c[E>>2]=y;c[G>>2]=(c[G>>2]|0)+v;H=H-v|0;if(!H)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;H=B+16|0;G=B+8|0;y=B+12|0;E=B+4|0;D=c[B>>2]|0;C=g;z=4;while(1){if(!D){v=Oa[c[G>>2]&7](c[H>>2]|0,c[y>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=106;break b}c[B>>2]=u;c[E>>2]=v;R=u;S=v}else{R=D;S=c[E>>2]|0}v=z>>>0>R>>>0?R:z;Vv(C|0,S|0,v|0)|0;D=(c[B>>2]|0)-v|0;c[B>>2]=D;c[E>>2]=(c[E>>2]|0)+v;z=z-v|0;if(!z)break;else C=C+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{C=c[h>>2]|0;z=C+16|0;E=C+8|0;D=C+12|0;B=C+4|0;y=c[C>>2]|0;H=g;G=4;while(1){if(!y){v=Oa[c[E>>2]&7](c[z>>2]|0,c[D>>2]|0,f)|0;u=c[f>>2]|0;if((v|0)==0|(u|0)==0){s=114;break b}c[C>>2]=u;c[B>>2]=v;T=u;U=v}else{T=y;U=c[B>>2]|0}v=G>>>0>T>>>0?T:G;Vv(H|0,U|0,v|0)|0;y=(c[C>>2]|0)-v|0;c[C>>2]=y;c[B>>2]=(c[B>>2]|0)+v;G=G-v|0;if(!G)break;else H=H+v|0}H=c[g>>2]|0;if(!H)V=0;else{G=qf(c[b>>2]|0,c[F>>2]|0,H)|0;B=c[h>>2]|0;y=B+16|0;C=B+8|0;D=B+12|0;z=B+4|0;E=c[B>>2]|0;v=G;u=H;while(1){if(!E){t=Oa[c[C>>2]&7](c[y>>2]|0,c[D>>2]|0,f)|0;n=c[f>>2]|0;if((t|0)==0|(n|0)==0){s=122;break b}c[B>>2]=n;c[z>>2]=t;W=n;X=t}else{W=E;X=c[z>>2]|0}t=u>>>0>W>>>0?W:u;Vv(v|0,X|0,t|0)|0;E=(c[B>>2]|0)-t|0;c[B>>2]=E;c[z>>2]=(c[z>>2]|0)+t;u=u-t|0;if(!u)break;else v=v+t|0}V=xd(c[b>>2]|0,G,H+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[J+(w<<3)+4>>2]=O}v=w+1|0;if((v|0)>=(A|0))break a;J=c[x>>2]|0;w=v}if((s|0)==90)of(b,49052);else if((s|0)==98)of(b,49052);else if((s|0)==106)of(b,49052);else if((s|0)==114)of(b,49052);else if((s|0)==122)of(b,49052)}}while(0);x=c[h>>2]|0;A=x+16|0;O=x+8|0;V=x+12|0;X=x+4|0;W=c[x>>2]|0;U=g;T=4;while(1){if(!W){S=Oa[c[O>>2]&7](c[A>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[x>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=W;Z=c[X>>2]|0}S=T>>>0>Y>>>0?Y:T;Vv(U|0,Z|0,S|0)|0;W=(c[x>>2]|0)-S|0;c[x>>2]=W;c[X>>2]=(c[X>>2]|0)+S;T=T-S|0;if(!T)break;else U=U+S|0}if((s|0)==134)of(b,49052);U=c[g>>2]|0;if((U|0)<0)of(b,49101);T=c[b>>2]|0;if((U+1|0)>>>0>1073741823)Lc(T);X=U<<2;W=c[T+12>>2]|0;x=W+4|0;Z=Pa[c[W>>2]&3](c[x>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[W+51>>0]|0))yc(T,4);Kc(T,1);Y=Pa[c[W>>2]&3](c[x>>2]|0,0,0,X)|0;if(!Y)yc(T,4);else _=Y}else _=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){W=1;do{c[(c[X>>2]|0)+(W<<2)>>2]=0;W=W+1|0}while((W|0)!=(U|0))}if(Z){W=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;T=Y+4|0;x=Pa[c[Y>>2]&3](c[T>>2]|0,0,9,80)|0;if(!x){if(!(a[Y+51>>0]|0)){s=152;break}Kc($,1);V=Pa[c[Y>>2]&3](c[T>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=x;x=Y+12|0;c[x>>2]=(c[x>>2]|0)+80;x=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[x>>2];c[x>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;x=aa+8|0;Y=x+64|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(Y|0));c[(c[X>>2]|0)+(W<<2)>>2]=aa;pf(b,c[(c[X>>2]|0)+(W<<2)>>2]|0);W=W+1|0;if((W|0)>=(U|0))break c}if((s|0)==152)yc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=c[$>>2]|0;W=g;x=4;while(1){if(!_){Y=Oa[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=_;ca=c[Z>>2]|0}Y=x>>>0>ba>>>0?ba:x;Vv(W|0,ca|0,Y|0)|0;_=(c[$>>2]|0)-Y|0;c[$>>2]=_;c[Z>>2]=(c[Z>>2]|0)+Y;x=x-Y|0;if(!x)break;else W=W+Y|0}if((s|0)==160)of(b,49052);W=c[g>>2]|0;if((W|0)<0)of(b,49101);x=c[b>>2]|0;if((W+1|0)>>>0>536870911)Lc(x);Z=W<<3;_=c[x+12>>2]|0;$=_+4|0;ca=Pa[c[_>>2]&3](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0))yc(x,4);Kc(x,1);ba=Pa[c[_>>2]&3](c[$>>2]|0,0,0,Z)|0;if(!ba)yc(x,4);else da=ba}else da=ca;ca=_+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=W;d:do if((W|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(W|0));ca=0;e:while(1){_=c[h>>2]|0;ba=_+16|0;x=_+8|0;$=_+12|0;aa=_+4|0;U=c[_>>2]|0;X=g;Y=1;while(1){if(!U){I=Oa[c[x>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;H=c[f>>2]|0;if((I|0)==0|(H|0)==0){s=179;break e}c[_>>2]=H;c[aa>>2]=I;ea=H;fa=I}else{ea=U;fa=c[aa>>2]|0}I=Y>>>0>ea>>>0?ea:Y;Vv(X|0,fa|0,I|0)|0;U=(c[_>>2]|0)-I|0;c[_>>2]=U;c[aa>>2]=(c[aa>>2]|0)+I;Y=Y-I|0;if(!Y)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;Y=X+16|0;aa=X+8|0;U=X+12|0;_=X+4|0;$=c[X>>2]|0;ba=g;x=1;while(1){if(!$){I=Oa[c[aa>>2]&7](c[Y>>2]|0,c[U>>2]|0,f)|0;H=c[f>>2]|0;if((I|0)==0|(H|0)==0){s=186;break e}c[X>>2]=H;c[_>>2]=I;ga=H;ha=I}else{ga=$;ha=c[_>>2]|0}I=x>>>0>ga>>>0?ga:x;Vv(ba|0,ha|0,I|0)|0;$=(c[X>>2]|0)-I|0;c[X>>2]=$;c[_>>2]=(c[_>>2]|0)+I;x=x-I|0;if(!x)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(W|0))break d}if((s|0)==179)of(b,49052);else if((s|0)==186)of(b,49052)}while(0);W=c[h>>2]|0;ha=W+16|0;ga=W+8|0;fa=W+12|0;ea=W+4|0;da=c[W>>2]|0;ca=g;ba=4;while(1){if(!da){x=Oa[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;_=c[f>>2]|0;if((x|0)==0|(_|0)==0){s=194;break}c[W>>2]=_;c[ea>>2]=x;ia=_;ja=x}else{ia=da;ja=c[ea>>2]|0}x=ba>>>0>ia>>>0?ia:ba;Vv(ca|0,ja|0,x|0)|0;da=(c[W>>2]|0)-x|0;c[W>>2]=da;c[ea>>2]=(c[ea>>2]|0)+x;ba=ba-x|0;if(!ba)break;else ca=ca+x|0}if((s|0)==194)of(b,49052);ca=c[g>>2]|0;do if(ca){ba=qf(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;da=ea+16|0;W=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=c[ea>>2]|0;ha=ba;ga=ca;while(1){if(!fa){x=Oa[c[W>>2]&7](c[da>>2]|0,c[ja>>2]|0,f)|0;_=c[f>>2]|0;if((x|0)==0|(_|0)==0){s=202;break}c[ea>>2]=_;c[ia>>2]=x;ka=_;la=x}else{ka=fa;la=c[ia>>2]|0}x=ga>>>0>ka>>>0?ka:ga;Vv(ha|0,la|0,x|0)|0;fa=(c[ea>>2]|0)-x|0;c[ea>>2]=fa;c[ia>>2]=(c[ia>>2]|0)+x;ga=ga-x|0;if(!ga){s=203;break}else ha=ha+x|0}if((s|0)==202)of(b,49052);else if((s|0)==203){ma=xd(c[b>>2]|0,ba,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;ga=c[ma>>2]|0;ia=g;fa=4;while(1){if(!ga){ea=Oa[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Vv(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)of(b,49052);ia=c[g>>2]|0;if((ia|0)<0)of(b,49101);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)Lc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Pa[c[ga>>2]&3](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))yc(fa,4);Kc(fa,1);na=Pa[c[ga>>2]&3](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}yc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=c[ia>>2]|0;ka=pa;ca=ha;while(1){if(!na){la=Oa[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=na;ra=c[ma>>2]|0}la=ca>>>0>qa>>>0?qa:ca;Vv(ka|0,ra|0,la|0)|0;na=(c[ia>>2]|0)-la|0;c[ia>>2]=na;c[ma>>2]=(c[ma>>2]|0)+la;ca=ca-la|0;if(!ca){s=227;break}else ka=ka+la|0}if((s|0)==226)of(b,49052);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;ha=sa+4|0;pa=c[sa>>2]|0;ka=g;ca=4;while(1){if(!pa){ma=Oa[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;na=c[f>>2]|0;if((ma|0)==0|(na|0)==0){s=234;break}c[sa>>2]=na;c[ha>>2]=ma;ta=na;ua=ma}else{ta=pa;ua=c[ha>>2]|0}ma=ca>>>0>ta>>>0?ta:ca;Vv(ka|0,ua|0,ma|0)|0;pa=(c[sa>>2]|0)-ma|0;c[sa>>2]=pa;c[ha>>2]=(c[ha>>2]|0)+ma;ca=ca-ma|0;if(!ca)break;else ka=ka+ma|0}if((s|0)==234)of(b,49052);ka=c[g>>2]|0;if((ka|0)<0)of(b,49101);ca=c[b>>2]|0;if((ka+1|0)>>>0>357913941)Lc(ca);ha=ka*12|0;pa=c[ca+12>>2]|0;sa=pa+4|0;ua=Pa[c[pa>>2]&3](c[sa>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(ua|0)==0){if(!(a[pa+51>>0]|0))yc(ca,4);Kc(ca,1);ta=Pa[c[pa>>2]&3](c[sa>>2]|0,0,0,ha)|0;if(ta|0){va=ta;break}yc(ca,4)}else va=ua;while(0);ua=pa+12|0;c[ua>>2]=(c[ua>>2]|0)+ha;ha=d+24|0;c[ha>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){pa=c[h>>2]|0;ca=pa+16|0;sa=pa+8|0;ta=pa+12|0;qa=pa+4|0;ia=c[pa>>2]|0;ra=g;ma=4;while(1){if(!ia){na=Oa[c[sa>>2]&7](c[ca>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((na|0)==0|(fa|0)==0){s=253;break g}c[pa>>2]=fa;c[qa>>2]=na;wa=fa;xa=na}else{wa=ia;xa=c[qa>>2]|0}na=ma>>>0>wa>>>0?wa:ma;Vv(ra|0,xa|0,na|0)|0;ia=(c[pa>>2]|0)-na|0;c[pa>>2]=ia;c[qa>>2]=(c[qa>>2]|0)+na;ma=ma-na|0;if(!ma)break;else ra=ra+na|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ma=qf(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ia=qa+16|0;pa=qa+8|0;ta=qa+12|0;ca=qa+4|0;sa=c[qa>>2]|0;na=ma;fa=ra;while(1){if(!sa){oa=Oa[c[pa>>2]&7](c[ia>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ca>>2]=oa;za=ga;Aa=oa}else{za=sa;Aa=c[ca>>2]|0}oa=fa>>>0>za>>>0?za:fa;Vv(na|0,Aa|0,oa|0)|0;sa=(c[qa>>2]|0)-oa|0;c[qa>>2]=sa;c[ca>>2]=(c[ca>>2]|0)+oa;fa=fa-oa|0;if(!fa)break;else na=na+oa|0}ya=xd(c[b>>2]|0,ma,ra+-1|0)|0}c[(c[ha>>2]|0)+(ua*12|0)>>2]=ya;na=c[h>>2]|0;fa=na+16|0;ca=na+8|0;sa=na+12|0;qa=na+4|0;ta=c[na>>2]|0;ia=g;pa=4;while(1){if(!ta){oa=Oa[c[ca>>2]&7](c[fa>>2]|0,c[sa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[na>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=ta;Ca=c[qa>>2]|0}oa=pa>>>0>Ba>>>0?Ba:pa;Vv(ia|0,Ca|0,oa|0)|0;ta=(c[na>>2]|0)-oa|0;c[na>>2]=ta;c[qa>>2]=(c[qa>>2]|0)+oa;pa=pa-oa|0;if(!pa)break;else ia=ia+oa|0}ia=c[g>>2]|0;if((ia|0)<0){s=271;break}c[(c[ha>>2]|0)+(ua*12|0)+4>>2]=ia;ia=c[h>>2]|0;pa=ia+16|0;qa=ia+8|0;ta=ia+12|0;na=ia+4|0;sa=c[ia>>2]|0;fa=g;ca=4;while(1){if(!sa){ra=Oa[c[qa>>2]&7](c[pa>>2]|0,c[ta>>2]|0,f)|0;ma=c[f>>2]|0;if((ra|0)==0|(ma|0)==0){s=278;break g}c[ia>>2]=ma;c[na>>2]=ra;Da=ma;Ea=ra}else{Da=sa;Ea=c[na>>2]|0}ra=ca>>>0>Da>>>0?Da:ca;Vv(fa|0,Ea|0,ra|0)|0;sa=(c[ia>>2]|0)-ra|0;c[ia>>2]=sa;c[na>>2]=(c[na>>2]|0)+ra;ca=ca-ra|0;if(!ca)break;else fa=fa+ra|0}fa=c[g>>2]|0;if((fa|0)<0){s=280;break}c[(c[ha>>2]|0)+(ua*12|0)+8>>2]=fa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)of(b,49052);else if((s|0)==261)of(b,49052);else if((s|0)==269)of(b,49052);else if((s|0)==271)of(b,49101);else if((s|0)==278)of(b,49052);else if((s|0)==280)of(b,49101)}while(0);ka=c[h>>2]|0;ha=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=c[ka>>2]|0;ya=g;Aa=4;while(1){if(!Ba){za=Oa[c[Ea>>2]&7](c[ha>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Fa=xa;Ga=za}else{Fa=Ba;Ga=c[Ca>>2]|0}za=Aa>>>0>Fa>>>0?Fa:Aa;Vv(ya|0,Ga|0,za|0)|0;Ba=(c[ka>>2]|0)-za|0;c[ka>>2]=Ba;c[Ca>>2]=(c[Ca>>2]|0)+za;Aa=Aa-za|0;if(!Aa)break;else ya=ya+za|0}if((s|0)==288)of(b,49052);ya=c[g>>2]|0;if((ya|0)<0)of(b,49101);if(!ya){Ia=e;return}Aa=b+8|0;Ca=0;h:while(1){Ba=c[h>>2]|0;ka=Ba+16|0;Ga=Ba+8|0;Fa=Ba+12|0;Da=Ba+4|0;ha=c[Ba>>2]|0;Ea=g;za=4;while(1){if(!ha){xa=Oa[c[Ga>>2]&7](c[ka>>2]|0,c[Fa>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Ba>>2]=wa;c[Da>>2]=xa;Ha=wa;Ja=xa}else{Ha=ha;Ja=c[Da>>2]|0}xa=za>>>0>Ha>>>0?Ha:za;Vv(Ea|0,Ja|0,xa|0)|0;ha=(c[Ba>>2]|0)-xa|0;c[Ba>>2]=ha;c[Da>>2]=(c[Da>>2]|0)+xa;za=za-xa|0;if(!za)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{za=qf(c[b>>2]|0,c[Aa>>2]|0,Ea)|0;Da=c[h>>2]|0;ha=Da+16|0;Ba=Da+8|0;Fa=Da+12|0;ka=Da+4|0;Ga=c[Da>>2]|0;xa=za;wa=Ea;while(1){if(!Ga){va=Oa[c[Ba>>2]&7](c[ha>>2]|0,c[Fa>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;La=ua;Ma=va}else{La=Ga;Ma=c[ka>>2]|0}va=wa>>>0>La>>>0?La:wa;Vv(xa|0,Ma|0,va|0)|0;Ga=(c[Da>>2]|0)-va|0;c[Da>>2]=Ga;c[ka>>2]=(c[ka>>2]|0)+va;wa=wa-va|0;if(!wa)break;else xa=xa+va|0}Ka=xd(c[b>>2]|0,za,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)of(b,49052);else if((s|0)==307)of(b,49052);else if((s|0)==310){Ia=e;return}}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)Lc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Pa[c[j>>2]&3](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))yc(b,4);Kc(b,1);n=Pa[c[j>>2]&3](c[l>>2]|0,e,g,i)|0;if(!n)yc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function rf(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function sf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{Kc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;Oc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;Oc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do gd(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;ld(b)|0;l=(c[g>>2]|0)+49|0;if(1<<d[l>>0]&-29|0){i=0;return i|0}do gd(b)|0;while(!(1<<d[l>>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function tf(a){a=a|0;Dc(a);return 0}function uf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=vf(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=-1;t=0;u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=-1;t=0;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(s<<3)|0;c[f>>2]=v;return t|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,k=0,l=0,m=0,n=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ia=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Ia=e;return i|0}k=vd(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Tc(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)Ac(a,49136,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ia=e;return i|0}function wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=bd(b,3196396,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,d);return}function xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=0;v=1}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=s;B=w;while(1){C=B+-1|0;D=c[A+8>>2]|0;if((B|0)>1&(D|0)!=(t|0)){A=D;B=C}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=w;F=x;break}B=w<<1;if((w|0)<0){E=B;F=w;break}else{A=w;w=B;x=A}}if((F|0)<(E|0)){x=E;w=F;while(1){F=x+w|0;y=(F|0)/2|0;if((F|0)<-1)G=0;else{if((F+1|0)>>>0>2){F=s;z=y;while(1){A=z+-1|0;B=c[F+8>>2]|0;if((z|0)>1&(B|0)!=(t|0)){F=B;z=A}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;F=z?y:x;w=z?w:y+1|0;if((w|0)>=(F|0)){J=F;break}else x=F}}else J=E;u=(J|0)>23?12:0;v=J}if(e|0){c[m>>2]=e;Td(b,61091,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;E=c[J>>2]|0;do if((E|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=E+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{Oc(b);break}while(0);J=bd(b,49158,16)|0;E=c[o>>2]|0;c[E>>2]=J;c[E+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;E=n+36|0;e=n+20|0;x=v+-11|0;v=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;F=c[r>>2]|0;if((s|0)!=0&(F|0)!=(t|0)){z=F;A=s;while(1){B=A+-1|0;C=c[z+8>>2]|0;if((A|0)>1&(C|0)!=(t|0)){z=C;A=B}else{M=C;N=B;break}}}else{M=F;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(u|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);z=bd(b,49175,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{yf(d,49181,n)|0;c[l>>2]=E;Td(b,49186,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Td(b,49192,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{Oc(b);break}while(0);y=bd(b,49196,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[v>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{Oc(b);break}while(0);A=bd(b,49215,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(zf(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);z=bd(b,80062,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(Kd(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{Oc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Td(b,49201,i)|0;A=c[o>>2]|0;B=A+-8|0;z=A+-16|0;while(1){c[z>>2]=c[B>>2];c[z+4>>2]=c[z+12>>2];A=B+8|0;S=c[o>>2]|0;if(A>>>0<S>>>0){C=B;B=A;z=C}else break}c[o>>2]=S+-8;break a;break}default:{z=c[I>>2]<<16;c[h>>2]=E;c[h+4>>2]=z;Td(b,49226,h)|0;break a}}else{c[j>>2]=c[H>>2];Td(b,49201,j)|0}while(0);if(!(a[G>>0]|0)){z=c[o>>2]|0;T=z;U=z}else{z=c[m>>2]|0;B=z+12|0;y=c[B>>2]|0;do if((y|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[B>>2]=-1600;break}else{Oc(b);break}while(0);B=bd(b,49243,20)|0;y=c[o>>2]|0;c[y>>2]=B;c[y+4>>2]=(a[B+4>>0]|64)&255;B=(c[o>>2]|0)+8|0;c[o>>2]=B;T=B;U=B}B=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((B|0)<=1){if(B|0){O=f;break}y=bd(b,3196396,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;z=y+12|0;C=c[z>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[z>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,B);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Ia=g;return}q=bd(b,3196396,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ia=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,O);Ia=g;return}function yf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Ia;Ia=Ia+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=0;l=j;m=e+1|0}else{j=c[f+96>>2]|0;k=j;l=c[j>>2]|0;m=e}e=l+4|0;if((c[e>>2]&31|0)==6)n=c[l>>2]|0;else n=0;j=a[m>>0]|0;a:do if(!(j<<24>>24))o=1;else{i=(n|0)==0;p=(k|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=k+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=k+8|0;I=f+95|0;J=f+39|0;K=k+28|0;L=b+12|0;M=j;N=1;O=m;while(1){b:do switch(M<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?49269:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?49272:49277}else{c[q>>2]=49264;c[r>>2]=-1;c[s>>2]=-1;S=49264;T=97345}c[t>>2]=T;Q=bu(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Vv(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[74024]|0;a[u+1>>0]=a[74025]|0;a[u+2>>0]=a[74026]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Vv(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=nu(S,10)|0;U=u;V=47837;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Vv(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Vv(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[74024]|0;a[Z+1>>0]=a[74025]|0;a[Z+2>>0]=a[74026]|0;Y=Z+3|0};a[Y>>0]=a[47847]|0;a[Y+1>>0]=a[47848]|0;a[Y+2>>0]=a[47849]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[k>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=ed(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=49281;ca=49281;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=49294}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3196396;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);O=O+1|0;M=a[O>>0]|0;if(!(M<<24>>24)){o=X;break a}else N=X}}while(0);if(nu(m,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[l>>2];c[ca+4>>2]=c[e>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(nu(m,76)|0)){Ia=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){m=n+12|0;n=c[(c[m>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;e=X+4|0;ca=Pa[c[X>>2]&3](c[e>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))yc(b,4);Kc(b,1);l=Pa[c[X>>2]&3](c[e>>2]|0,0,5,32)|0;if(!l)yc(b,4);else fa=l}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;l=fa+16|0;c[l>>2]=2217420;e=fa+7|0;a[e>>0]=0;c[fa+20>>2]=2217420;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[m>>2]|0)+52>>2]|0)<=0){Ia=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;k=_+-1|0;d:do if(k>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(k<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[l>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<<d[e>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2217396){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=Nc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[m>>2]|0)+52>>2]|0));Ia=g;return o|0}m=b+8|0;b=c[m>>2]|0;c[b+4>>2]=0;c[m>>2]=b+8;Ia=g;return o|0}function zf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;yf(a,92377,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2217396;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(Af(a,i,2)|0){Ad(a,-1,i);l=(c[e>>2]|0)+-16|0;m=1;c[e>>2]=l;return m|0}if((g|0)<=-8){l=(c[e>>2]|0)+(i<<3)|0;m=0;c[e>>2]=l;return m|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=g;m=0;c[e>>2]=l;return m|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<g>>>0);c[e>>2]=f+(a+1<<3);l=g;m=0;c[e>>2]=l;return m|0}function Af(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2217396){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(uf(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2217396?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0<o>>>0?p:2217396;p=o+-8|0;if(((p|0)!=2217396&(q|0)!=2217396?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Tc(0,q,p)|0:0){r=27;break a}if(Af(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(uf(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2217396?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|32|0)!=54){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2217396:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2217396&(t|0)!=2217396):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Tc(0,t,p)|0:0){r=27;break a}if(Af(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(uf(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-8|0;j=r+-16|0;while(1){c[j>>2]=c[v>>2];c[j+4>>2]=c[j+12>>2];r=v+8|0;w=c[i>>2]|0;if(r>>>0<w>>>0){e=v;v=r;j=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;j=w+12|0;v=c[j>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=v+1600+(c[e>>2]|0);c[j>>2]=-1600;break}else{Oc(b);break}while(0);j=bd(b,104886,1)|0;v=c[i>>2]|0;c[v>>2]=j;c[v+4>>2]=(a[j+4>>0]|64)&255;j=c[i>>2]|0;v=j+8|0;c[i>>2]=v;w=v;do{v=w;w=w+-8|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[v+-4>>2]}while(v>>>0>j>>>0);w=c[i>>2]|0;c[j+-8>>2]=c[w>>2];c[j+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;j=c[l>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=j+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{Oc(b);break}while(0);Rc(b,3);g=1;return g|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;Cf(b,49305,i)|0}c[j+96>>2]=f;yf(b,49327,j)|0;if(!(au(c[j+8>>2]|0,47574)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;Cf(b,49329,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Cf(b,49359,g)|0}do if(!(zf(b,j)|0))o=80062;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(Kd(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{Oc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Cf(b,49359,g)|0;return 0}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;Df(a,1);Sd(a,b,f)|0;wf(a,2);tf(a)|0;return 0}function Df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=h;k=d;while(1){l=k+-1|0;m=c[j+8>>2]|0;if((k|0)>1&(m|0)!=(i|0)){j=m;k=l}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,yf(b,49389,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Td(b,49392,f)|0;c[554351]=c[n>>2];Ia=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{Oc(b);break}while(0);f=bd(b,3196396,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Ia=e;return}function Ef(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=Jd(a,b,e)|0;if(h|0){Ia=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|32|0)!=54?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2217396)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=62511;c[g+4>>2]=j;Bf(a,b,Td(a,49400,g)|0)|0;Ia=f;return h|0}function Ff(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|32|0)!=54?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2217396:0)?c[i+4>>2]&15|0:0){m=Ef(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=bu(e)|0;c[f>>2]=n;m=e;return m|0}function Gf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|32|0)==54)k=2217396;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2217396:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2217396}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Wc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|32|0)!=54?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2217396)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=47158;c[f+4>>2]=n;Bf(a,b,Td(a,49400,f)|0)|0;u=0;Ia=e;return u|0}while(0);u=o>>16;Ia=e;return u|0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;f=bu(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=ee(a,3,e,b,0)|0;Ia=d;return f|0}function Jf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2217396}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;Qd(a,e)|0;e=c[k>>2]|0;a=Mc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2217396?(c[a+-4>>2]&15|0)==0:0){m=a+-16|0;n=0}else{g=e;e=a+-16|0;while(1){c[e>>2]=c[g>>2];c[e+4>>2]=c[e+12>>2];a=g+8|0;o=c[k>>2]|0;if(a>>>0<o>>>0){b=g;g=a;e=b}else break}m=o+-8|0;n=1}c[k>>2]=m;l=n;return l|0}function Kf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(Jf(a,i,f)|0)){j=0;Ia=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|32|0)==54)k=2217396;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2217396:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2217396}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Ac(a,47199,h);if((f&65535)>224)yc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Ec(a,i,1)|0))Fc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Ia=g;return j|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=Ia;Ia=Ia+16|0;h=g;a:do if(!(Kf(b,e,49465)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0<l>>>0){m=k;n=10}else{o=l;p=k;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}k=-1001e3-e|0;l=c[i>>2]|0;q=c[l+4>>2]|32;if((q|0)!=54){r=c[l>>2]|0;if((k|0)>(d[r+6>>0]|0)){s=q;t=l;u=k;n=46}else{m=r+16+(k+-1<<3)|0;n=10}}else v=0}while(0);do if((n|0)==10){b:do if((m|0)!=2217396)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){w=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){w=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;r=c[i>>2]|0;if((c[r+4>>2]|32|0)==54)w=2217396;else{l=c[r>>2]|0;w=(k|0)>(d[l+6>>0]|0)?2217396:l+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;w=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);k=b+8|0;l=c[k>>2]|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[k>>2]=(c[k>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){x=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){x=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)x=2217396;else{r=c[l>>2]|0;x=(k|0)>(d[r+6>>0]|0)?2217396:r+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;x=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);switch(c[x+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[x>>2]|0))n=31;else y=65112;break}default:y=65112}if((n|0)==31)y=65117;Qd(b,y)|0;break a;break}case 0:{k=c[b+12>>2]|0;r=k+12|0;l=c[r>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){q=k+8|0;c[q>>2]=l+1600+(c[q>>2]|0);c[r>>2]=-1600;break}else{Oc(b);break}while(0);r=bd(b,65123,3)|0;l=b+8|0;k=c[l>>2]|0;c[k>>2]=r;c[k+4>>2]=(a[r+4>>0]|64)&255;c[l>>2]=(c[l>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=c[b+8>>2]|0;p=(c[i>>2]|0)+(e<<3)|0;n=40;break}if((e|0)>=-1000999){z=(c[b+8>>2]|0)+(e<<3)|0;n=48;break}if((e|0)==-1001e3){z=(c[b+12>>2]|0)+36|0;n=48;break}else{l=c[i>>2]|0;s=c[l+4>>2]|32;t=l;u=-1001e3-e|0;n=46;break}}while(0);if((n|0)==40)if(p>>>0<o>>>0){z=p;n=48}else v=0;else if((n|0)==46)if((s|0)!=54?(i=c[t>>2]|0,(u|0)<=(d[i+6>>0]|0)):0){z=i+16+(u+-1<<3)|0;n=48}else v=0;if((n|0)==48)if((z|0)==2217396)v=0;else v=(c[z+4>>2]&15)+1|0;i=c[16+(v<<2)>>2]|0;j=Md(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Td(b,49476,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;v=e+-8|0;if((c[e+-4>>2]&15|0)==4)A=v;else{if(!(Kd(b,v)|0)){if(!f){B=0;Ia=g;return B|0}c[f>>2]=0;B=0;Ia=g;return B|0}v=c[b+12>>2]|0;e=v+12|0;z=c[e>>2]|0;do if((z|0)>0)if(!(a[v+51>>0]|0)){n=v+8|0;c[n>>2]=z+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{Oc(b);break}while(0);A=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[A>>2]|0)+12>>2];B=(c[A>>2]|0)+16|0;Ia=g;return B|0}function Mf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ia;Ia=Ia+16|0;g=Pa[d&3](e,0,8,432)|0;if(!g){h=0;Ia=f;return h|0}i=g+120|0;c[g>>2]=0;a[g+4>>0]=8;a[g+168>>0]=33;a[g+5>>0]=1;a[g+170>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+124>>2]=e;c[g+264>>2]=g;e=g;d=f;i=(Fa(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2217396>>>24&255)+(i<<5)^i;i=(j>>>2)+(2217396>>>16&255)+(j<<5)^j;j=(i>>>2)+(2217396>>>8&255)+(i<<5)^i;i=(j>>>2)+180+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+164>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+216|0;c[g+228>>2]=j;c[g+232>>2]=j;a[g+171>>0]=0;j=g+140|0;c[g+160>>2]=0;c[g+236>>2]=0;c[g+244>>2]=0;c[g+260>>2]=0;c[g+268>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+169>>0]=5;j=g+128|0;e=g+176|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=432;c[g+132>>2]=0;c[g+248>>2]=200;c[g+252>>2]=200;c[g+256>>2]=200;e=g+396|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(xc(g,5,0)|0)){h=g;Ia=f;return h|0}Of(g);h=0;Ia=f;return h|0}function Nf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Pa[c[h>>2]&3](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))yc(b,4);Kc(b,1);k=Pa[c[h>>2]&3](c[i>>2]|0,0,0,320)|0;if(!k)yc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Pa[c[k>>2]&3](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);i=Pa[c[k>>2]&3](c[l>>2]|0,0,5,32)|0;if(!i)yc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2217420;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2217420;c[h+36>>2]=m;c[h+40>>2]=69;Xc(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2217396)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=Nc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Pa[c[s>>2]&3](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))yc(b,4);Kc(b,1);p=Pa[c[s>>2]&3](c[n>>2]|0,0,5,32)|0;if(!p)yc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2217420;a[t+7>>0]=0;c[t+20>>2]=2217420;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2217396)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=Nc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;fd(b,32);v=0;do{r=c[960+(v<<2)>>2]|0;f=xd(b,r,bu(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=xd(b,g,bu(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=bd(b,50442,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=34892;Ia=e;return}function Of(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Sc(a,c[e>>2]|0);Pf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Pa[c[f>>2]&3](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Pa[c[j>>2]&3](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&3](o,a,432,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Pa[c[k>>2]&3](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Pa[c[i>>2]&3](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&3](o,a,432,0)|0;return}function Pf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=i;n=f;o=h}else{h=k;k=j;while(1){j=h+5|0;a[j>>0]=a[j>>0]|8;c[g>>2]=c[h>>2];c[h>>2]=c[k>>2];c[k>>2]=h;j=c[g>>2]|0;if(!j)break;else{i=h;h=j;k=i}}k=c[e>>2]|0;h=k+92|0;m=c[h>>2]|0;n=k;o=h}if(!m){p=n;q=0}else{n=m;do{m=n+5|0;a[m>>0]=a[m>>0]&-65;m=c[e>>2]|0;h=m+92|0;k=c[h>>2]|0;c[h>>2]=c[k>>2];h=m+56|0;c[k>>2]=c[h>>2];c[h>>2]=k;h=k+5|0;k=a[h>>0]|0;a[h>>0]=k&-17;if((d[m+49>>0]|0)>=2)a[h>>0]=a[m+48>>0]&3|k&-88;n=c[o>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;o=n^3;k=a[p+50>>0]|0;p=k<<24>>24==2;m=n&3;n=p?255:184;h=p?64:m;i=p?64:0;if(!q){r=k;s=m;t=o}else{m=q;q=-3;k=g;while(1){if(!q)break;q=q+-1|0;g=m+5|0;p=d[g>>0]|0;if(!((p^3)&o)){c[k>>2]=c[m>>2];md(b,m);u=k}else{if(i&p|0)break;if((a[m+4>>0]|0)==8)nd(b,m);a[g>>0]=n&p|h;u=m}m=c[u>>2]|0;if(!m)break;else k=u}u=c[e>>2]|0;k=d[u+48>>0]|0;r=a[u+50>>0]|0;s=k&3;t=k^3}k=f+56|0;u=r<<24>>24==2;r=u?255:184;m=u?64:s;s=u?64:0;u=c[k>>2]|0;a:do if(u|0){h=u;n=-3;i=k;while(1){if(!n)break a;n=n+-1|0;o=h+5|0;q=d[o>>0]|0;if(!((q^3)&t)){c[i>>2]=c[h>>2];md(b,h);v=i}else{if(s&q|0)break a;if((a[h+4>>0]|0)==8)nd(b,h);a[o>>0]=r&q|m;v=h}h=c[v>>2]|0;if(!h)break;else i=v}}while(0);v=f+32|0;m=c[v>>2]|0;if((m|0)<=0)return;r=f+24|0;f=m;m=0;while(1){s=(c[r>>2]|0)+(m<<2)|0;t=c[e>>2]|0;k=d[t+48>>0]|0;u=k^3;i=(a[t+50>>0]|0)==2;t=i?255:184;h=i?64:k&3;k=i?64:0;i=c[s>>2]|0;if(!i)w=f;else{n=i;i=-3;q=s;while(1){if(!i)break;i=i+-1|0;s=n+5|0;o=d[s>>0]|0;if(!((o^3)&u)){c[q>>2]=c[n>>2];md(b,n);x=q}else{if(k&o|0)break;if((a[n+4>>0]|0)==8)nd(b,n);a[s>>0]=t&o|h;x=n}n=c[x>>2]|0;if(!n)break;else q=x}w=c[v>>2]|0}m=m+1|0;if((m|0)>=(w|0))break;else f=w}return}function Qf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2217396){Bf(a,1,49420)|0;g=c[e>>2]|0;h=(c[c[b>>2]>>2]|0)+8|0}else{g=f;h=d}d=h>>>0<g>>>0?h:2217396;h=c[d+4>>2]|0;switch(h&15){case 5:{i=(c[d>>2]|0)+8|0;break}case 7:{i=(c[d>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((h&15)<<2)|0}h=c[i>>2]|0;if(!h){c[g+4>>2]=0;c[e>>2]=g+8;return 1}else{c[g>>2]=h;c[g+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;Jf(a,1,49679)|0;return 1}return 0}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2217396)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2217396)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=63002;c[e+4>>2]=m;Bf(a,1,Td(a,49400,e)|0)|0}switch(k|0){case 0:case 5:break;default:Bf(a,2,49691)|0}if(Jf(a,1,49679)|0)Cf(a,49713,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;$d(a,1)|0;Ia=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0<k>>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;$d(a,1)|0;Ia=b;return 1}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2217396){Bf(a,1,49420)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2217396){Bf(a,2,49420)|0;a=c[c[b>>2]>>2]|0;j=a;k=c[f>>2]|0;l=a+16|0}else{j=h;k=i;l=g}g=j+8|0;j=g>>>0<k>>>0?g:2217396;g=l>>>0<k>>>0?l:2217396;if((j|0)!=2217396&(g|0)!=2217396?(c[j+4>>2]|0)==(c[g+4>>2]|0):0){l=(Tc(0,j,g)|0)!=0&1;m=c[f>>2]|0;n=l}else{m=k;n=0}c[m>>2]=n;c[m+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2217396)?(c[d+12>>2]&14|1|0)==5:0){h=g;i=e}else{Bf(a,1,49749)|0;h=c[f>>2]|0;i=(c[c[b>>2]>>2]|0)+8|0}b=i>>>0<h>>>0?i:2217396;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=rd(c[b>>2]|0)|0;break}default:j=0}c[h>>2]=j<<16;c[h+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1} 145 + function Fc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;f=Ia;Ia=Ia+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+36|0;p=e+116|0;q=e+12|0;r=e+8|0;s=e+38|0;t=e+24|0;u=e+32|0;v=e+28|0;w=m+4|0;x=c[n>>2]|0;a:while(1){y=c[c[x>>2]>>2]|0;z=y+12|0;A=c[(c[z>>2]|0)+8>>2]|0;B=x+24|0;C=x+28|0;D=x+4|0;E=x+4|0;F=x+4|0;G=x+4|0;H=x+4|0;I=x+4|0;J=x+4|0;K=c[x+24>>2]|0;b:while(1){L=c[C>>2]|0;c[C>>2]=L+4;M=c[L>>2]|0;L=c[554353]|0;N=c[8722]|0;do if((L|c[554354]|0)>(N|0)){if(!((L|0)>(N|0)|(b[o>>1]|0)==0)){c[554354]=0;O=K;break}c[p>>2]=1;P=c[n>>2]|0;Q=P+18|0;R=d[Q>>0]|0;if(!(R&128)){S=7;break a}a[Q>>0]=R&127;O=c[B>>2]|0}else O=K;while(0);c[554353]=L+2;N=M>>>6&255;T=O+(N<<3)|0;c:do switch(M&63){case 44:{S=231;break b;break}case 0:{c[554353]=L+1;R=M>>>23;c[T>>2]=c[O+(R<<3)>>2];c[O+(N<<3)+4>>2]=c[O+(R<<3)+4>>2];U=O;break}case 1:{c[554353]=L+1;R=M>>>14;c[T>>2]=c[A+(R<<3)>>2];c[O+(N<<3)+4>>2]=c[A+(R<<3)+4>>2];U=O;break}case 2:{R=c[C>>2]|0;c[C>>2]=R+4;V=(c[R>>2]|0)>>>6;c[T>>2]=c[A+(V<<3)>>2];c[O+(N<<3)+4>>2]=c[A+(V<<3)+4>>2];U=O;break}case 3:{c[T>>2]=M>>>23;c[O+(N<<3)+4>>2]=1;if(!(M&8372224))U=O;else{c[C>>2]=(c[C>>2]|0)+4;U=O}break}case 4:{V=M>>>23;R=T;while(1){c[R+4>>2]=0;if(!V){U=O;break}else{V=V+-1|0;R=R+8|0}}break}case 5:{R=c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0;c[T>>2]=c[R>>2];c[O+(N<<3)+4>>2]=c[R+4>>2];U=O;break}case 6:{R=M>>>14;Hc(e,c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0,(M&4194304|0)==0?O+((R&511)<<3)|0:A+((R&255)<<3)|0,T);U=c[B>>2]|0;break}case 7:{R=M>>>14;Hc(e,O+(M>>>23<<3)|0,(M&4194304|0)==0?O+((R&511)<<3)|0:A+((R&255)<<3)|0,T);U=c[B>>2]|0;break}case 8:{R=M>>>23;V=M>>>14;Ic(e,c[(c[y+16+(N<<2)>>2]|0)+8>>2]|0,(M|0)<0?A+((R&255)<<3)|0:O+(R<<3)|0,(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0);U=c[B>>2]|0;break}case 9:{V=c[y+16+(M>>>23<<2)>>2]|0;R=c[V+8>>2]|0;c[R>>2]=c[T>>2];W=O+(N<<3)+4|0;c[R+4>>2]=c[W>>2];if(((c[W>>2]&64|0)!=0?(W=c[T>>2]|0,(a[W+5>>0]&3)!=0):0)?(R=V+5|0,V=a[R>>0]|0,(V&4)!=0):0){X=c[q>>2]|0;if((d[X+49>>0]|0)<2){Jc(X,W);U=O;break c}else{a[R>>0]=a[X+48>>0]&3|V&-72;U=O;break c}}else U=O;break}case 10:{V=M>>>23;X=M>>>14;Ic(e,T,(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0,(M&4194304|0)==0?O+((X&511)<<3)|0:A+((X&255)<<3)|0);U=c[B>>2]|0;break}case 11:{X=M>>>23;V=M>>>14;R=V&511;W=c[q>>2]|0;Y=W+4|0;Z=Pa[c[W>>2]&3](c[Y>>2]|0,0,5,32)|0;if(!Z){if(!(a[W+51>>0]|0)){S=31;break a}Kc(e,1);_=Pa[c[W>>2]&3](c[Y>>2]|0,0,5,32)|0;if(!_){S=31;break a}else $=_}else $=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+32;Z=W+56|0;a[$+5>>0]=a[W+48>>0]&3;a[$+4>>0]=5;c[$>>2]=c[Z>>2];c[Z>>2]=$;c[$+8>>2]=0;a[$+6>>0]=-1;Z=$+12|0;c[Z>>2]=0;W=$+28|0;c[W>>2]=0;_=$+16|0;c[_>>2]=2217420;Y=$+7|0;a[Y>>0]=0;aa=$+20|0;c[aa>>2]=2217420;c[T>>2]=$;c[O+(N<<3)+4>>2]=69;if(R|X|0){ba=M>>>26&31;ca=(ba|0)==0?X:(X&7|8)<<ba+-1;ba=M>>>17&31;X=(ba|0)==0?R:(V&7|8)<<ba+-1;ba=c[W>>2]|0;V=a[Y>>0]|0;R=V&255;da=c[_>>2]|0;if((ba|0)<(ca|0)){if((ca+1|0)>>>0>536870911){S=35;break a}ea=c[Z>>2]|0;fa=ba<<3;ba=ca<<3;ga=c[q>>2]|0;ha=(ea|0)==0;ia=ga+4|0;ja=Pa[c[ga>>2]&3](c[ia>>2]|0,ea,fa,ba)|0;if((ba|0)!=0&(ja|0)==0){if(!(a[ga+51>>0]|0)){S=39;break a}Kc(e,1);ka=Pa[c[ga>>2]&3](c[ia>>2]|0,ea,fa,ba)|0;if(!ka){S=39;break a}else la=ka}else la=ja;ja=ga+12|0;c[ja>>2]=(ha?0:0-fa|0)+ba+(c[ja>>2]|0);c[Z>>2]=la;Z=c[W>>2]|0;if((Z|0)<(ca|0)){ja=Z;do{c[la+(ja<<3)+4>>2]=0;ja=ja+1|0}while((ja|0)!=(ca|0))}c[W>>2]=ca}if(!X){c[_>>2]=2217420;ma=2217420;na=0;oa=0}else{ja=X+-1|0;if(ja>>>0>255){Z=0;ba=ja;while(1){fa=Z+8|0;ha=ba>>>8;if(ba>>>0>65535){Z=fa;ba=ha}else{pa=fa;qa=ha;break}}}else{pa=0;qa=ja}ba=pa+(d[400+qa>>0]|0)|0;if((ba|0)>30){S=50;break a}Z=1<<ba;if((Z+1|0)>>>0>214748364){S=52;break a}X=20<<ba;ca=c[q>>2]|0;W=ca+4|0;ha=Pa[c[ca>>2]&3](c[W>>2]|0,0,0,X)|0;if(ba>>>0<30&(ha|0)==0){if(!(a[ca+51>>0]|0)){S=56;break a}Kc(e,1);fa=Pa[c[ca>>2]&3](c[W>>2]|0,0,0,X)|0;if(!fa){S=56;break a}else ra=fa}else ra=ha;ha=ca+12|0;c[ha>>2]=(c[ha>>2]|0)+X;c[_>>2]=ra;X=ra;ha=0;do{c[X+(ha*20|0)+16>>2]=0;c[X+(ha*20|0)+12>>2]=0;c[X+(ha*20|0)+4>>2]=0;ha=ha+1|0;X=c[_>>2]|0}while((ha|0)<(Z|0));ma=X;na=ba&255;oa=Z}a[Y>>0]=na;c[aa>>2]=ma+(oa*20|0);if(V<<24>>24!=31){ha=1<<R;do{_=ha;ha=ha+-1|0;ja=da+(ha*20|0)+4|0;if(c[ja>>2]|0){ca=da+(ha*20|0)+8|0;fa=Mc($,ca)|0;if((fa|0)==2217396)sa=Nc(e,$,ca)|0;else sa=fa;c[sa>>2]=c[da+(ha*20|0)>>2];c[sa+4>>2]=c[ja>>2]}}while((_|0)>1)}if((da|0)!=2217420){ha=20<<R;V=c[q>>2]|0;Pa[c[V>>2]&3](c[V+4>>2]|0,da,ha,0)|0;aa=V+12|0;c[aa>>2]=(c[aa>>2]|0)-((da|0)==0?0:ha)}}ha=c[q>>2]|0;aa=ha+12|0;V=c[aa>>2]|0;if((V|0)>0){c[r>>2]=T+8;if(!(a[ha+51>>0]|0)){Y=ha+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[aa>>2]=-1600}else Oc(e);c[r>>2]=c[I>>2]}U=c[B>>2]|0;break}case 12:{aa=M>>>23;Y=O+(aa<<3)|0;V=T+8|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[O+(aa<<3)+4>>2];aa=M>>>14;Hc(e,Y,(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0,T);U=c[B>>2]|0;break}case 13:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=(c[V>>2]|0)+(c[Y>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,6);U=c[B>>2]|0;break}case 14:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=(c[Y>>2]|0)-(c[aa>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,7);U=c[B>>2]|0;break}case 15:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=rl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,8);U=c[B>>2]|0;break}case 16:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=sl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,9);U=c[B>>2]|0;break}case 17:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=tl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,10);U=c[B>>2]|0;break}case 18:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=ul(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,11);U=c[B>>2]|0;break}case 19:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=c[V>>2]&c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,12);U=c[B>>2]|0;break}case 20:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=c[aa>>2]|c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,13);U=c[B>>2]|0;break}case 21:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=c[V>>2]^c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,14);U=c[B>>2]|0;break}case 22:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=El(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,15);U=c[B>>2]|0;break}case 23:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=Fl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,16);U=c[B>>2]|0;break}case 24:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=Dl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,17);U=c[B>>2]|0;break}case 25:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=Bl(c[Y>>2]|0,c[V>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,18);U=c[B>>2]|0;break}case 26:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=Cl(c[Y>>2]|0,c[aa>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,19);U=c[B>>2]|0;break}case 27:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=~c[Y>>2];c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,20);U=c[B>>2]|0;break}case 28:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=(sl(c[Y>>2]|0,c[aa>>2]|0)|0)&-65536;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,21);U=c[B>>2]|0;break}case 29:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=hl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,22);U=c[B>>2]|0;break}case 30:{c[554353]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:O+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?O+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[T>>2]=gl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,aa,23);U=c[B>>2]|0;break}case 31:{c[554353]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[T>>2]=fl(c[Y>>2]|0)|0;c[O+(N<<3)+4>>2]=3;U=O;break c}Pc(e,T,Y,V,24);U=c[B>>2]|0;break}case 32:{V=M>>>23;Y=O+(V<<3)|0;c[554353]=L+1;if((c[O+(V<<3)+4>>2]|0)==3){c[T>>2]=0-(c[Y>>2]|0);c[O+(N<<3)+4>>2]=3;U=O;break c}else{Pc(e,T,Y,Y,25);U=c[B>>2]|0;break c}break}case 33:{Y=M>>>23;switch(c[O+(Y<<3)+4>>2]|0){case 0:{ta=1;break}case 1:{ta=(c[O+(Y<<3)>>2]|0)==0;break}default:ta=0}c[T>>2]=ta&1;c[O+(N<<3)+4>>2]=1;U=O;break}case 34:{Qc(e,T,O+(M>>>23<<3)|0);U=c[B>>2]|0;break}case 35:{Y=M>>>23;V=M>>>14&511;c[r>>2]=O+(V<<3)+8;Rc(e,1-Y+V|0);V=c[B>>2]|0;aa=V+(N<<3)|0;ha=V+(Y<<3)|0;c[aa>>2]=c[ha>>2];c[V+(N<<3)+4>>2]=c[V+(Y<<3)+4>>2];V=c[q>>2]|0;Z=V+12|0;ba=c[Z>>2]|0;if((ba|0)>0){c[r>>2]=N>>>0<Y>>>0?ha:aa+8|0;if(!(a[V+51>>0]|0)){aa=V+8|0;c[aa>>2]=ba+1600+(c[aa>>2]|0);c[Z>>2]=-1600}else Oc(e);Z=c[E>>2]|0;c[r>>2]=Z;ua=Z}else ua=c[D>>2]|0;Z=c[B>>2]|0;c[r>>2]=ua;U=Z;break}case 36:{if(N|0)Sc(e,(c[B>>2]|0)+(N<<3)+-8|0);c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=O;break}case 37:{Z=M>>>23;aa=(M|0)<0?A+((Z&255)<<3)|0:O+(Z<<3)|0;Z=M>>>14;ba=(M&4194304|0)==0?O+((Z&511)<<3)|0:A+((Z&255)<<3)|0;if((c[aa+4>>2]|0)==(c[ba+4>>2]|0))va=(Tc(e,aa,ba)|0)!=0;else va=0;ba=c[C>>2]|0;if((N|0)==(va&1|0)){aa=c[ba>>2]|0;Z=aa>>>6&255;if(!Z)wa=ba;else{Sc(e,(c[B>>2]|0)+(Z<<3)+-8|0);wa=c[C>>2]|0}xa=wa+((aa>>>14)+-131070<<2)|0}else xa=ba+4|0;c[C>>2]=xa;U=c[B>>2]|0;break}case 38:{ba=M>>>23;aa=M>>>14;Z=(Uc(e,(M|0)<0?A+((ba&255)<<3)|0:O+(ba<<3)|0,(M&4194304|0)==0?O+((aa&511)<<3)|0:A+((aa&255)<<3)|0)|0)==(N|0);aa=c[C>>2]|0;if(Z){Z=c[aa>>2]|0;ba=Z>>>6&255;if(!ba)ya=aa;else{Sc(e,(c[B>>2]|0)+(ba<<3)+-8|0);ya=c[C>>2]|0}za=ya+((Z>>>14)+-131070<<2)|0}else za=aa+4|0;c[C>>2]=za;U=c[B>>2]|0;break}case 39:{aa=M>>>23;Z=M>>>14;ba=(Vc(e,(M|0)<0?A+((aa&255)<<3)|0:O+(aa<<3)|0,(M&4194304|0)==0?O+((Z&511)<<3)|0:A+((Z&255)<<3)|0)|0)==(N|0);Z=c[C>>2]|0;if(ba){ba=c[Z>>2]|0;aa=ba>>>6&255;if(!aa)Aa=Z;else{Sc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Aa=c[C>>2]|0}Ba=Aa+((ba>>>14)+-131070<<2)|0}else Ba=Z+4|0;c[C>>2]=Ba;U=c[B>>2]|0;break}case 40:{Z=c[O+(N<<3)+4>>2]|0;ba=(Z|0)==0;if(!(M&8372224)){if(!ba)if(!((Z|0)==1?!(c[T>>2]|0):0))S=197}else if(!ba){if((Z|0)==1?(c[T>>2]|0)==0:0)S=197}else S=197;if((S|0)==197){S=0;c[C>>2]=(c[C>>2]|0)+4;U=O;break c}Z=c[C>>2]|0;ba=c[Z>>2]|0;aa=ba>>>6&255;if(!aa)Ca=Z;else{Sc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Ca=c[C>>2]|0}c[C>>2]=Ca+((ba>>>14)+-131070<<2);U=O;break}case 41:{ba=M>>>23;aa=O+(ba<<3)|0;Z=c[O+(ba<<3)+4>>2]|0;ba=(Z|0)==0;if(!(M&8372224))if(!ba)if((Z|0)==1?(c[aa>>2]|0)==0:0)S=209;else S=208;else S=209;else if(!ba)if((Z|0)==1?(c[aa>>2]|0)==0:0)S=208;else S=209;else S=208;if((S|0)==208){S=0;Da=(c[C>>2]|0)+4|0}else if((S|0)==209){S=0;c[T>>2]=c[aa>>2];c[O+(N<<3)+4>>2]=Z;Z=c[C>>2]|0;aa=c[Z>>2]|0;ba=aa>>>6&255;if(!ba)Ea=Z;else{Sc(e,(c[B>>2]|0)+(ba<<3)+-8|0);Ea=c[C>>2]|0}Da=Ea+((aa>>>14)+-131070<<2)|0}c[C>>2]=Da;U=O;break}case 42:{aa=M>>>23;ba=M>>>14&511;if(aa|0)c[r>>2]=T+(aa<<3);if(!(Ec(e,T,ba+-1|0)|0)){S=219;break b}if(ba|0)c[r>>2]=c[G>>2];U=c[B>>2]|0;break}case 43:{ba=M>>>23;if(ba|0)c[r>>2]=T+(ba<<3);if(!(Ec(e,T,-1)|0)){S=224;break b}U=c[B>>2]|0;break}case 45:{ba=T+16|0;aa=c[ba>>2]|0;Z=(c[T>>2]|0)+aa|0;V=c[T+8>>2]|0;if(!((aa|0)<1|(Z|0)>(V|0))){c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);c[T>>2]=Z;c[O+(N<<3)+4>>2]=3;ha=T+24|0;c[ha>>2]=Z;c[ha+4>>2]=3;if((Z|0)<0|(aa|0)<(2147483647-Z|0)){U=O;break c}c[ba>>2]=0;c[ba+4>>2]=3;U=O;break c}if(!((aa|0)>-1|(Z|0)<(V|0))?(c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2),c[T>>2]=Z,c[O+(N<<3)+4>>2]=3,V=T+24|0,c[V>>2]=Z,c[V+4>>2]=3,(Z|0)<0&(aa|0)<(-2147483648-Z|0)):0){c[ba>>2]=0;c[ba+4>>2]=3;U=O}else U=O;break}case 46:{ba=T+8|0;Z=T+16|0;aa=O+(N<<3)+4|0;V=c[aa>>2]|0;if((V|0)!=3){if((V&15|0)!=4){S=255;break a}V=c[T>>2]|0;if(!(Wc(V+16|0,c[V+12>>2]|0,m)|0)){S=255;break a}c[T>>2]=c[m>>2];c[aa>>2]=3}V=ba+4|0;ha=c[V>>2]|0;if((ha|0)!=3){if((ha&15|0)!=4){S=260;break a}ha=c[ba>>2]|0;if(!(Wc(ha+16|0,c[ha+12>>2]|0,m)|0)){S=260;break a}c[ba>>2]=c[m>>2];c[V>>2]=3}V=Z+4|0;ba=c[V>>2]|0;if((ba|0)==3)Fa=Z;else{if((ba&15|0)!=4){S=266;break a}ba=c[Z>>2]|0;if(!(Wc(ba+16|0,c[ba+12>>2]|0,m)|0)){S=266;break a}c[Z>>2]=c[m>>2];c[V>>2]=3;Fa=Z}c[T>>2]=(c[T>>2]|0)-(c[Fa>>2]|0);c[aa>>2]=3;c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=O;break}case 47:{aa=T+24|0;Z=T+16|0;V=aa+16|0;c[V>>2]=c[Z>>2];c[V+4>>2]=c[Z+4>>2];Z=T+8|0;V=aa+8|0;c[V>>2]=c[Z>>2];c[V+4>>2]=c[Z+4>>2];c[aa>>2]=c[T>>2];c[aa+4>>2]=c[O+(N<<3)+4>>2];c[r>>2]=aa+24;Z=M>>>14&511;V=(b[s>>1]|0)+1<<16>>16;b[s>>1]=V;if((V&65535)>199){if(V<<16>>16==200){S=270;break a}if((V&65535)>224){S=272;break a}}if(!(Ec(e,aa,Z)|0))Fc(e);b[s>>1]=(b[s>>1]|0)+-1<<16>>16;Z=c[B>>2]|0;c[r>>2]=c[F>>2];aa=c[C>>2]|0;c[C>>2]=aa+4;V=c[aa>>2]|0;Ga=Z;Ha=V;Ja=Z+((V>>>6&255)<<3)|0;S=276;break}case 48:{Ga=O;Ha=M;Ja=T;S=276;break}case 49:{V=M>>>23;Z=M>>>14&511;if(!V)Ka=((c[r>>2]|0)-T>>3)+-1|0;else Ka=V;if(!Z){V=c[C>>2]|0;c[C>>2]=V+4;La=(c[V>>2]|0)>>>6}else La=Z;Z=c[T>>2]|0;V=Ka+-50+(La*50|0)|0;aa=Z+28|0;if((V|0)>(c[aa>>2]|0)){if((c[Z+16>>2]|0)==2217420)Ma=0;else Ma=1<<d[Z+7>>0];Xc(e,Z,V,Ma)}if((Ka|0)>0){ba=Z+12|0;ha=Z+16|0;Y=Z+7|0;X=Z+5|0;_=Z+24|0;ja=V;V=Ka;while(1){fa=T+(V<<3)|0;ca=ja;ja=ja+-1|0;d:do if(ja>>>0<(c[aa>>2]|0)>>>0){Na=(c[ba>>2]|0)+(ja<<3)|0;S=295}else{W=ca<<16;ga=0-W|0;ka=(c[ha>>2]|0)+(((((W|0)<0?((W|0)==(ga|0)?0:ga):W)|0)%((1<<d[Y>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ka+12>>2]|0)==3?(c[ka+8>>2]|0)==(W|0):0)break;ga=c[ka+16>>2]|0;if(!ga){Oa=W;S=297;break d}else ka=ga}Na=ka;S=295}while(0);if((S|0)==295){S=0;if((Na|0)==2217396){Oa=ca<<16;S=297}else Qa=Na}if((S|0)==297){S=0;c[m>>2]=Oa;c[w>>2]=3;Qa=Nc(e,Z,m)|0}c[Qa>>2]=c[fa>>2];W=fa+4|0;c[Qa+4>>2]=c[W>>2];if((c[W>>2]&64|0?a[(c[fa>>2]|0)+5>>0]&3:0)?(W=a[X>>0]|0,W&4):0){ga=c[q>>2]|0;a[X>>0]=W&-5;W=ga+76|0;c[_>>2]=c[W>>2];c[W>>2]=Z}if((V|0)<=1)break;else V=V+-1|0}}c[r>>2]=c[J>>2];U=O;break}case 50:{V=c[(c[(c[z>>2]|0)+16>>2]|0)+(M>>>14<<2)>>2]|0;Z=V+32|0;_=c[Z>>2]|0;X=c[V+40>>2]|0;Y=c[V+28>>2]|0;e:do if(!_)S=312;else{if((X|0)>0){ha=_+16|0;ja=0;do{ba=d[Y+(ja<<3)+5>>0]|0;if(!(a[Y+(ja<<3)+4>>0]|0))Ra=c[(c[y+16+(ba<<2)>>2]|0)+8>>2]|0;else Ra=O+(ba<<3)|0;if((c[(c[ha+(ja<<2)>>2]|0)+8>>2]|0)!=(Ra|0)){S=312;break e}ja=ja+1|0}while((ja|0)<(X|0))}c[T>>2]=_;c[O+(N<<3)+4>>2]=70}while(0);if((S|0)==312){S=0;_=Yc(e,X)|0;c[_+12>>2]=V;c[T>>2]=_;c[O+(N<<3)+4>>2]=70;if((X|0)>0){ja=_+16|0;ha=0;do{fa=d[Y+(ha<<3)+5>>0]|0;if(!(a[Y+(ha<<3)+4>>0]|0))c[ja+(ha<<2)>>2]=c[y+16+(fa<<2)>>2];else c[ja+(ha<<2)>>2]=Zc(e,O+(fa<<3)|0)|0;ha=ha+1|0}while((ha|0)!=(X|0))}X=V+5|0;ha=a[X>>0]|0;do if(ha&4){if(c[Z>>2]|0){ja=c[q>>2]|0;a[X>>0]=ha&-5;Y=ja+76|0;c[V+72>>2]=c[Y>>2];c[Y>>2]=V;break}if(a[_+5>>0]&3){Y=c[q>>2]|0;if((d[Y+49>>0]|0)<2){Jc(Y,_);break}else{a[X>>0]=a[Y+48>>0]&3|ha&-72;break}}}while(0);c[Z>>2]=_}ha=c[q>>2]|0;X=ha+12|0;V=c[X>>2]|0;if((V|0)>0){c[r>>2]=T+8;if(!(a[ha+51>>0]|0)){Y=ha+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[X>>2]=-1600}else Oc(e);c[r>>2]=c[H>>2]}U=c[B>>2]|0;break}case 51:{X=M>>>23;Y=X+-1|0;V=(O-(c[x>>2]|0)>>3)-(d[(c[z>>2]|0)+76>>0]|0)|0;ha=V+-1|0;if(!X){X=c[r>>2]|0;if(((c[t>>2]|0)-X>>3|0)<(V|0)){ja=c[u>>2]|0;if((ja|0)>1e6){S=336;break a}fa=V+4+(X-(c[v>>2]|0)>>3)|0;X=ja<<1;ja=(X|0)<1e6?X:1e6;X=(ja|0)<(fa|0)?fa:ja;if((X|0)>1e6){S=338;break a}zc(e,X)}X=c[B>>2]|0;ja=X+(N<<3)|0;c[r>>2]=ja+(ha<<3);Sa=ha;Ta=X;Ua=ja}else{Sa=Y;Ta=O;Ua=T}if((Sa|0)>0){Y=Ta+(1-V<<3)|0;V=0;do{if((V|0)<(ha|0)){ja=Y+(V<<3)|0;c[Ua+(V<<3)>>2]=c[ja>>2];Va=c[ja+4>>2]|0}else Va=0;c[Ua+(V<<3)+4>>2]=Va;V=V+1|0}while((V|0)!=(Sa|0));U=Ta}else U=Ta;break}default:U=O}while(0);if((S|0)==276){S=0;N=c[Ja+12>>2]|0;if(!N)U=Ga;else{c[Ja>>2]=c[Ja+8>>2];c[Ja+4>>2]=N;c[C>>2]=(c[C>>2]|0)+((Ha>>>14)+-131071<<2);U=Ga}}K=U}if((S|0)==219){S=0;K=c[n>>2]|0;C=K+18|0;a[C>>0]=a[C>>0]|4;Wa=K}else if((S|0)==224){S=0;K=c[n>>2]|0;C=c[K+8>>2]|0;B=c[K>>2]|0;H=c[C>>2]|0;y=K+24|0;J=(c[y>>2]|0)+(d[(c[(c[B>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[z>>2]|0)+56>>2]|0)>0)Sc(e,c[C+24>>2]|0);if(B>>>0<J>>>0){F=B;G=0;do{c[H+(G<<3)>>2]=c[F>>2];c[H+(G<<3)+4>>2]=c[B+(G<<3)+4>>2];G=G+1|0;F=B+(G<<3)|0}while(F>>>0<J>>>0)}J=B;c[C+24>>2]=H+((c[y>>2]|0)-J>>3<<3);F=H+((c[r>>2]|0)-J>>3<<3)|0;c[r>>2]=F;c[C+4>>2]=F;c[C+28>>2]=c[K+28>>2];F=C+18|0;a[F>>0]=a[F>>0]|64;c[n>>2]=C;Wa=C}else if((S|0)==231){S=0;F=M>>>23;if(F|0)c[r>>2]=T+(F<<3)+-8;if((c[(c[z>>2]|0)+56>>2]|0)>0)Sc(e,O);F=c[n>>2]|0;J=c[F>>2]|0;G=b[F+16>>1]|0;c[n>>2]=c[F+8>>2];f:do if(G<<16>>16){F=T;A=G<<16>>16;D=J;while(1){if(F>>>0>=(c[r>>2]|0)>>>0)break;E=D+8|0;c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2];I=A+-1|0;if(!I){Xa=E;break f}else{F=F+8|0;A=I;D=E}}if((A|0)>0){F=A;E=D;while(1){I=E+8|0;c[E+4>>2]=0;if((F|0)>1){F=F+-1|0;E=I}else{Xa=I;break}}}else Xa=D}else Xa=J;while(0);c[r>>2]=Xa;if(!(a[x+18>>0]&4)){S=347;break}J=c[n>>2]|0;if(G<<16>>16==-1)Wa=J;else{c[r>>2]=c[J+4>>2];Wa=J}}x=Wa}switch(S|0){case 7:{Gc(e,0,0,0)|0;S=P+28|0;c[e+20>>2]=c[S>>2];c[S>>2]=(c[S>>2]|0)+-4;a[Q>>0]=a[Q>>0]|-128;c[P>>2]=(c[r>>2]|0)+-8;yc(e,1);break}case 31:{yc(e,4);break}case 35:{Lc(e);break}case 39:{yc(e,4);break}case 50:{Ac(e,47216,l);break}case 52:{Lc(e);break}case 56:{yc(e,4);break}case 255:{Ac(e,47231,k);break}case 260:{Ac(e,47268,j);break}case 266:{Ac(e,47297,i);break}case 270:{Ac(e,47199,h);break}case 272:{yc(e,6);break}case 336:{yc(e,6);break}case 338:{zc(e,1000200);Ac(e,47184,g);break}case 347:{Ia=f;return}}}function Gc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Ia;Ia=Ia+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Ac(d,47790,i);else Ac(d,47748,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Ia=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;yc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;yc(d,1);return 0}function Hc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=i+12|0;m=e+12|0;n=c[f+4>>2]|0;o=0;p=f;while(1){if((n|0)==69){f=c[p>>2]|0;q=Mc(f,g)|0;if(c[q+4>>2]|0)break;r=c[f+8>>2]|0;if(!r)break;s=a[r+6>>0]|0;if(s&1)break;f=c[(c[m>>2]|0)+156>>2]|0;t=(c[r+16>>2]|0)+(((1<<d[r+7>>0])+-1&c[f+8>>2])*20|0)|0;while(1){if((c[t+12>>2]|0)==68?(c[t+8>>2]|0)==(f|0):0){u=10;break}v=c[t+16>>2]|0;if(!v){w=2217396;break}else t=v}if((u|0)==10){u=0;w=t}f=w+4|0;v=c[f>>2]|0;if(!v){u=13;break}if(!w)break;else{x=v;y=w;z=f}}else{f=n&15;if((f|0)==4){u=17;break}switch(n&15){case 5:{A=(c[p>>2]|0)+8|0;break}case 7:{A=(c[p>>2]|0)+8|0;break}default:A=(c[m>>2]|0)+276+(f<<2)|0}f=c[A>>2]|0;a:do if(!f)B=2217396;else{v=c[(c[m>>2]|0)+156>>2]|0;C=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[v+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(v|0):0)break;D=c[C+16>>2]|0;if(!D){B=2217396;break a}else C=D}B=C}while(0);f=B+4|0;t=c[f>>2]|0;if(!t){u=40;break}else{x=t;y=B;z=f}}o=o+1|0;if((x&15|0)==6){u=42;break}if(o>>>0>=100){u=54;break}else{n=x;p=y}}if((u|0)==13)a[r+6>>0]=s|1;else if((u|0)==17){s=c[p>>2]|0;r=s+16|0;x=c[s+12>>2]|0;s=c[g+4>>2]|0;do if((s|0)!=3){if((s&15|0)==4?(n=c[g>>2]|0,Wc(n+16|0,c[n+12>>2]|0,l)|0):0){E=l;u=22;break}}else{E=g;u=22}while(0);if((u|0)==22?(l=c[E>>2]|0,E=((l|0)<0?x+1|0:0)+(l>>16)|0,l=E+-1|0,(E|0)>0&l>>>0<x>>>0):0){x=c[m>>2]|0;m=x+12|0;E=c[m>>2]|0;do if((E|0)>0)if(!(a[x+51>>0]|0)){s=x+8|0;c[s>>2]=E+1600+(c[s>>2]|0);c[m>>2]=-1600;break}else{Oc(e);break}while(0);m=bd(e,r+l|0,1)|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;Ia=i;return}c[h>>2]=0;c[h+4>>2]=0;Ia=i;return}else if((u|0)==40)dd(e,p,47440);else if((u|0)==42){m=e+28|0;l=h-(c[m>>2]|0)|0;r=e+8|0;E=c[r>>2]|0;c[r>>2]=E+8;c[E>>2]=c[y>>2];c[E+4>>2]=c[z>>2];z=c[r>>2]|0;c[r>>2]=z+8;c[z>>2]=c[p>>2];c[z+4>>2]=c[p+4>>2];p=c[r>>2]|0;c[r>>2]=p+8;c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];g=(c[r>>2]|0)+-24|0;p=a[(c[e+16>>2]|0)+18>>0]&1;z=e+38|0;E=(b[z>>1]|0)+1<<16>>16;b[z>>1]=E;if((E&65535)>199){if(E<<16>>16==200)Ac(e,47199,k);if((E&65535)>224)yc(e,6)}E=p<<24>>24!=0;if(!E){p=e+36|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}if(!(Ec(e,g,1)|0))Fc(e);if(!E){E=e+36|0;b[E>>1]=(b[E>>1]|0)+-1<<16>>16}b[z>>1]=(b[z>>1]|0)+-1<<16>>16;z=(c[m>>2]|0)+l|0;l=c[r>>2]|0;m=l+-8|0;c[r>>2]=m;c[z>>2]=c[m>>2];c[z+4>>2]=c[l+-4>>2];Ia=i;return}else if((u|0)==54)Ac(e,47731,j);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];Ia=i;return}function Ic(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=e+12|0;m=c[f+4>>2]|0;n=0;o=f;while(1){if((m|0)==69){p=c[o>>2]|0;q=Mc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2217396;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=v;y=w;z=f}}else{switch(m&15){case 5:{A=(c[o>>2]|0)+8|0;break}case 7:{A=(c[o>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((m&15)<<2)|0}f=c[A>>2]|0;a:do if(!f)B=2217396;else{v=c[(c[l>>2]|0)+160>>2]|0;C=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&c[v+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(v|0):0)break;D=c[C+16>>2]|0;if(!D){B=2217396;break a}else C=D}B=C}while(0);f=B+4|0;u=c[f>>2]|0;if(!u){r=33;break}else{x=u;y=B;z=f}}n=n+1|0;if((x&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=y}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)dd(e,o,47440);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[y>>2];c[s+4>>2]=c[z>>2];z=c[t>>2]|0;c[t>>2]=z+8;c[z>>2]=c[o>>2];c[z+4>>2]=c[o+4>>2];o=c[t>>2]|0;c[t>>2]=o+8;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];o=c[t>>2]|0;c[t>>2]=o+8;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];o=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;z=e+38|0;s=(b[z>>1]|0)+1<<16>>16;b[z>>1]=s;if((s&65535)>199){if(s<<16>>16==200)Ac(e,47199,k);if((s&65535)>224)yc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(Ec(e,o,0)|0))Fc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[z>>1]=(b[z>>1]|0)+-1<<16>>16;Ia=i;return}else if((r|0)==47)Ac(e,47714,j);if((r|0)==15)if((q|0)==2217396){E=Nc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Ia=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ia=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ia=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Ia=i;return}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)Jc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)Jc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){Jc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function Kc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=k;q=n?255:184;r=n?64:e&3;s=n?64:0;t=e;while(1){u=t^3;v=m;w=1;x=l;while(1){if(!w)break;w=w+-1|0;y=v+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[x>>2]=c[v>>2];md(b,v);A=x}else{if(s&z|0){p=0;break a}if((a[v+4>>0]|0)==8)nd(b,v);a[y>>0]=q&z|r;A=v}v=c[A>>2]|0;if(!v){p=0;break a}else x=A}if((x|0)!=(l|0)){p=x;break a}v=c[f>>2]|0;u=d[v+48>>0]|0;w=(a[v+50>>0]|0)==2;m=c[l>>2]|0;if(!m){p=0;break}else{q=w?255:184;r=w?64:u&3;s=w?64:0;t=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;e=A^3;n=(a[l+50>>0]|0)==2;l=n?255:184;k=n?64:A&3;A=n?64:0;n=c[p>>2]|0;if(!n){C=0;break}t=n;n=1;s=p;while(1){if(!n)break;n=n+-1|0;r=t+5|0;q=d[r>>0]|0;if(!((q^3)&e)){c[s>>2]=c[t>>2];md(b,t);D=s}else{if(A&q|0){C=0;break b}if((a[t+4>>0]|0)==8)nd(b,t);a[r>>0]=l&q|k;D=t}t=c[D>>2]|0;if(!t){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=5;F=C}else{do gd(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=a[C>>0]|0;F=C}if(!(1<<(E&255)&-33)){do gd(b)|0;while(!(1<<d[F>>0]&-33|0));C=(c[f>>2]|0)+49|0;G=a[C>>0]|0;H=C}else{G=E;H=F}if(G<<24>>24!=5)do gd(b)|0;while((a[H>>0]|0)!=5);if(i<<24>>24==2?(H=(c[f>>2]|0)+49|0,a[H>>0]|0):0)do gd(b)|0;while((a[H>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;H=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(H|0)/100|0;G=c[g+128>>2]|0;g=B(b,0-G|0)|0;F=(G|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+H;if(j)return;j=(c[f>>2]|0)+92|0;H=c[j>>2]|0;if(!H)return;F=H;do{H=F+5|0;a[H>>0]=a[H>>0]&-65;H=c[f>>2]|0;h=H+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=H+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[H+49>>0]|0)>=2)a[h>>0]=a[H+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function Lc(a){a=a|0;var b=0;b=Ia;Ia=Ia+16|0;Ac(a,47675,b)}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2217396;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2217396;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2217396;return j|0}default:{}}g=vd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Tc(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2217396;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Ia;Ia=Ia+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))Ac(b,47656,g+128|0);j=vd(e,f)|0;k=j+4|0;a:do if((j|0)==2217420|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=vd(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=0;q=1;t=0;u=1;while(1){if((u|0)>(m|0))if((q|0)>(m|0)){v=o;break}else w=m;else w=u;if((q|0)>(w|0)){x=q;y=0}else{z=c[l>>2]|0;A=q;B=0;while(1){C=B+((c[z+(A+-1<<3)+4>>2]|0)!=0&1)|0;D=A+1|0;if((A|0)<(w|0)){A=D;B=C}else{x=D;y=C;break}}}B=h+(t<<2)|0;c[B>>2]=(c[B>>2]|0)+y;B=y+o|0;t=t+1|0;if(t>>>0>=31){v=B;break}else{o=B;q=x;u=u<<1}}u=0;q=1<<(d[e+7>>0]|0);o=0;while(1){q=q+-1|0;if(!(c[n+(q*20|0)+4>>2]|0)){E=u;F=o}else{if(((c[n+(q*20|0)+12>>2]|0)==3?(t=c[n+(q*20|0)+8>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(l=(t>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){t=0;m=l;while(1){B=t+8|0;A=m>>>8;if(m>>>0>65535){t=B;m=A}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=I+u|0;F=o+1|0}if(!q)break;else{u=E;o=F}}o=E+v|0;if(((c[i>>2]|0)==3?(u=c[f>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(q=(u>>>16)+-1|0,q>>>0<32767):0){if(q>>>0>255){u=0;n=q;while(1){m=u+8|0;t=n>>>8;if(n>>>0>65535){u=m;n=t}else{J=m;K=t;break}}}else{J=0;K=q}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=o+L|0;c:do if((n|0)>0){u=0;t=0;m=0;A=0;B=0;z=1;while(1){r=c[h+(m<<2)>>2]|0;C=(r|0)>0;D=r+u|0;u=C?D:u;r=C&(D|0)>(t|0);C=r?D:B;D=r?z:A;if((u|0)==(n|0)){M=D;N=C;break c}t=z&2147483647;if((t|0)>=(n|0)){M=D;N=C;break}else{m=m+1|0;A=D;B=C;z=z<<1}}}else{M=0;N=0}while(0);Xc(b,e,M,v+1+F-N|0);n=Mc(e,f)|0;if((n|0)!=2217396){O=n;Ia=g;return O|0}O=Nc(b,e,f)|0;Ia=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Ia=g;return O|0}function Oc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){Kc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=f+49|0;m=j;n=k;o=k;p=i}else{i=f+49|0;if((a[i>>0]|0)!=5)do gd(b)|0;while((a[i>>0]|0)!=5);a[i>>0]=0;k=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[k>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=i;m=j;n=q;o=r?0:h;p=k}c[g>>2]=o;k=(n|0)/100|0;r=c[f+128>>2]|0;q=B(k,0-r|0)|0;j=(r|0)<(2147483644/(k|0)|0|0)?q:-2147483644;c[p>>2]=0-j;c[m>>2]=j+n;s=l}else{j=f+12|0;q=c[f+136>>2]|0;k=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;r=B(k,q)|0;t=f+49|0;u=(q|0)<(2147483644/(k>>>0)|0|0)?r:2147483644;do{u=u-(gd(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(k|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;i=f+8|0;r=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?r:-2147483644;r=(c[j>>2]|0)+(c[i>>2]|0)+q|0;c[i>>2]=0-q;c[j>>2]=r;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;l=b+92|0;n=c[l>>2]|0;c[l>>2]=c[n>>2];l=b+56|0;c[n>>2]=c[l>>2];c[l>>2]=n;l=n+5|0;n=a[l>>0]|0;a[l>>0]=n&-17;if((d[b+49>>0]|0)>=2)a[l>>0]=a[b+48>>0]&3|n&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function Pc(a,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=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Wc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Wc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=sd(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Ia=g;return}while(0);if(!(_c(a,d,e,b,f)|0))td(a,d,e);else{Ia=g;return}}function Qc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Ia;Ia=Ia+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2217396;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(rd(l)|0)<<16;c[f+4>>2]=3;Ia=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ia=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2217396;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2217396;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))dd(e,g,47620);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)Ac(e,47199,i);if((w&65535)>224)yc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(Ec(e,j,1)|0))Fc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Ia=h;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=c[h>>2]|0;k=d;a:while(1){l=j+-16|0;d=j+-12|0;m=c[d>>2]|0;n=j+-8|0;do if((m|0)==3|(m&15|0)==4){o=j+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=m;t=q;u=p}else{if((p|0)!=3){v=16;break}p=ad(g,c[n>>2]|0)|0;if(p>>>0<41)w=bd(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Pa[c[q>>2]&3](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}Kc(b,1);B=Pa[c[q>>2]&3](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Vv(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=c[d>>2]|0;t=w;u=p}p=c[r+12>>2]|0;o=(s&15|0)==4;if(!p){if(!((s|0)==3&(o^1))){D=2;break}x=ad(g,c[l>>2]|0)|0;if(x>>>0<41)E=bd(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Pa[c[y>>2]&3](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}Kc(b,1);F=Pa[c[y>>2]&3](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Vv(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[l>>2]=E;c[d>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[l>>2]|0)+12>>2]|0)==0:0){c[l>>2]=t;c[d>>2]=u;D=2;break}b:do if((k|0)>1){o=1;x=p;while(1){q=j+(0-o<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=ad(g,c[q>>2]|0)|0;if(y>>>0<41)K=bd(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Pa[c[z>>2]&3](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}Kc(b,1);N=Pa[c[z>>2]&3](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Vv(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-x|0)>>>0){v=49;break a}q=A+x|0;A=o+1|0;if((A|0)<(k|0)){o=A;x=q}else{I=A;J=q;break}}}else{I=1;J=p}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;q=c[o>>2]|0;if(q>>>0<J>>>0){A=J>>>0>32?J:32;if((A+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Pa[c[p>>2]&3](c[B>>2]|0,y,q,A)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}Kc(b,1);M=Pa[c[p>>2]&3](c[B>>2]|0,y,q,A)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-q|0)+A+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=A;Q=P}else Q=c[x>>2]|0;x=I;A=0;while(1){o=c[j+(0-x<<3)>>2]|0;z=c[o+12>>2]|0;Vv(Q+A|0,o+16|0,z|0)|0;c[554353]=(c[554353]|0)+(z>>>5);A=z+A|0;if((x|0)<=1)break;else x=x+-1|0}x=0-I|0;z=j+(x<<3)|0;if(A>>>0<41)R=bd(b,Q,A)|0;else{if((A+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;q=c[o+44>>2]|0;F=A+17|0;p=o+4|0;M=Pa[c[o>>2]&3](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}Kc(b,1);y=Pa[c[o>>2]&3](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=A;c[S+8>>2]=q;a[S+6>>0]=0;q=S+16|0;Vv(q|0,Q|0,A|0)|0;a[q+A>>0]=0;R=S}c[z>>2]=R;c[j+(x<<3)+4>>2]=(a[R+4>>0]|64)&255;D=I}else v=16;while(0);if((v|0)==16){v=0;if(!(_c(b,l,n,l,28)|0)){v=17;break}else D=2}k=k+1-D|0;j=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=j;if((k|0)<=1){v=73;break}}switch(v|0){case 9:{Lc(b);break}case 13:{yc(b,4);break}case 17:{cd(b,l,n);break}case 23:{Lc(b);break}case 27:{yc(b,4);break}case 41:{Lc(b);break}case 45:{yc(b,4);break}case 49:{Ac(b,47397,f);break}case 54:{Lc(b);break}case 58:{yc(b,4);break}case 65:{Lc(b);break}case 69:{yc(b,4);break}case 73:{Ia=e;return}}}function Sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0<e>>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)Jc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Pa[c[s>>2]&3](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function Tc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Ia;Ia=Ia+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 54:case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(tt(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2217396;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2217396;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Tc(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2217396;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2217396;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Tc(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)Ac(e,47199,i);if((p&65535)>224)yc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(Ec(e,E,1)|0))Fc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Ia=h;return k&1|0}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=xv(h,i)|0;a:do if(!j){k=h;l=c[e+12>>2]|0;m=c[g+12>>2]|0;n=i;while(1){o=bu(k)|0;if((o|0)==(m|0)){p=0;break a}q=o+1|0;if((o|0)==(l|0)){p=-1;break a}n=n+q|0;k=k+q|0;o=xv(k,n)|0;if(o|0){p=o;break}else{l=l-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(_c(a,b,d,c[p>>2]|0,26)|0))$c(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3)if((c[d+4>>2]|0)==3)f=(c[b>>2]|0)<=(c[d>>2]|0);else g=13;else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=xv(i,j)|0;a:do if(!k){l=i;m=c[e+12>>2]|0;n=c[h+12>>2]|0;o=j;while(1){p=bu(l)|0;q=(p|0)==(m|0);if((p|0)==(n|0))break;r=p+1|0;if(q){s=-1;break a}o=o+r|0;l=l+r|0;p=xv(l,o)|0;if(p|0){s=p;break a}else{m=m-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1}else g=13;b:do if((g|0)==13){s=a+8|0;k=(_c(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 0:{f=0;break b;break}case 1:{f=(c[q>>2]|0)!=0;break b;break}default:{f=1;break b}}if(!(_c(a,d,b,q,26)|0))$c(a,b,d);q=c[s>>2]|0;switch(c[q+4>>2]|0){case 0:{f=1;break b;break}case 1:{f=(c[q>>2]|0)==0;break b;break}default:{f=0;break b}}}while(0);return f&1|0}function Wc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;g=Ia;Ia=Ia+16|0;h=g;if(lv(b,47325)|0){i=0;Ia=g;return i|0}do if(!(lv(b,47328)|0)){if(!(lv(b,47331)|0)){j=~~(+Au(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=b;q=0;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=s;u=0;v=r;w=0;do{w=w<<1|t<<24>>24==49;u=u+1|0;v=v+1|0;t=a[v>>0]|0}while((t&-2)<<24>>24==48);x=t;y=u;z=w<<16;A=v}else{x=s;y=0;z=0;A=r}B=A;if(x<<24>>24==46){C=A+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=E;E=C;C=0;do{C=F>>>0<16?C<<1|G<<24>>24==49:C;F=F+1|0;E=E+1|0;G=a[E>>0]|0}while((G&-2)<<24>>24==48);H=F;I=C;J=E}else{H=0;I=0;J=D}G=J-D|0;K=H;L=I<<((G+-1|0)>>>0<15?16-G|0:0);M=J}else{K=0;L=0;M=B}if(K|y){c[h>>2]=M;G=M;switch(a[G>>0]|0){case 80:case 112:{p=G;q=0;break a;break}default:{}}c[h>>2]=G;r=L+z|0;if(!n){p=G;q=~~+kt(+(r|0),0);break}else{p=G;q=~~+kt(+(0-r|0),0);break}}else{p=b;q=0}}else{p=b;q=0}while(0);c[f>>2]=q;k=p}else{c[h>>2]=b;j=b;while(1){N=a[j>>0]|0;O=j+1|0;if(!(a[64+((N&255)+1)>>0]&8))break;else j=O}switch(N<<24>>24){case 45:{P=1;Q=O;break}case 43:{P=0;Q=O;break}default:{P=0;Q=j}}b:do if((a[Q>>0]|0)==48){switch(a[Q+1>>0]|0){case 88:case 120:break;default:{R=b;S=0;break b}}r=Q+2|0;G=a[r>>0]|0;s=G&255;if(!(a[64+(s+1)>>0]&16)){T=G;U=0;V=0;W=r}else{G=0;v=r;r=s;s=0;do{w=r+-48|0;s=(w>>>0<10?w:(r|32)+-87|0)+(s<<4)|0;G=G+1|0;v=v+1|0;X=a[v>>0]|0;r=X&255}while((a[64+(r+1)>>0]&16)!=0);T=X;U=G;V=s<<16;W=v}r=W;if(T<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Y=0;Z=0;_=D}else{C=0;F=B;B=E;E=0;do{w=B+-48|0;E=C>>>0<4?(w>>>0<10?w:(B|32)+-87|0)+(E<<4)|0:E;C=C+1|0;F=F+1|0;B=d[F>>0]|0}while((a[64+(B+1)>>0]&16)!=0);Y=C;Z=E;_=F}B=_-D|0;$=Y;aa=Z<<((B+-1|0)>>>0<3?16-(B<<2)|0:0);ba=_}else{$=0;aa=0;ba=r}if($|U){c[h>>2]=ba;B=ba;switch(a[B>>0]|0){case 80:case 112:{R=B;S=0;break b;break}default:{}}c[h>>2]=B;v=aa+V|0;if(!P){R=B;S=~~+kt(+(v|0),0);break}else{R=B;S=~~+kt(+(0-v|0),0);break}}else{R=b;S=0}}else{R=b;S=0}while(0);c[f>>2]=S;k=R}while(0);if((k|0)==(b|0)){i=0;Ia=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))ca=k;else{R=k;do R=R+1|0;while((a[64+((d[R>>0]|0)+1)>>0]&8)!=0);c[h>>2]=R;ca=R}i=(ca|0)==(b+e|0)&1;Ia=g;return i|0}function Xc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Ia;Ia=Ia+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)Lc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Pa[c[t>>2]&3](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))yc(b,4);Kc(b,1);x=Pa[c[t>>2]&3](c[v>>2]|0,r,s,k)|0;if(!x)yc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2217420;z=2217420;A=0;B=0}else{f=g+-1|0;if(f>>>0>255){g=0;j=f;while(1){w=g+8|0;y=j>>>8;if(j>>>0>65535){g=w;j=y}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)Ac(b,47216,i);i=1<<f;if((i+1|0)>>>0>214748364)Lc(b);D=20<<f;C=c[b+12>>2]|0;j=C+4|0;g=Pa[c[C>>2]&3](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))yc(b,4);Kc(b,1);y=Pa[c[C>>2]&3](c[j>>2]|0,0,0,D)|0;if(!y)yc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=E;E=0;do{c[D+(E*20|0)+16>>2]=0;c[D+(E*20|0)+12>>2]=0;c[D+(E*20|0)+4>>2]=0;E=E+1|0;D=c[o>>2]|0}while((E|0)<(i|0));z=D;A=f&255;B=i}a[l>>0]=A;c[e+20>>2]=z+(B*20|0);if(m<<24>>24!=31){m=1<<n;do{B=m;m=m+-1|0;z=p+(m*20|0)+4|0;if(c[z>>2]|0){A=p+(m*20|0)+8|0;l=Mc(e,A)|0;if((l|0)==2217396)F=Nc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[z>>2]}}while((B|0)>1)}if((p|0)==2217420){Ia=h;return}F=20<<n;n=c[b+12>>2]|0;Pa[c[n>>2]&3](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Ia=h;return}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Pa[c[g>>2]&3](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);j=Pa[c[g>>2]&3](c[h>>2]|0,0,6,f)|0;if(!j)yc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Wv(k+16|0,0,e|0)|0;return k|0}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=g;j=f;while(1){k=c[i+8>>2]|0;if(k>>>0<d>>>0){h=j;break a}if((k|0)==(d|0))break;k=c[i>>2]|0;if(!k){l=8;break}else{m=i;i=k;j=m}}if((l|0)==8){h=i;break}j=i+5|0;m=a[j>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=i;return n|0}a[j>>0]=m;n=i;return n|0}while(0);l=e+4|0;f=Pa[c[e>>2]&3](c[l>>2]|0,0,10,20)|0;if(!f){if(!(a[e+51>>0]|0))yc(b,4);Kc(b,1);g=Pa[c[e>>2]&3](c[l>>2]|0,0,10,20)|0;if(!g)yc(b,4);else o=g}else o=f;f=e+12|0;c[f>>2]=(c[f>>2]|0)+20;f=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[f>>2];c[f>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function _c(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Ia;Ia=Ia+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2217396;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2217396;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2217396;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2217396;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ia=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Ac(e,47199,k);if((f&65535)>224)yc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(Ec(e,g,1)|0))Fc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Ia=j;return t|0}function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;Ac(a,47334,g)}else{c[f>>2]=e;c[f+4>>2]=b;Ac(a,47367,f)}}function ad(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ia;Ia=Ia+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;wt(i,47590,h)|0;if((bv(i,47596)|0)==0?(bv(i,47602)|0)==0:0){g[e>>3]=j;wt(i,47614,e)|0}else{g[f>>3]=j;wt(i,47608,f)|0}f=bu(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=n;q=m;r=o;break}else f=m}}else{p=c;q=h;r=k}if(!(r&p<<24>>24==46)){s=bu(i)|0;t=s+1|0;Vv(b|0,i|0,t|0)|0;Ia=d;return s|0}a[q>>0]=0;s=bu(i)|0;t=s+1|0;Vv(b|0,i|0,t|0)|0;Ia=d;return s|0}function bd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0<f>>>0){k=~j;l=i;m=f;while(1){n=(l<<5)+(l>>>2)+(d[e+(m+-1)>>0]|0)^l;m=m+k|0;if(m>>>0<=j>>>0){o=n;break}else l=n}}else o=i;i=h+24|0;l=h+32|0;j=c[l>>2]|0;m=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[m>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(tt(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){fd(b,j<<1);s=c[g>>2]|0;t=(c[i>>2]|0)+(((c[l>>2]|0)+-1&o)<<2)|0}else{s=h;t=m}m=f+17|0;h=s+4|0;l=Pa[c[s>>2]&3](c[h>>2]|0,0,4,m)|0;if((m|0)!=0&(l|0)==0){if(!(a[s+51>>0]|0))yc(b,4);Kc(b,1);i=Pa[c[s>>2]&3](c[h>>2]|0,0,4,m)|0;if(!i)yc(b,4);else u=i}else u=l;l=s+12|0;c[l>>2]=(c[l>>2]|0)+m;m=(t|0)==0?s+56|0:t;a[u+5>>0]=a[s+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[m>>2];c[m>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Vv(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;dd(a,(e|0)==3|(e&15|0)==4?d:b,47420)}function dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+48|0;g=f+24|0;h=f+8|0;i=f;j=f+32|0;f=c[b+16>>2]|0;c[j>>2]=0;k=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if(!(a[f+18>>0]&1)){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}m=c[c[f>>2]>>2]|0;n=a[m+6>>0]|0;a:do if(!(n<<24>>24))o=7;else{p=n&255;q=0;while(1){if((c[(c[m+16+(q<<2)>>2]|0)+8>>2]|0)==(d|0))break;r=q+1|0;if(r>>>0<p>>>0)q=r;else{o=7;break a}}p=c[(c[(c[m+12>>2]|0)+28>>2]|0)+(q<<3)>>2]|0;c[j>>2]=(p|0)==0?80062:p+16|0;s=47432}while(0);if((o|0)==7){n=c[f+24>>2]|0;p=c[f+4>>2]|0;r=n;if(n>>>0>=p>>>0){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}t=n;while(1){if((t|0)==(d|0))break;t=t+8|0;if(t>>>0>=p>>>0){o=16;break}}if((o|0)==16){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}o=c[m+12>>2]|0;m=ed(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-r>>3,j)|0;if(!m){c[g>>2]=e;l=g+4|0;c[l>>2]=k;Ac(b,47531,g)}else s=m}if(au(e,47440)|0){u=c[j>>2]|0;c[h>>2]=e;v=h+4|0;c[v>>2]=s;w=h+8|0;c[w>>2]=u;x=h+12|0;c[x>>2]=k;Ac(b,47496,h)}if(!(au(k,62511)|0)){m=c[j>>2]|0;c[i>>2]=s;c[i+4>>2]=m;Ac(b,47446,i)}else{u=c[j>>2]|0;c[h>>2]=e;v=h+4|0;c[v>>2]=s;w=h+8|0;c[w>>2]=u;x=h+12|0;c[x>>2]=k;Ac(b,47496,h)}}function ed(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;m=0;e=d+1|0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){m=n;e=p}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=0;n=0;s=-1;while(1){t=c[r+(n<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=e;w=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?s:(n|0)<(e|0)?-1:n;break}case 47:{v=e;w=(u+2|0)>(d|0)?s:(n|0)<(e|0)?-1:n;break}case 43:case 42:{v=e;w=(u|0)>(d|0)?s:(n|0)<(e|0)?-1:n;break}case 36:{x=n+-131070+(t>>>14)|0;v=(x|0)>(e|0)&((x|0)<=(k|0)&(n|0)<(x|0))?x:e;w=s;break}case 40:{v=e;w=(u|0)==(d|0)?((n|0)<(e|0)?-1:n):s;break}default:{v=e;w=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((n|0)<(e|0)?-1:n):s}}n=n+1|0;if((n|0)==(k|0))break;else{e=v;s=w}}if((w|0)==-1){q=0;o=51;break}y=c[r+(w<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=w}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=92620;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;v=0;h=k+1|0;while(1){if((c[d+(v*12|0)+4>>2]|0)>(w|0)){z=0;break c}if((c[d+(v*12|0)+8>>2]|0)>(w|0)){p=h+-1|0;if(!p)break;else A=p}else A=h;p=v+1|0;if((p|0)<(i|0)){v=p;h=A}else{z=0;break c}}z=(c[d+(v*12|0)>>2]|0)+16|0}else z=0;else{h=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(h|0)==0?80062:h+16|0}while(0);if(!(y&4194304)){k=ed(b,w,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=80062;if(!z){q=47568;return q|0}l=(au(z,47556)|0)==0;q=l?47561:47568;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?80062:l+16|0;q=47432;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(w+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=47581;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=ed(b,w,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=47574;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=47574;return q|0}}c[f>>2]=80062;q=47574;return q|0}else if((o|0)==51)return q|0;return 0}function fd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do gd(b)|0;while(!(1<<d[i>>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)Lc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Pa[c[m>>2]&3](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))yc(b,4);Kc(b,1);q=Pa[c[m>>2]&3](c[o>>2]|0,j,k,l)|0;if(!q)yc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=s;l=0;while(1){r=(c[h>>2]|0)+(l<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=p;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}l=l+1|0;if((l|0)>=(t|0)){u=t;break}else p=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)Lc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;p=c[f>>2]|0;f=(s|0)==0;l=p+4|0;g=Pa[c[p>>2]&3](c[l>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[p+51>>0]|0))yc(b,4);Kc(b,1);r=Pa[c[p>>2]&3](c[l>>2]|0,s,t,u)|0;if(!r)yc(b,4);else v=r}else v=g;g=p+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function gd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)Jc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)Jc(h,k);hd(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;Jc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ia=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;id(h);n=(c[m>>2]|0)-l|0;Ia=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)Jc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)Jc(h,o);hd(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)Jc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do id(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do id(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do id(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do id(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=o;o=0;while(1){p=q;q=c[q+24>>2]|0;if(jd(h,p)|0)if(!(c[j>>2]|0))u=1;else{do id(h);while((c[j>>2]|0)!=0);u=1}else u=o;if(!q)break;else o=u}}while((u|0)!=0);kd(h,c[m>>2]|0,0);u=h+88|0;kd(h,c[u>>2]|0,0);o=c[m>>2]|0;q=c[u>>2]|0;p=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=v;v=w;w=r;while(1){r=t+5|0;x=d[r>>0]|0;if(!(x&3)){y=v;z=t}else{a[r>>0]=x|8;c[w>>2]=c[t>>2];c[t>>2]=c[v>>2];c[v>>2]=t;y=t;z=w}t=c[z>>2]|0;if(!t)break;else{v=y;w=z}}}z=c[h+92>>2]|0;if(z|0){w=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[w>>0]&3|a[z>>0]&-72;Jc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do id(h);while((c[j>>2]|0)!=0);y=p-(c[l>>2]|0)|0;while(1){p=c[s>>2]|0;c[s>>2]=0;if(!p)break;w=p;p=0;while(1){z=w;w=c[w+24>>2]|0;if(jd(h,z)|0)if(!(c[j>>2]|0))A=1;else{do id(h);while((c[j>>2]|0)!=0);A=1}else A=p;if(!w)break;else p=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;p=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){w=j+12|0;z=c[w>>2]|0;if(!(z&64))break;v=c[j+8>>2]|0;if((z&15|0)==4){if(!v)break;if(!(a[v+5>>0]&3))break;Jc(h,v);break}else{z=v+5|0;if(!(a[z>>0]&3))break;c[A>>2]=0;if(!(a[z>>0]&3))break;c[w>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<p>>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){p=s;do{s=c[p+16>>2]|0;j=a[p+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){w=j+12|0;z=c[w>>2]|0;if(!(z&64))break;v=c[j+8>>2]|0;if((z&15|0)==4){if(!v)break;if(!(a[v+5>>0]&3))break;Jc(h,v);break}else{z=v+5|0;if(!(a[z>>0]&3))break;c[s>>2]=0;if(!(a[z>>0]&3))break;c[w>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<A>>>0)}p=c[p+24>>2]|0}while((p|0)!=0)}kd(h,c[m>>2]|0,o);kd(h,c[u>>2]|0,q);q=h+48|0;a[q>>0]=a[q>>0]^3;q=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+q;n=((ld(b)|0)*5|0)+q|0;Ia=e;return n|0}case 2:{q=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[q>>2]|0)+y|0;o=c[k>>2]|0;if((u|0)>=(o|0)){C=o;D=u;E=y;break}o=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;p=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[o>>2]|0;a:do if(A|0){s=A;w=-3;z=o;while(1){if(!w)break a;w=w+-1|0;v=s+5|0;t=d[v>>0]|0;if(!((t^3)&p)){c[z>>2]=c[s>>2];md(b,s);F=z}else{if(m&t|0)break a;if((a[s+4>>0]|0)==8)nd(b,s);a[v>>0]=u&t|j;F=s}s=c[F>>2]|0;if(!s)break;else z=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=c[k>>2]|0;D=(c[q>>2]|0)+y|0;E=y}c[q>>2]=D;if((D|0)>=(C|0))a[i>>0]=3;n=E*5|0;Ia=e;return n|0}case 3:{E=h+68|0;C=c[E>>2]|0;if(!C){a[i>>0]=4;n=0;Ia=e;return n|0}D=d[h+48>>0]|0;q=D^3;y=(a[h+50>>0]|0)==2;k=y?255:184;B=y?64:D&3;D=y?64:0;y=c[C>>2]|0;b:do if(!y)G=0;else{F=y;l=80;j=C;while(1){if(!l){G=j;break b}l=l+-1|0;u=F+5|0;m=d[u>>0]|0;if(!((m^3)&q)){c[j>>2]=c[F>>2];md(b,F);H=j}else{if(D&m|0){G=0;break b}if((a[F+4>>0]|0)==8)nd(b,F);a[u>>0]=k&m|B;H=F}F=c[H>>2]|0;if(!F){G=0;break}else j=H}}while(0);c[E>>2]=G;n=400;Ia=e;return n|0}case 4:{G=h+64|0;E=c[G>>2]|0;if(E|0){H=d[h+48>>0]|0;B=H^3;k=(a[h+50>>0]|0)==2;D=k?255:184;q=k?64:H&3;H=k?64:0;k=c[E>>2]|0;c:do if(!k)I=0;else{C=k;y=80;j=E;while(1){if(!y){I=j;break c}y=y+-1|0;F=C+5|0;l=d[F>>0]|0;if(!((l^3)&B)){c[j>>2]=c[C>>2];md(b,C);J=j}else{if(H&l|0){I=0;break c}if((a[C+4>>0]|0)==8)nd(b,C);a[F>>0]=D&l|q;J=C}C=c[J>>2]|0;if(!C){I=0;break}else j=J}}while(0);c[G>>2]=I;n=400;Ia=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;q=a[h+50>>0]|0;D=q<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=q;L=h}else{h=I;I=1;q=f;while(1){if(!I)break;I=I+-1|0;f=h+5|0;D=d[f>>0]|0;if(!((D^3)&J)){c[q>>2]=c[h>>2];md(b,h);M=q}else{if(G&D|0)break;if((a[h+4>>0]|0)==8)nd(b,h);a[f>>0]=H&D|B;M=h}h=c[M>>2]|0;if(!h)break;else q=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0<K>>>0){fd(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Pa[c[N>>2]&3](c[N+4>>2]|0,K,L,0)|0;q=N+12|0;c[q>>2]=(c[q>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Ia=e;return n|0}default:{n=0;Ia=e;return n|0}}return 0}function hd(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)Jc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;Jc(b,d);return}function id(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2217396;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)Jc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=nu(l,107)|0,r=(o|0)!=0,o=(nu(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{jd(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=s;s=o;while(1){o=s+4|0;u=s+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[o>>2]|0))if(!v?(a[(c[s+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=r}else w=r;else{if(!v?(x=c[s+8>>2]|0,a[x+5>>0]&3):0)Jc(b,x);if(!r){x=c[o>>2]|0;do if(x&64|0){y=c[s>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;Jc(b,y)}}while(0);w=0}else w=r}while(0);s=s+20|0;if(s>>>0>=l>>>0){t=w;break}else r=w}}if(!t){r=b+76|0;c[h>>2]=c[r>>2];c[r>>2]=f;break}else{r=b+80|0;c[h>>2]=c[r>>2];c[r>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<<d[f+7>>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=q;q=0;while(1){r=c[i>>2]|0;if((c[r+(q<<3)+4>>2]&64|0)!=0?(l=c[r+(q<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){Jc(b,l);z=c[w>>2]|0}else z=p;q=q+1|0;if((q|0)>=(z|0))break;else p=z}A=c[n>>2]|0}else A=h;if(A>>>0<t>>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;p=(c[z>>2]&64|0)==0;if(!n){if(!p?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!p?(p=c[h+8>>2]|0,(a[p+5>>0]&3)!=0):0){Jc(b,p);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)Jc(b,n)}h=h+20|0}while(h>>>0<t>>>0)}}C=(c[f+28>>2]<<3)+32+(20<<d[f+7>>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)Jc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=h;h=0;while(1){n=c[f+16+(h<<2)>>2]|0;if((n|0)!=0?(a[n+5>>0]&3)!=0:0){Jc(b,n);D=a[t>>0]|0}else D=B;h=h+1|0;E=D&255;if(h>>>0>=E>>>0)break;else B=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{B=D;D=0;while(1){if((c[f+16+(D<<3)+4>>2]&64|0)!=0?(h=c[f+16+(D<<3)>>2]|0,(a[h+5>>0]&3)!=0):0){Jc(b,h);F=a[E>>0]|0}else F=B;D=D+1|0;G=F&255;if(D>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0<B>>>0){D=B;B=F;while(1){if((c[B+4>>2]&64|0)!=0?(E=c[B>>2]|0,(a[E+5>>0]&3)!=0):0){Jc(b,E);H=c[G>>2]|0}else H=D;E=B+8|0;if(E>>>0<H>>>0){D=H;B=E}else{I=E;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0<F>>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0<F>>>0);J=120}else J=120}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=120;else{I=F;F=0;do{F=F+1|0;I=c[I+12>>2]|0}while((I|0)!=(g|0));J=(F*40|0)+120|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)Jc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){F=f+8|0;g=J;J=0;while(1){I=c[F>>2]|0;if((c[I+(J<<3)+4>>2]&64|0)!=0?(B=c[I+(J<<3)>>2]|0,(a[B+5>>0]&3)!=0):0){Jc(b,B);K=c[e>>2]|0}else K=g;J=J+1|0;if((J|0)>=(K|0))break;else g=K}}K=f+40|0;g=c[K>>2]|0;if((g|0)>0){J=f+28|0;F=g;g=0;while(1){B=c[(c[J>>2]|0)+(g<<3)>>2]|0;if((B|0)!=0?(a[B+5>>0]&3)!=0:0){Jc(b,B);L=c[K>>2]|0}else L=F;g=g+1|0;if((g|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){g=f+16|0;J=F;B=0;while(1){I=c[(c[g>>2]|0)+(B<<2)>>2]|0;if((I|0)!=0?(a[I+5>>0]&3)!=0:0){Jc(b,I);M=c[L>>2]|0}else M=J;B=B+1|0;if((B|0)>=(M|0)){N=M;break}else J=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){J=f+24|0;B=M;g=0;while(1){I=c[(c[J>>2]|0)+(g*12|0)>>2]|0;if((I|0)!=0?(a[I+5>>0]&3)!=0:0){Jc(b,I);O=c[F>>2]|0}else O=B;g=g+1|0;if((g|0)>=(O|0))break;else B=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=j;j=0;m=0;while(1){n=c[k>>2]|0;if((c[n+(j<<3)+4>>2]&64|0)!=0?(o=c[n+(j<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){Jc(b,o);p=c[i>>2]|0;q=1}else{p=l;q=m}j=j+1|0;if((j|0)>=(p|0))break;else{l=p;m=q}}r=c[f>>2]|0;s=q}else{r=g;s=0}if(r>>>0<h>>>0){g=0;q=s;f=r;r=0;while(1){m=f+4|0;p=c[m>>2]|0;l=f+12|0;j=c[l>>2]|0;i=(j&64|0)==0;a:do if(!p)if(!i?(a[(c[f+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=g;u=q;v=r}else{t=g;u=q;v=r}else{do if(i){w=p;x=19}else{k=c[f+8>>2]|0;if((j&15|0)==4){if(!k){w=p;x=19;break}if(!(a[k+5>>0]&3)){w=p;x=19;break}Jc(b,k);w=c[m>>2]|0;x=19;break}o=(p&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=g;u=q;v=r;break a}else break;if(o){t=1;u=q;v=r;break a}t=1;u=q;v=(a[(c[f>>2]|0)+5>>0]&3)==0?r:1;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=g;u=q;v=r;break}o=c[f>>2]|0;if(!(a[o+5>>0]&3)){t=g;u=q;v=r}else{Jc(b,o);t=g;u=1;v=r}}while(0);f=f+20|0;if(f>>>0>=h>>>0)break;else{g=t;q=u;r=v}}if(v|0){y=b+84|0;z=u;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}if(!t)C=u;else{y=b+88|0;z=u;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}}else C=s;y=b+76|0;z=C;A=c[y>>2]|0;B=e+24|0;c[B>>2]=A;c[y>>2]=e;return z|0}function kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(qd(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0<i>>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?qd(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0<i>>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function ld(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=1;l=0}else{m=j;n=1;o=i?255:184;p=i?64:h&3;q=i?64:0;r=h;while(1){s=r^3;t=m;u=1;v=g;while(1){if(!u)break;u=u+-1|0;w=t+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[v>>2]=c[t>>2];md(b,t);y=v}else{if(q&x|0){k=n;l=0;break a}if((a[t+4>>0]|0)==8)nd(b,t);a[w>>0]=o&x|p;y=t}t=c[y>>2]|0;if(!t){k=n;l=0;break a}else v=y}if((v|0)!=(g|0)){k=n;l=v;break a}t=c[e>>2]|0;s=n+1|0;u=d[t+48>>0]|0;x=(a[t+50>>0]|0)==2;m=c[g>>2]|0;if(!m){k=s;l=0;break}else{n=s;o=x?255:184;p=x?64:u&3;q=x?64:0;r=u}}}while(0);c[f+68>>2]=l;l=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;h=d[y+48>>0]|0;i=h^3;j=(a[y+50>>0]|0)==2;y=j?255:184;r=j?64:h&3;h=j?64:0;j=c[l>>2]|0;if(!j){z=0;A=26;break}q=j;j=1;p=l;while(1){if(!j)break;j=j+-1|0;o=q+5|0;n=d[o>>0]|0;if(!((n^3)&i)){c[p>>2]=c[q>>2];md(b,q);B=p}else{if(h&n|0){z=0;A=26;break b}if((a[q+4>>0]|0)==8)nd(b,q);a[o>>0]=y&n|r;B=q}q=c[B>>2]|0;if(!q){z=0;A=26;break b}else p=B}if((p|0)!=(l|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+k|0}return 0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{od(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Pa[c[h>>2]&3](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2217420)i=b+12|0;else{g=20<<d[e+7>>0];h=b+12|0;j=c[h>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Pa[c[f>>2]&3](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{pd(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Pa[c[l>>2]&3](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=l;o=-3;p=g;while(1){if(!o)break a;o=o+-1|0;q=n+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[p>>2]=c[n>>2];md(b,n);s=p}else{if(j&r|0)break a;if((a[n+4>>0]|0)==8)nd(b,n);a[q>>0]=i&r|m;s=n}n=c[s>>2]|0;if(!n)break;else p=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Pa[c[j>>2]&3](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0<h>>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;zc(e,f);return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Pa[c[a>>2]&3](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Pa[c[g>>2]&3](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Pa[c[d>>2]&3](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function pd(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;d=b+28|0;Sc(b,c[d>>2]|0);e=c[d>>2]|0;if(!e){f=a+12|0;g=c[f>>2]|0;h=c[g>>2]|0;i=g+4|0;j=c[i>>2]|0;Pa[h&3](j,b,120,0)|0;k=g+12|0;l=c[k>>2]|0;m=l+-120|0;c[k>>2]=m;return}c[b+16>>2]=b+72;n=b+84|0;o=c[n>>2]|0;c[n>>2]=0;n=b+12|0;if(!o)p=e;else{e=o;do{o=e;e=c[e+12>>2]|0;q=c[n>>2]|0;Pa[c[q>>2]&3](c[q+4>>2]|0,o,40,0)|0;r=q+12|0;c[r>>2]=(c[r>>2]|0)-((o|0)==0?0:40)}while((e|0)!=0);p=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[n>>2]|0;Pa[c[e>>2]&3](c[e+4>>2]|0,p,d,0)|0;n=e+12|0;c[n>>2]=(c[n>>2]|0)-((p|0)==0?0:d);f=a+12|0;g=c[f>>2]|0;h=c[g>>2]|0;i=g+4|0;j=c[i>>2]|0;Pa[h&3](j,b,120,0)|0;k=g+12|0;l=c[k>>2]|0;m=l+-120|0;c[k>>2]=m;return}function qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;do if(e&64){f=c[d>>2]|0;if((e&15|0)!=4){g=a[f+5>>0]&3;break}if((f|0)!=0?(a[f+5>>0]&3)!=0:0){Jc(b,f);g=0}else g=0}else g=0;while(0);return g|0}function rd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=0;h=b;while(1){i=(h+g|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?g:i;h=j?i:h;if((h-k|0)>>>0<=1){f=k;break}else g=k}return f|0}g=c[a+16>>2]|0;if((g|0)==2217420){f=b;return f|0}h=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0<b>>>0)l=(c[h>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=g+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2217396;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0<b>>>0)p=(c[h>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=g+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2217396;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=a;a=k;while(1){k=(a+o|0)>>>1;p=k+-1|0;c:do if(p>>>0<b>>>0)q=(c[h>>2]|0)+(p<<3)|0;else{j=k<<16;n=0-j|0;i=g+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2217396;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;a=p?k:a;l=p?o:k;if((a-l|0)>>>0<=1){f=l;break}else o=l}return f|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=rl(b,c)|0;break}case 3:{d=sl(b,c)|0;break}case 4:{d=tl(b,c)|0;break}case 5:{d=ul(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=El(b,c)|0;break}case 10:{d=Fl(b,c)|0;break}case 11:{d=Dl(b,c)|0;break}case 12:{d=Bl(b,c)|0;break}case 13:{d=Cl(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(sl(b,c)|0)&-65536;break}case 16:{d=hl(b)|0;break}case 17:{d=gl(b)|0;break}case 18:{d=fl(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=(ud(b,d)|0)==0;dd(a,e?b:c,47634)}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Wc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Ia=d;return g|0}function vd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0<j>>>0){n=~m;o=l;p=j;while(1){j=(o<<5)+(o>>>2)+(d[i+(p+-1)>>0]|0)^o;p=p+n|0;if(p>>>0<=m>>>0){q=j;break}else o=j}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 54:case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=Bc(a,b,f)|0;Ia=e;return d|0}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=bd(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)Lc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Pa[c[g>>2]&3](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);l=Pa[c[g>>2]&3](c[j>>2]|0,0,4,i)|0;if(!l)yc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Vv(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function yd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0<f>>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0<f>>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function Ad(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2217396;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2217396:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2217396}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|32|0)==54)m=2217396;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2217396:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2217396}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){Jc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function Bd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function Cd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2217396){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function Dd(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function Ed(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;g=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){h=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){h=(c[a+12>>2]|0)+36|0;break}i=-1001e3-b|0;j=c[g>>2]|0;if((c[j+4>>2]|32|0)==54)h=2217396;else{k=c[j>>2]|0;h=(i|0)>(d[k+6>>0]|0|0)?2217396:k+16+(i+-1<<3)|0}}else{i=(c[g>>2]|0)+(b<<3)|0;h=i>>>0<(c[a+8>>2]|0)>>>0?i:2217396}while(0);a=c[h+4>>2]|0;if((a|0)==3){l=1;Ia=e;return l|0}if((a&15|0)==4){a=c[h>>2]|0;m=(Wc(a+16|0,c[a+12>>2]|0,f)|0)!=0&1}else m=0;l=m;Ia=e;return l|0}function Fd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2217396}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Wc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Ia=f;return o|0}c[e>>2]=0;o=0;Ia=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ia=f;return o|0}function Gd(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;e=c[a+4>>2]|0;if((e|0)==3){f=c[a>>2]|0;Ia=b;return f|0}if((e&15|0)==4?(e=c[a>>2]|0,Wc(e+16|0,c[e+12>>2]|0,d)|0):0){f=c[d>>2]|0;Ia=b;return f|0}f=0;Ia=b;return f|0}function Hd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2217396;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2217396:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2217396}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Wc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Ia=f;return n|0}c[e>>2]=0;n=0;Ia=f;return n|0}while(0);g=m>>16;if(!e){n=g;Ia=f;return n|0}c[e>>2]=1;n=g;Ia=f;return n|0}function Id(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function Jd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(Kd(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{Oc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2217396;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|32|0)==54)p=2217396;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2217396:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ia=e;return h|0}i=ad(f,c[d>>2]|0)|0;if(i>>>0<41)j=bd(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)Lc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Pa[c[k>>2]&3](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);p=Pa[c[k>>2]&3](c[n>>2]|0,0,4,m)|0;if(!p)yc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Vv(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Ia=e;return h|0}function Ld(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=rd(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function Md(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2217396}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 54:case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)l=2217396;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2217396:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function Nd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function Od(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function Pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);g=xd(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function Qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{Oc(b);break}while(0);e=xd(b,d,bu(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function Rd(a,b){a=a|0;b=b|0;return xd(a,b,bu(b)|0)|0}function Sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Oc(b);break}while(0);return Bc(b,d,e)|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;f=Ia;Ia=Ia+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{Oc(b);break}while(0);c[g>>2]=e;e=Bc(b,d,g)|0;Ia=f;return e|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:do if((e|0)<0){switch(e|0){case -3333:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=54;i=g;j=f;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}else{switch(e|0){case 0:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=22;i=g;j=f;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}while(0);f=b+12|0;g=c[f>>2]|0;n=g+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=g+4|0;r=Pa[c[g>>2]&3](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[g+51>>0]|0))yc(b,4);Kc(b,1);s=Pa[c[g>>2]&3](c[q>>2]|0,0,6,p)|0;if(!s)yc(b,4);else{t=g;u=n;v=p;w=s}}else{t=g;u=n;v=p;w=r}}else{if(!(a[g+51>>0]|0)){r=g+8|0;c[r>>2]=o+1600+(c[r>>2]|0);c[n>>2]=-1600;x=g}else{Oc(b);x=c[f>>2]|0}f=(e<<3)+16|0;g=x+4|0;n=Pa[c[x>>2]&3](c[g>>2]|0,0,6,f)|0;if((f|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))yc(b,4);Kc(b,1);r=Pa[c[x>>2]&3](c[g>>2]|0,0,6,f)|0;if(!r)yc(b,4);else y=r}else y=n;t=x;u=x+12|0;v=f;w=y}c[u>>2]=(c[u>>2]|0)+v;v=t+56|0;a[w+5>>0]=a[t+48>>0]&3;a[w+4>>0]=38;c[w>>2]=c[v>>2];c[v>>2]=w;a[w+6>>0]=e;c[w+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;v=b;b=e;do{b=b+-1|0;c[w+16+(b<<3)>>2]=c[v+(b<<3)>>2];c[w+16+(b<<3)+4>>2]=c[v+(b<<3)+4>>2];v=c[d>>2]|0}while((b|0)!=0);c[v>>2]=w;h=102;i=v;j=d;k=i+4|0;c[k>>2]=h;l=c[j>>2]|0;m=l+8|0;c[j>>2]=m;return}function Vd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Wd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2217396;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=xd(b,e,bu(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;Hc(b,g,j,j);return}function Xd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2217396;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2217396:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2217396}while(0);b=(c[a+8>>2]|0)+-8|0;Hc(a,f,b,b);return}function Yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{Oc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Pa[c[k>>2]&3](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))yc(b,4);Kc(b,1);h=Pa[c[k>>2]&3](c[g>>2]|0,0,5,32)|0;if(!h)yc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2217420;a[l+7>>0]=0;c[l+20>>2]=2217420;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Xc(b,l,d,e);return}function Zd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2217396;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=xd(b,e,bu(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;Ic(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function _d(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2217396;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2217396:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2217396}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2217396){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=Nc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Ia=g;return}function $d(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2217396;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2217396:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2217396}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=k;if(!l){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[l+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}ae(b,c[g>>2]|0,l);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=l;if(!l){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[k+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){Jc(o,k);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);ae(b,c[g>>2]|0,l);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=l;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function ae(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2217396;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=l;s=1;t=k;while(1){if(!s){q=t;break a}s=s+-1|0;u=r+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[t>>2]=c[r>>2];md(b,r);w=t}else{if(m&v|0){q=0;break a}if((a[r+4>>0]|0)==8)nd(b,r);a[u>>0]=f&v|p;w=r}r=c[w>>2]|0;if(!r){q=0;break}else t=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return} 146 + function oq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Ia;Ia=Ia+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Vv(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0<q>>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0<q>>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0<s>>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Ia=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ia=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ia=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Ia=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Ia=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))pq(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=xq(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=hq(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)pq(n,o,y,l)}else c[p>>2]=9955;zq(y);break}c[p>>2]=59;Ia=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=yq(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0<C>>>0){r=C<<1;z=yq(c[m>>2]|0,r)|0;if(!z){G=F;H=E;I=C}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=c[u>>2]|0;H=C;I=C+1|0}if(G>>>0<I>>>0){C=I<<1;z=yq(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=I;a[N+H>>0]=78;z=c[g>>2]|0;K=c[u>>2]|0;L=z;M=z+1|0}if(K>>>0<M>>>0){z=M<<1;C=yq(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=M;a[R+L>>0]=71;C=c[g>>2]|0;O=c[u>>2]|0;P=C;Q=C+1|0}if(O>>>0<Q>>>0){C=Q<<1;z=yq(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=Q;a[V+P>>0]=13;z=c[g>>2]|0;S=c[u>>2]|0;T=z;U=z+1|0}if(S>>>0<U>>>0){z=U<<1;C=yq(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=U;a[Z+T>>0]=10;C=c[g>>2]|0;W=c[u>>2]|0;X=C;Y=C+1|0}if(W>>>0<Y>>>0){C=Y<<1;z=yq(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=Y;a[ba+X>>0]=26;z=c[g>>2]|0;_=c[u>>2]|0;$=z;aa=z+1|0}if(_>>>0<aa>>>0){z=aa<<1;C=yq(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=aa;a[ca+$>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=yq(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0<y>>>0){A=y<<1;D=yq(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0<C>>>0){y=C<<1;s=yq(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0<ha>>>0){z=ha<<1;x=yq(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0<na>>>0){C=na<<1;z=yq(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0<ta>>>0){C=ta<<1;z=yq(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0<za>>>0){r=yq(Aa,za<<1)|0;if(!r){Fa=Aa;Ga=Ba}else{Ha=r;v=119}}else{Ha=Aa;v=119}if((v|0)==119){a[Ha+Ba>>0]=C;Fa=Ha;Ga=za}if(!(cq(m,g,Ga,97e3,Fa)|0))c[u>>2]=c[g>>2];zq(Fa);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=c[g>>2]|0;y=C;while(1){s=y+1|0;A=y+2|0;da=y+3|0;w=(d[s>>0]<<16|d[y>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+x|0;if(D>>>0<w>>>0|D>>>0<x>>>0){Ja=77;break}Ka=yq(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+x|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[y+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;y=y+((d[s>>0]<<16|d[y>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((y-z|0)>>>0>=r>>>0)break d;else x=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;x=z;z=0;y=0;w=0;D=0;while(1){do if((D&3|0)==3){Pa=x;Qa=z;Ra=y;Sa=w}else{La=a[(c[C>>2]|0)+D>>0]|0;Ka=w+1|0;if(y>>>0<Ka>>>0){Ta=Ka<<1;Ua=yq(z,Ta)|0;if(!Ua){Pa=x;Qa=z;Ra=y;Sa=w;break}else{Va=Ua;Wa=Ta}}else{Va=z;Wa=y}a[Va+w>>0]=La;Pa=c[r>>2]|0;Qa=Va;Ra=Wa;Sa=Ka}while(0);D=D+1|0;if(D>>>0>=Pa<<2>>>0){Na=Qa;Oa=Sa;break}else{x=Pa;z=Qa;y=Ra;w=Sa}}}if(!(cq(m,g,Oa,97005,Na)|0))c[u>>2]=c[g>>2];zq(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{w=c[q>>2]|0;switch(w|0){case 6:case 2:break;default:{Xa=w;break e}}w=l+32|0;y=c[w>>2]|0;if((y+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(y&1073741823)){Ya=0;Za=0}else{z=l+28|0;x=y;y=0;D=0;r=0;C=0;while(1){do if((C&3|0)==3){_a=x;$a=y;ab=D;bb=r}else{Ka=a[(c[z>>2]|0)+C>>0]|0;La=r+1|0;if(D>>>0<La>>>0){Ta=La<<1;Ua=yq(y,Ta)|0;if(!Ua){_a=x;$a=y;ab=D;bb=r;break}else{cb=Ua;db=Ta}}else{cb=y;db=D}a[cb+r>>0]=Ka;_a=c[w>>2]|0;$a=cb;ab=db;bb=La}while(0);C=C+1|0;if(C>>>0>=_a<<2>>>0){Ya=$a;Za=bb;break}else{x=_a;y=$a;D=ab;r=bb}}}if(!(cq(m,g,Za,97005,Ya)|0))c[u>>2]=c[g>>2];zq(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){r=c[l+28>>2]|0;D=c[l+32>>2]|0;if(!D)break;y=0;while(1){if((a[r+(y<<2|3)>>0]|0)!=-1)break;y=y+1|0;if(y>>>0>=D>>>0)break f}qq(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;qq(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{D=l+56|0;y=c[D>>2]|0;r=yq(0,2)|0;if(!r){x=yq(0,2)|0;if(!x){fb=0;gb=0;break h}else{hb=1;ib=x;jb=0;kb=y}}else{a[r>>0]=y>>>8;hb=2;ib=r;jb=1;kb=c[D>>2]|0}a[ib+jb>>0]=kb;fb=ib;gb=hb;break}case 6:case 2:{D=l+56|0;r=c[D>>2]|0;y=yq(0,2)|0;if(!y){x=yq(0,2)|0;if(!x){lb=0;mb=0;nb=0}else{ob=1;pb=x;qb=0;rb=r;v=180}}else{a[y>>0]=r>>>8;ob=2;pb=y;qb=1;rb=c[D>>2]|0;v=180}if((v|0)==180){a[pb+qb>>0]=rb;lb=pb;mb=ob;nb=2}D=l+60|0;y=c[D>>2]|0;r=y>>>8&255;x=mb+1|0;if(nb>>>0<x>>>0){C=x<<1;w=yq(lb,C)|0;if(!w){sb=y;tb=x;ub=lb;vb=mb;wb=nb}else{xb=w;yb=C;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=r;sb=c[D>>2]|0;tb=mb+2|0;ub=xb;vb=x;wb=yb}x=sb&255;if(wb>>>0<tb>>>0){D=tb<<1;r=yq(ub,D)|0;if(!r){zb=tb;Ab=ub;Bb=vb;Cb=wb}else{Db=r;Eb=D;v=186}}else{Db=ub;Eb=wb;v=186}if((v|0)==186){a[Db+vb>>0]=x;zb=tb+1|0;Ab=Db;Bb=tb;Cb=Eb}x=l+64|0;D=c[x>>2]|0;r=D>>>8&255;if(Cb>>>0<zb>>>0){C=zb<<1;w=yq(Ab,C)|0;if(!w){Fb=D;Gb=zb;Hb=Ab;Ib=Bb;Jb=Cb}else{Kb=w;Lb=C;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=r;Fb=c[x>>2]|0;Gb=zb+1|0;Hb=Kb;Ib=zb;Jb=Lb}x=Fb&255;if(Jb>>>0<Gb>>>0){r=yq(Hb,Gb<<1)|0;if(!r){fb=Hb;gb=Ib;break h}else Mb=r}else Mb=Hb;a[Mb+Ib>>0]=x;fb=Mb;gb=Gb;break}case 3:{x=c[l+56>>2]|0;r=yq(0,2)|0;if(!r){fb=0;gb=0;break h}a[r>>0]=x;fb=r;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(cq(m,g,gb,97010,fb)|0))c[u>>2]=c[g>>2];zq(fb)}if(c[l+116>>2]|0){r=c[l+120>>2]|0;x=yq(0,8)|0;C=(x|0)==0;w=C?0:8;D=C?0:4;y=x+(C?-4:0)|0;a[y>>0]=r>>>24;a[y+1>>0]=r>>>16;a[y+2>>0]=r>>>8;a[y+3>>0]=r;r=c[l+124>>2]|0;y=D+4|0;if(w>>>0<y>>>0){C=y<<1;z=yq(x,C)|0;da=(z|0)==0;Nb=da?x:z;Ob=da?D:y;Pb=da?w:C}else{Nb=x;Ob=y;Pb=w}w=Nb+(Ob+-4)|0;a[w>>0]=r>>>24;a[w+1>>0]=r>>>16;a[w+2>>0]=r>>>8;a[w+3>>0]=r;r=a[l+128>>0]|0;w=Ob+1|0;if(Pb>>>0<w>>>0){y=yq(Nb,w<<1)|0;if(!y){Qb=Nb;Rb=Ob}else{Sb=y;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=r;Qb=Sb;Rb=w}if(!(cq(m,g,Rb,97015,Qb)|0))c[u>>2]=c[g>>2];zq(Qb)}w=c[l+136>>2]|0;if(w|0){r=c[l+148>>2]|0;y=w;i:do if(r|0){x=c[g>>2]|0;C=w;while(1){da=C+1|0;D=C+2|0;z=C+3|0;A=(d[da>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;s=A+x|0;if(s>>>0<A>>>0|s>>>0<x>>>0){Tb=77;break}La=yq(c[m>>2]|0,s)|0;if(!La){Tb=9929;break}c[m>>2]=La;c[g>>2]=s;Ka=La+x|0;if(!A)Ub=s;else{s=0;do{a[Ka+s>>0]=a[C+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;C=C+((d[da>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-y|0)>>>0>=r>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}r=c[n>>2]|0;y=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;w=k+4|0;c[w>>2]=0;x=aq(k,w,r,y,b)|0;y=c[k>>2]|0;do if(!x){r=cq(m,g,c[w>>2]|0,97020,y)|0;if(r|0){Vb=r;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);zq(y);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=xq(7)|0;if(!x)break;w=l+104|0;a[x>>0]=(c[w>>2]|0)>>>8;a[x+1>>0]=c[w>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(cq(m,g,7,97025,x)|0))c[u>>2]=c[g>>2];zq(x)}while(0);y=l+68|0;x=c[y>>2]|0;j:do if(x){w=l+72|0;r=b+24|0;C=l+76|0;A=k+8|0;s=k+4|0;Ka=x;La=0;while(1){Ta=c[(c[w>>2]|0)+(La<<2)>>2]|0;if((bu(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[C>>2]|0)+(La<<2)>>2]|0;if(!(c[r>>2]|0))rq(m,Ta,Wb);else{Xb=bu(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=Ua;Ua=1;Zb=1;_b=0;$b=0;ac=0;bc=0;while(1){if(Zb){cc=Ua<<1;dc=yq(_b,cc)|0;if(!dc){ec=_b;fc=$b;gc=ac}else{hc=dc;ic=cc;v=238}}else{hc=_b;ic=ac;v=238}if((v|0)==238){v=0;a[hc+$b>>0]=Yb;ec=hc;fc=Ua;gc=ic}bc=bc+1|0;Yb=a[Ta+bc>>0]|0;Ua=fc+1|0;Zb=gc>>>0<Ua>>>0;if(!(Yb<<24>>24))break;else{_b=ec;$b=fc;ac=gc}}if(Zb){ac=Ua<<1;$b=yq(ec,ac)|0;if(!$b){jc=Ua;kc=ec;lc=fc;mc=gc}else{nc=$b;oc=ac;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=Ua;mc=oc}if(mc>>>0<jc>>>0){ac=jc<<1;$b=yq(kc,ac)|0;if(!$b){pc=kc;qc=lc;rc=mc}else{sc=$b;tc=ac;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(aq(k,s,Wb,Xb,b)|0)){ac=c[s>>2]|0;if(!ac){uc=pc;vc=qc}else{$b=ac;ac=pc;_b=qc;Yb=rc;bc=0;while(1){Ta=a[(c[k>>2]|0)+bc>>0]|0;z=_b+1|0;if(Yb>>>0<z>>>0){D=z<<1;da=yq(ac,D)|0;if(!da){wc=$b;xc=ac;yc=_b;zc=Yb}else{Ac=da;Bc=D;v=251}}else{Ac=ac;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+_b>>0]=Ta;wc=c[s>>2]|0;xc=Ac;yc=z;zc=Bc}bc=bc+1|0;if(bc>>>0>=wc>>>0){uc=xc;vc=yc;break}else{$b=wc;ac=xc;_b=yc;Yb=zc}}}if(cq(m,g,vc,97030,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;zq(c[k>>2]|0);zq(Cc)}La=La+1|0;Xb=c[y>>2]|0;if(La>>>0>=Xb>>>0){Dc=Xb;break j}else Ka=Xb}if((v|0)==231){c[p>>2]=66;Dc=Ka;break}else if((v|0)==233){c[p>>2]=67;Dc=Ka;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){y=c[l+72>>2]|0;x=0;do{if(!(au(c[y+(x<<2)>>2]|0,97035)|0))break k;x=x+1|0}while(x>>>0<Dc>>>0)}rq(m,97035,97043)}while(0);x=l+80|0;l:do if(c[x>>2]|0){y=l+84|0;Ka=b+24|0;La=l+88|0;s=l+92|0;A=l+96|0;r=k+8|0;C=k+4|0;w=0;while(1){Xb=c[(c[y>>2]|0)+(w<<2)>>2]|0;if((bu(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}Ua=c[Ka>>2]|0;Zb=c[(c[La>>2]|0)+(w<<2)>>2]|0;Yb=c[(c[s>>2]|0)+(w<<2)>>2]|0;_b=c[(c[A>>2]|0)+(w<<2)>>2]|0;ac=bu(_b)|0;$b=Wb;Wb=1;bc=1;z=0;Ta=0;D=0;da=0;while(1){if(bc){cc=Wb<<1;dc=yq(z,cc)|0;if(!dc){Ec=z;Fc=Ta;Gc=D}else{Hc=dc;Ic=cc;v=273}}else{Hc=z;Ic=D;v=273}if((v|0)==273){v=0;a[Hc+Ta>>0]=$b;Ec=Hc;Fc=Wb;Gc=Ic}da=da+1|0;$b=a[Xb+da>>0]|0;Wb=Fc+1|0;bc=Gc>>>0<Wb>>>0;if(!($b<<24>>24))break;else{z=Ec;Ta=Fc;D=Gc}}if(bc){D=Wb<<1;Ta=yq(Ec,D)|0;if(!Ta){Jc=Wb;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=Ta;Oc=D;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=Wb;Mc=Oc}D=(Ua|0)!=0;Ta=D&1;if(Mc>>>0<Jc>>>0){z=Jc<<1;$b=yq(Kc,z)|0;if(!$b){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=$b;Uc=z;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=Ta;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0<Pc>>>0){Ta=Pc<<1;z=yq(Qc,Ta)|0;if(!z){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=z;_c=Ta;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}Ta=a[Zb>>0]|0;z=Yc>>>0<Vc>>>0;if(!(Ta<<24>>24)){$c=Vc;ad=z;bd=Wc;cd=Xc;dd=Yc}else{$b=Ta;Ta=Vc;da=z;z=Wc;Xb=Xc;cc=Yc;dc=0;while(1){if(da){ed=Ta<<1;fd=yq(z,ed)|0;if(!fd){gd=z;hd=Xb;id=cc}else{jd=fd;kd=ed;v=288}}else{jd=z;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=$b;gd=jd;hd=Ta;id=kd}dc=dc+1|0;$b=a[Zb+dc>>0]|0;ed=hd+1|0;fd=id>>>0<ed>>>0;if(!($b<<24>>24)){$c=ed;ad=fd;bd=gd;cd=hd;dd=id;break}else{Ta=ed;da=fd;z=gd;Xb=hd;cc=id}}}if(ad){cc=$c<<1;Xb=yq(bd,cc)|0;if(!Xb){ld=bd;md=cd;nd=dd}else{od=Xb;pd=cc;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=$c;nd=pd}cc=a[Yb>>0]|0;Xb=md+1|0;z=nd>>>0<Xb>>>0;if(!(cc<<24>>24)){qd=Xb;rd=z;sd=ld;td=md;ud=nd}else{da=cc;cc=Xb;Xb=z;z=ld;Ta=md;$b=nd;dc=0;while(1){if(Xb){Zb=cc<<1;Ua=yq(z,Zb)|0;if(!Ua){vd=z;wd=Ta;xd=$b}else{yd=Ua;zd=Zb;v=297}}else{yd=z;zd=$b;v=297}if((v|0)==297){v=0;a[yd+Ta>>0]=da;vd=yd;wd=cc;xd=zd}dc=dc+1|0;da=a[Yb+dc>>0]|0;Zb=wd+1|0;Ua=xd>>>0<Zb>>>0;if(!(da<<24>>24)){qd=Zb;rd=Ua;sd=vd;td=wd;ud=xd;break}else{cc=Zb;Xb=Ua;z=vd;Ta=wd;$b=xd}}}if(rd){$b=qd<<1;Ta=yq(sd,$b)|0;if(!Ta){Ad=sd;Bd=td;Cd=ud}else{Dd=Ta;Ed=$b;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=qd;Cd=Ed}do if(D){c[k>>2]=0;c[r>>2]=0;c[C>>2]=0;if(aq(k,C,_b,ac,b)|0){Fd=Ad;break}$b=c[C>>2]|0;if(!$b){Gd=Ad;Hd=Bd;Id=Cd}else{Ta=$b;$b=Ad;z=Bd;Xb=Cd;cc=0;while(1){da=a[(c[k>>2]|0)+cc>>0]|0;dc=z+1|0;if(Xb>>>0<dc>>>0){Yb=dc<<1;Ua=yq($b,Yb)|0;if(!Ua){Jd=Ta;Kd=$b;Ld=z;Md=Xb}else{Nd=Ua;Od=Yb;v=308}}else{Nd=$b;Od=Xb;v=308}if((v|0)==308){v=0;a[Nd+z>>0]=da;Jd=c[C>>2]|0;Kd=Nd;Ld=dc;Md=Od}cc=cc+1|0;if(cc>>>0>=Jd>>>0){Gd=Kd;Hd=Ld;Id=Md;break}else{Ta=Jd;$b=Kd;z=Ld;Xb=Md}}}Xb=a[_b>>0]|0;if(!(Xb<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}z=Xb;Xb=Gd;$b=Hd;Ta=Id;cc=0;while(1){dc=$b+1|0;if(Ta>>>0<dc>>>0){da=dc<<1;Yb=yq(Xb,da)|0;if(!Yb){Rd=Xb;Sd=$b;Td=Ta}else{Ud=Yb;Vd=da;v=314}}else{Ud=Xb;Vd=Ta;v=314}if((v|0)==314){v=0;a[Ud+$b>>0]=z;Rd=Ud;Sd=dc;Td=Vd}cc=cc+1|0;z=a[_b+cc>>0]|0;if(!(z<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{Xb=Rd;$b=Sd;Ta=Td}}}else{Ta=a[_b>>0]|0;if(!(Ta<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}$b=Ta;Ta=Ad;Xb=Bd;z=Cd;cc=0;while(1){dc=Xb+1|0;if(z>>>0<dc>>>0){da=dc<<1;Yb=yq(Ta,da)|0;if(!Yb){Wd=Ta;Xd=Xb;Yd=z}else{Zd=Yb;_d=da;v=320}}else{Zd=Ta;_d=z;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=$b;Wd=Zd;Xd=dc;Yd=_d}cc=cc+1|0;$b=a[_b+cc>>0]|0;if(!($b<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{Ta=Wd;Xb=Xd;z=Yd}}}while(0);do if((v|0)==322){v=0;if(cq(m,g,Qd,97052,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);zq(Fd);w=w+1|0;if(w>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){w=c[l+152>>2]|0;C=x;m:do if(w|0){r=c[g>>2]|0;A=x;while(1){s=A+1|0;La=A+2|0;Ka=A+3|0;y=(d[s>>0]<<16|d[A>>0]<<24|d[La>>0]<<8|d[Ka>>0])+12|0;_b=y+r|0;if(_b>>>0<y>>>0|_b>>>0<r>>>0){$d=77;break}ac=yq(c[m>>2]|0,_b)|0;if(!ac){$d=9929;break}c[m>>2]=ac;c[g>>2]=_b;D=ac+r|0;if(!y)ae=_b;else{_b=0;do{a[D+_b>>0]=a[A+_b>>0]|0;_b=_b+1|0}while((_b|0)!=(y|0));ae=c[g>>2]|0}c[u>>2]=ae;A=A+((d[s>>0]<<16|d[A>>0]<<24|d[La>>0]<<8|d[Ka>>0])+12)|0;if((A-C|0)>>>0>=w>>>0)break m;else r=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}w=c[g>>2]|0;C=w+12|0;if(w>>>0>4294967283)break;x=yq(c[m>>2]|0,C)|0;if(!x)break;c[m>>2]=x;c[g>>2]=C;C=x+w|0;a[C>>0]=0;a[C+1>>0]=0;a[C+2>>0]=0;a[C+3>>0]=0;w=C+4|0;a[w>>0]=73;a[C+5>>0]=69;a[C+6>>0]=78;a[C+7>>0]=68;x=bq(w,4)|0;w=C+8|0;a[w>>0]=x>>>24;a[w+1>>0]=x>>>16;a[w+2>>0]=x>>>8;a[w+3>>0]=x;c[u>>2]=c[g>>2]}while(0);zq(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ia=j;return}function pq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Ia;Ia=Ia+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=xq(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Ia=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=yq(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){sq(D,f,z,g,v);tq(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}zq(C);Ia=h;return}tq(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ia=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=xq(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){lq(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=xq(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){lq(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[30048+(x<<2)>>2]|0;G=c[30016+(x<<2)>>2]|0;H=c[29984+(x<<2)>>2]|0;I=c[29952+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=30048+(e<<2)|0,J=30016+(e<<2)|0,I=29984+(e<<2)|0,z|0):0){H=c[29952+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=0;O=B(L+(B(M,H)|0)|0,w)|0;P=(B(M+N|0,w)|0)+F|0;while(1){R=1<<(P&7^7);if(!(1<<(O&7^7)&(d[f+(O>>>3)>>0]|0))){S=D+(P>>>3)|0;T=(R^255)&(d[S>>0]|0);U=S}else{S=D+(P>>>3)|0;T=R|(d[S>>0]|0);U=S}a[U>>0]=T;Q=Q+1|0;if((Q|0)==(w|0))break;else{O=O+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){tq((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;tq((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=yq(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;F=c[o>>2]|0;sq(e,D+(c[r>>2]|0)|0,z+7&-8,z,F);V=tq((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,F,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}zq(W);if(!x){F=yq(0,K)|0;if(!F){Y=9954;Z=0}else{_=F;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){F=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;sq(F,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=tq((c[b>>2]|0)+(c[p+4>>2]|0)|0,F,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}zq(Z);if(!x){z=yq(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;F=B(G,w)|0;e=c[o+8>>2]|0;sq(z,D+(c[r+8>>2]|0)|0,F+7&-8,F,e);$=tq((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}zq(aa);if(!x){e=yq(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;F=c[o+12>>2]|0;sq(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,F);ca=tq((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,F,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}zq(da);if(!x){F=yq(0,K)|0;if(!F){fa=9954;ga=0}else{ha=F;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){F=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;sq(F,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=tq((c[b>>2]|0)+(c[p+16>>2]|0)|0,F,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}zq(ga);if(!x){z=yq(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;F=B(G,w)|0;e=c[o+20>>2]|0;sq(z,D+(c[r+20>>2]|0)|0,F+7&-8,F,e);ia=tq((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}zq(ja);if(!x){x=yq(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;sq(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);tq((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;zq(la)}while(0)}zq(D);Ia=h;return}function qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0<n>>>0){o=n<<1;p=yq(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=yq(0,2)|0;if(!j){e=c[l>>2]|0;i=yq(0,2)|0;if(!i){f=0;g=0;break a}else{w=1;x=e;y=i;z=0}}else{a[j>>0]=k>>>8;w=2;x=c[l>>2]|0;y=j;z=1}a[y+z>>0]=x;f=y;g=w}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=yq(0,2)|0;if(!k){i=c[j>>2]|0;e=yq(0,2)|0;if(!e){A=0;B=0;C=0}else{D=1;E=i;F=e;G=0;v=17}}else{a[k>>0]=l>>>8;D=2;E=c[j>>2]|0;F=k;G=1;v=17}if((v|0)==17){a[F+G>>0]=E;A=F;B=D;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0<l>>>0){e=l<<1;i=yq(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0<H>>>0){k=H<<1;j=yq(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0<N>>>0){j=N<<1;e=yq(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0<T>>>0){l=yq(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(cq(b,T,g,97062,f)|0){zq(f);return}c[b+8>>2]=c[T>>2];zq(f);return}function rq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=f;f=1;h=1;i=0;j=0;k=0;l=0;while(1){if(h){m=f<<1;n=yq(j,m)|0;if(!n){o=j;p=k;q=l}else{r=n;s=m;t=5}}else{r=j;s=l;t=5}if((t|0)==5){t=0;a[r+k>>0]=g;o=r;p=f;q=s}i=i+1|0;g=a[d+i>>0]|0;f=p+1|0;h=q>>>0<f>>>0;if(!(g<<24>>24))break;else{j=o;k=p;l=q}}if(h){u=f;v=o;w=p;x=q;t=8}else{y=f;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=yq(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=B;B=0;z=C;C=D;D=E;while(1){E=C+1|0;if(D>>>0<E>>>0){A=E<<1;q=yq(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=y;H=K;I=E;J=L}B=B+1|0;y=a[e+B>>0]|0;if(!(y<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(cq(b,J,G,97057,F)|0){zq(F);return}c[b+8>>2]=c[J>>2];zq(F);return}function sq(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=j;m=0;while(1){n=b+(l>>>3)|0;a[n>>0]=(1<<(l&7^7)^255)&(d[n>>0]|0);m=m+1|0;if((m|0)==(h|0))break;else l=l+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){l=j+f|0;m=o;n=j;p=0;while(1){q=1<<(n&7^7);if(!(1<<(m&7^7)&(d[c+(m>>>3)>>0]|0))){r=b+(n>>>3)|0;s=(q^255)&(d[r>>0]|0);t=r}else{r=b+(n>>>3)|0;s=q|(d[r>>0]|0);t=r}a[t>>0]=s;p=p+1|0;if((p|0)==(f|0))break;else{m=m+1|0;n=n+1|0}}o=o+f|0;if(i){n=l;m=0;while(1){p=b+(n>>>3)|0;a[p>>0]=(1<<(n&7^7)^255)&(d[p>>0]|0);m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=l;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}function tq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Ia;Ia=Ia+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Ia=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ia=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=0;r=0;s=0;t=0;u=0;v=k+20|0;w=k+32|0;x=k+44|0;y=k+56|0;z=89}else{o=yq(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=yq(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=yq(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=yq(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=yq(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=E;r=p;s=o;t=C;u=G;v=m;w=A;x=D;y=F;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=L;N=K;O=J;P=I;Q=0;R=H;S=k+32|0;T=k+44|0;U=k+56|0;V=9949}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=s;N=r;O=t;P=q;Q=u;R=v;S=w;T=x;U=y;V=0}else{u=(l|0)==0;q=(f|0)!=0;t=(l|0)!=0;r=f>>>0<l>>>0;s=l+1|0;z=0;H=0;I=0;J=0;while(1){K=H;H=e+(B(J,l)|0)|0;L=(K|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!u){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(L){if(!t)break a;p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!t)break a;p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[K+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-((d[H+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-((d[K+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(((d[K+p>>0]|0)+(d[H+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(L){if(q){p=0;do{a[m+p>>0]=a[H+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[H+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(q){p=0;do{a[m+p>>0]=(d[H+p>>0]|0)-(d[K+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!r)break a;p=f;do{C=p-f|0;F=a[H+C>>0]|0;D=a[K+p>>0]|0;A=a[K+C>>0]|0;C=D&255;G=A&255;E=C-G|0;W=(E|0)>-1?E:0-E|0;E=F&255;X=E-G|0;Y=(X|0)>-1?X:0-X|0;X=C+E+(B(G,-2)|0)|0;G=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[H+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(G|0)?((Y|0)>(G|0)?A:D):F)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{F=0;D=0;while(1){A=F+(d[m+D>>0]|0)|0;D=D+3|0;if(D>>>0>=p>>>0){Z=A;break}else F=A}}F=(o|0)==0|Z>>>0<i>>>0;i=F?Z:i;h=F?o:h;o=o+1|0}while((o|0)!=5);o=B(J,s)|0;a[b+o>>0]=h;if(!u){K=c[k+(h*12|0)>>2]|0;L=0;do{F=L;L=L+1|0;a[b+(L+o)>>0]=a[K+F>>0]|0}while((L|0)!=(l|0))}J=J+1|0;if((J|0)==(g|0))break;else{z=h;I=i}}M=c[k>>2]|0;N=c[k+12>>2]|0;O=c[k+24>>2]|0;P=c[k+36>>2]|0;Q=c[k+48>>2]|0;R=v;S=w;T=x;U=y;V=0}}zq(M);c[R>>2]=0;zq(N);c[S>>2]=0;zq(O);c[T>>2]=0;zq(P);c[U>>2]=0;zq(Q);n=V;Ia=j;return n|0}function uq(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=Ia;Ia=Ia+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;oq(j,k,l,d,e,f);f=c[n>>2]|0;gq(j+28|0);j=c[m>>2]|0;if(j|0)zq(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Fu(b,104706)|0;if(!l){zq(j);Ia=i;return f|0}hv(j,1,k,l)|0;Lu(l)|0;zq(j);Ia=i;return f|0}function vq(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(a|0)!=0):0){b=Ys(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[557122]=(c[557122]|0)+a;d=b+8|0}else d=0;Wv(d|0,0,a|0)|0;return d|0}function wq(a,b,c){a=a|0;b=b|0;c=c|0;Wv(a|0,b&255|0,c|0)|0;return}function xq(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(b|0)!=0):0){d=Ys(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[557122]=(c[557122]|0)+b;e=d+8|0}else e=0;Wv(e|0,0,b|0)|0;return e|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[557122]=b-(c[a+-4>>2]|0)+(c[557122]|0);d=$s(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(d|0)!=0):0){a=Ys(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[557122]=(c[557122]|0)+d;f=a+8|0}else f=0;Wv(f|0,0,d|0)|0;e=f;return e|0}function zq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;if(c[555799]|0){Ia=b;return}if(!a){Ia=b;return}c[557121]=(c[557121]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;vv(97067,e)|0;Nu(c[8745]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;wt(1715360,97067,d)|0;Cn(1715360);Ia=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0<d>>>0)}c[557122]=(c[557122]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Zs(f);Ia=b;return}function Aq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[557120]|0;c[557120]=d+1;e=Ys(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[557122]|0)+92|0;c[557122]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[557120]=d+2;if(!i){j=0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Ys(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[557122]=f+i;j=d+8|0;Wv(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[557120]=(c[557120]|0)+1,(g|0)!=0):0){h=Ys(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[557122]=(c[557122]|0)+g;i=h+8|0}else i=0;Wv(i|0,0,g|0)|0;j=f;k=i}else{c[557122]=f-(c[a+-4>>2]|0)+(c[557122]|0);i=$s(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=c[d>>2]|0;k=i+8|0}c[b>>2]=k;Wv(k+e|0,0,j-e|0)|0;return 0}function Cq(a){a=a|0;Ro(a);return}function Dq(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function Eq(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}Fq(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;Fq(b);return}function Fq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ia;Ia=Ia+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=f;p=h;q=j;r=l;s=n;t=0;while(1){u=(o<<5|o>>>27)+1518500249+s+(r&~p|q&p)+(c[e+(t<<2)>>2]|0)|0;v=p<<30|p>>>2;t=t+1|0;if((t|0)==20)break;else{w=q;x=o;o=u;q=v;s=r;r=w;p=x}}p=u;u=o;o=v;v=q;q=r;r=20;while(1){y=(p<<5|p>>>27)+1859775393+(o^u^v)+q+(c[e+(r<<2)>>2]|0)|0;z=u<<30|u>>>2;r=r+1|0;if((r|0)==40)break;else{s=o;t=p;p=y;o=z;q=v;v=s;u=t}}u=y;y=p;p=z;z=o;o=v;v=40;while(1){A=(u<<5|u>>>27)+-1894007588+o+((z|p)&y|z&p)+(c[e+(v<<2)>>2]|0)|0;B=y<<30|y>>>2;v=v+1|0;if((v|0)==60)break;else{q=p;r=u;u=A;p=B;o=z;z=q;y=r}}y=A;A=u;u=B;B=p;p=z;z=60;while(1){C=(y<<5|y>>>27)+-899497514+(u^A^B)+p+(c[e+(z<<2)>>2]|0)|0;D=A<<30|A>>>2;z=z+1|0;if((z|0)==80)break;else{o=u;v=y;y=C;u=D;p=B;B=o;A=v}}c[a>>2]=C+f;c[g>>2]=y+h;c[i>>2]=D+j;c[k>>2]=u+l;c[m>>2]=B+n;c[a+92>>2]=0;Ia=b;return}function Gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Ia;Ia=Ia+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=0;s=0;t=d;u=b;while(1){v=t+-1|0;w=a[u>>0]|0;c[k>>2]=r+1;a[h+28+r>>0]=w;w=s+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)Fq(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=c[k>>2]|0;s=c[i>>2]|0;t=v;u=u+1|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){Eq(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;wt(e,97089,g)|0;Ia=f;return y|0}function Hq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0<h>>>0){t=q;u=15;while(1){v=t+1|0;w=a[t>>0]|0;x=u+(w&255)|0;if(w<<24>>24==-1&v>>>0<h>>>0){t=v;u=x}else{y=v;z=x;break}}}else{y=q;z=15}else{y=q;z=s}A=o+z|0;B=y+z|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;x=y;v=o;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=y+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;s=x+2|0;if(p>>>0<e>>>0){F=s;break}x=r&15;a:do if((x|0)==15){q=s;E=15;while(1){if(q>>>0>=l>>>0){G=q;H=E;break a}w=q+1|0;D=a[q>>0]|0;I=E+(D&255)|0;if(D<<24>>24==-1){q=w;E=I}else{G=w;H=I;break}}}else{G=s;H=x}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;x=A+4|0;s=p+4|0;r=x;t=s+(0-(c[30080+(r-s<<2)>>2]|0))|0;s=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[x>>0]=s;a[x+1>>0]=s>>8;a[x+2>>0]=s>>16;a[x+3>>0]=s>>24;J=x;K=r;L=t}else{t=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=t;a[A+1>>0]=t>>8;a[A+2>>0]=t>>16;a[A+3>>0]=t>>24;t=A+4|0;J=t;K=t;L=p+4|0}t=A+4+H|0;if(t>>>0>f>>>0){if(t>>>0>m>>>0){F=G;break}r=A+12|0;x=(f>>>0>r>>>0?f:r)+-1+(0-K)&-8;s=J;u=L;while(1){E=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[s>>0]=E;a[s+1>>0]=E>>8;a[s+2>>0]=E>>16;a[s+3>>0]=E>>24;E=s+4|0;q=u+4|0;I=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[E>>0]=I;a[E+1>>0]=I>>8;a[E+2>>0]=I>>16;a[E+3>>0]=I>>24;s=s+8|0;if(s>>>0>=f>>>0)break;else u=u+8|0}u=r+x|0;if(u>>>0<t>>>0){s=u;u=L+8+x|0;while(1){a[s>>0]=a[u>>0]|0;s=s+1|0;if((s|0)==(t|0))break;else u=u+1|0}}}else{u=J;s=L;while(1){x=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[u>>0]=x;a[u+1>>0]=x>>8;a[u+2>>0]=x>>16;a[u+3>>0]=x>>24;x=u+4|0;r=s+4|0;p=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;a[x>>0]=p;a[x+1>>0]=p>>8;a[x+2>>0]=p>>16;a[x+3>>0]=p>>24;u=u+8|0;if(u>>>0>=t>>>0)break;else s=s+8|0}}n=G;o=t}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=y;else{Vv(o|0,y|0,z|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[554964]|c[554962]|0){Wv(b|0,0,d|0)|0;return}if((c[554977]|0)==(c[554975]|0)?(c[554978]|0)==(c[554976]|0):0){Jq(0,b,d);return}if((d|0)<=0)return;Wv(b|0,0,d|0)|0;return}function Jq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c[8738]=e;if(ka(28)|0){Wv(d|0,0,e|0)|0;return}a=c[554963]|0;c[554963]=a+1;if(!((a|0)<3|(c[554964]|0)!=0)){Wv(d|0,0,e|0)|0;return}c[742739]=1;a=c[554976]|0;f=(e|0)/(((a|0)==0?1:a<<1)|0)|0;a=(c[554975]|0)==44100?(f|0)/2|0:f;f=(c[8737]|0)==-1;g=Xr()|0;if(!f){f=(g-(c[8737]|0)|0)>500;c[8737]=Xr()|0;if(f){if((a|0)<=0)return;Wv(d|0,0,a<<1|0)|0;return}}else c[8737]=g;c[557128]=0;Kq(2754124,a);Kq(2767676,a);Kq(2781228,a);Kq(2794780,a);Kq(2808332,a);Kq(2821884,a);Kq(2835436,a);Kq(2848988,a);Kq(2862540,a);Kq(2876092,a);Kq(2889644,a);Kq(2903196,a);Kq(2916748,a);Kq(2930300,a);Kq(2943852,a);Kq(2957404,a);if(c[557128]|0)c[554970]=(c[554970]|0)+1;g=(c[555267]|0)==0;if(!g){if(c[690587]|0)Wv(2808332,0,e|0)|0;if(c[693975]|0)Wv(2821884,0,e|0)|0;if(c[697363]|0)Wv(2835436,0,e|0)|0;if(c[700751]|0)Wv(2848988,0,e|0)|0}f=g?16:8;g=(a|0)>0;if(g){h=2;do{i=(h|0)/2|0;j=0;do{k=j+i|0;l=0;do{m=2754124+(j*13552|0)+(l<<1)|0;n=(b[2754124+(k*13552|0)+(l<<1)>>1]|0)+(b[m>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)o=((n+24576|0)/5|0)+-24576|0;else o=n;else o=((n+-24576|0)/5|0)+24576|0;b[m>>1]=o;l=l+1|0}while((l|0)!=(a|0));j=j+h|0}while(j>>>0<f>>>0);h=h<<1}while(h>>>0<=f>>>0)}else{h=2;do{o=0;do o=o+h|0;while(o>>>0<f>>>0);h=h<<1}while(h>>>0<=f>>>0)}f=c[555247]|0;if((f|0)!=256&g){h=0;do{o=2754124+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0))}if(!((c[688530]|0)==0|(c[557129]|0)==0)?(h=c[557127]|0,h|0):0){f=(B(c[555248]|0,h)|0)>>16;if(0)Xs(2228516,1727776,a);if(g){h=0;do{o=1727776+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0));h=0;do{f=2754124+(h<<1)|0;o=(b[1727776+(h<<1)>>1]|0)+(b[f>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)p=((o+24576|0)/5|0)+-24576|0;else p=o;else p=((o+-24576|0)/5|0)+24576|0;b[f>>1]=p;h=h+1|0}while((h|0)!=(a|0))}}h=c[554975]|0;p=c[554976]|0;if((h|0)==22050&(p|0)==1){if(g){f=0;do{b[d+(f<<1)>>1]=b[2754124+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(a|0))}}else if((h|0)==44100&(p|0)==2?(p=a<<2,g):0){g=0;do{b[d+(g<<1)>>1]=b[2754124+(g>>>2<<1)>>1]|0;g=g+1|0}while((g|0)<(p|0))}p=c[742746]|0;if(!p)q=h;else{Ta[p&15](d,(e|0)/2|0);q=c[554975]|0}if(((q|0)==22050&(c[554976]|0)==1&(c[554969]|0)!=0?(q=c[742747]|0,e=10584e3-((c[q+16>>2]|0)/2|0)|0,p=(a|0)<(e|0)?a:e,(p|0)>0):0)?(Ko(b[d>>1]|0,q),(p|0)!=1):0){q=1;do{Ko(b[d+(q<<1)>>1]|0,c[742747]|0);q=q+1|0}while((q|0)<(p|0))}c[742739]=0;return}function Kq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;wq(a,0,8192);if(1<<c[a+8240>>2]&c[781382]){Lq(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Lq(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=c[h>>2]|0;m=0;while(1){n=d-m|0;o=g-l|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=m+f|0;q=l+k|0;r=(n|0)>(q|0)?n:q;q=m+-1|0;n=0;s=l;t=m;while(1){b[a+(t<<1)>>1]=b[o+(s<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=l+-1-r|0;m=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((m|0)>=(d|0)){u=14;break}else l=s?t:0}if((u|0)==14)return;if((g|0)>(l|0))return;c[a+11548>>2]=0;c[e>>2]=0;c[a+8236>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Lq(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;f=a+12012|0;c[a+12008>>2]=c[f>>2];g=c[554976]|0;h=(((d<<1|0)/(((g|0)==0?1:g<<1)|0)|0)*1e3|0)/(c[554975]|0)|0;g=Xr()|0;i=((((c[f>>2]|0)+h|0)*6|0)+(g<<1)|0)/8|0;h=g+-200|0;c[f>>2]=(i|0)>(h|0)?i:h;h=a+12004|0;c[h>>2]=0;Wv(a+12016|0,0,1536)|0;if((d|0)>0){i=a+11544|0;f=a+8228|0;g=a+8232|0;j=a+8224|0;k=a+11552|0;l=a+8244|0;m=a+8608|0;n=a+11628|0;o=a+8240|0;p=a+11992|0;q=a+11996|0;r=a+11540|0;s=d;d=a;while(1){t=b[i>>1]|0;u=t<<16>>16;if(t<<16>>16<183){t=183-u|0;v=(t|0)<(s|0)?t:s;Vv(d|0,a+8244+(u<<1)|0,v<<1|0)|0;b[i>>1]=v+(e[i>>1]|0);w=s-v|0;x=d+(v<<1)|0}else{w=s;x=d}v=c[h>>2]|0;if((v|0)<64){u=c[f>>2]|0;c[a+12016+(v*24|0)>>2]=u;c[a+12016+(v*24|0)+4>>2]=c[g>>2];t=c[j>>2]|0;c[a+12016+(v*24|0)+8>>2]=t;y=a+12016+(v*24|0)+12|0;c[y>>2]=0;if(t|0){z=c[t+8>>2]|0;c[y>>2]=(u|0)/(((z|0)>1?z:1)|0)|0}c[a+12016+(v*24|0)+16>>2]=c[k>>2];c[a+12016+(v*24|0)+20>>2]=c[554970];c[h>>2]=v+1}v=(w|0)>0;if(!v)break;z=b[m>>1]|0;u=c[j>>2]|0;y=(u|0)==0;if(y)A=0;else A=((c[u>>2]>>3|0)/3|0|0)%3|0;t=c[n>>2]>>3;C=((t|0)/3|0|0)%3|0;D=(A|0)>(C|0)?A:C;C=c[781383]|0;E=c[o>>2]|0;F=1<<E+4;G=1<<E;c[p>>2]=(G&C|0)==0?((F&C|0)==0|(D|0)>1?D:1):2;if(y)H=0;else H=((c[u>>2]>>3|0)/9|0|0)%3|0;u=((t|0)/9|0|0)%3|0;t=(H|0)>(u|0)?H:u;u=(t|0)==2?12:t;t=(u|0)==1?8:u;c[q>>2]=t;u=c[781385]|0;if(!(u&F))I=t;else{F=(t|0)>8?t:8;c[q>>2]=F;I=F}if(!(u&G))J=I;else{G=(I|0)>12?I:12;c[q>>2]=G;J=G}G=17<<E;if((u&G|0)==(G|0))c[q>>2]=(J|0)>15?J:15;Mq(a,l);G=c[781384]|0;u=c[o>>2]|0;if(!(1<<u&G)){if(1<<u+4&G|0){G=0;do{u=a+8244+(G<<1)|0;b[u>>1]=b[u>>1]&-4089;G=G+1|0}while((G|0)!=183)}}else{G=0;do{u=a+8244+(G<<1)|0;E=b[u>>1]|0;F=E<<16>>16;if(E<<16>>16>-1)K=F&-4096;else K=0-((0-(F<<16)|0)>>>16&61440)|0;b[u>>1]=K;G=G+1|0}while((G|0)!=183)}G=c[q>>2]|0;if((G|0)>0){u=16-G|0;F=((B(u,b[l>>1]|0)|0)+(B(G,z<<16>>16)|0)|0)/16|0;b[l>>1]=F;E=F;F=1;do{t=a+8244+(F<<1)|0;E=((B(G,E<<16>>16)|0)+(B(u,b[t>>1]|0)|0)|0)/16|0;b[t>>1]=E;F=F+1|0}while((F|0)!=183)}b[i>>1]=0;Vv(a+8610+(((c[r>>2]|0)%8|0)*366|0)|0,l|0,366)|0;c[r>>2]=((c[r>>2]|0)+1|0)%8|0;if(v){s=w;d=x}else break}x=c[h>>2]|0;if((x|0)<64)L=x;else return}else L=0;x=c[a+8228>>2]|0;c[a+12016+(L*24|0)>>2]=x;c[a+12016+(L*24|0)+4>>2]=c[a+8232>>2];d=c[a+8224>>2]|0;c[a+12016+(L*24|0)+8>>2]=d;w=a+12016+(L*24|0)+12|0;c[w>>2]=0;if(d|0){s=c[d+8>>2]|0;c[w>>2]=(x|0)/(((s|0)>1?s:1)|0)|0}c[a+12016+(L*24|0)+16>>2]=c[a+11552>>2];c[a+12016+(L*24|0)+20>>2]=c[554970];c[h>>2]=L+1;return}function Mq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=Ia;Ia=Ia+352|0;f=e;Wv(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l+1|0)/(k|0)|0;n=a+11556|0;Vv(f|0,n|0,352)|0;if(!((l|0)%(k|0)|0)){c[a+11912>>2]=c[a+11620>>2];c[a+11908>>2]=c[a+11616>>2];c[a+11916>>2]=c[a+11612>>2]}Oq(a,n);Nq(n,d,183,a);n=1735968;l=n+128|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(l|0));Nq(f,1735968,64,a);f=0;do{n=d+(f<<1)|0;l=B(f,b[n>>1]|0)|0;b[n>>1]=((B(64-f|0,b[1735968+(f<<1)>>1]|0)|0)+l|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11988|0;o=c[f>>2]|0;p=m;q=k;r=f;s=j}else{j=a+8228|0;f=c[j>>2]|0;Wv(d|0,0,366)|0;k=f+1|0;f=a+11556|0;m=a+11584|0;if(c[a+11564>>2]|0?c[m>>2]|0:0){Nq(f,d,64,a);f=0;do{l=d+(f<<1)|0;b[l>>1]=(B(64-f|0,b[l>>1]|0)|0)/64|0;f=f+1|0}while((f|0)!=64)}c[m>>2]=0;m=a+11988|0;c[m>>2]=0;o=0;p=k;q=1;r=m;s=j}j=(c[s>>2]|0)+1|0;c[s>>2]=j;m=a+12e3|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[r>>2]=o+1;o=a+8232|0;c[o>>2]=(c[o>>2]|0)+1;if(((i?(c[a+8236>>2]|0)!=0:0)?(i=c[h+12>>2]|0,(i&128|0)==0):0)?(r=c[h+16>>2]|0,!((r|0)<=(i|0)|(j|0)<(B(r,q)|0))):0){r=B(i,q)|0;c[s>>2]=r;t=r}else t=j;a:do if(c[g>>2]|0?(c[a+11548>>2]|0)==0:0){if(!k){c[g>>2]=0;break}j=c[h+12>>2]|0;if(!(j&128)){r=c[h+16>>2]|0;if((r|0)>(j|0))break;u=(j|0)>0&(r|0)==0?j:32}else u=0;do if((p|0)<(u|0)){if((p|0)<32){j=0;r=p;while(1){j=(c[h+20+(r*20|0)+8>>2]|0)>0?1:j;if((r|0)>=31)break;else r=r+1|0}if((p|0)<31)v=(c[h+20+(p*20|0)+12>>2]|0)==1?1:j;else v=j}else v=0;if(!(c[a+11992>>2]|0))if(!v)break;else break a;else{r=c[h+8>>2]|0;if((v|0)==0?(t|0)>=((((r|0)>1?r:1)<<5)+128|0):0)break;else break a}}while(0);c[g>>2]=0}while(0);t=a+8220|0;v=c[t>>2]|0;if(!v){Ia=e;return}h=a+11548|0;if(!((k|0)==0&(c[h>>2]|0)!=0)){Ia=e;return}k=a+11552|0;p=c[k>>2]|0;if(p>>>0>=64){Ia=e;return}c[557128]=1;u=c[v+44560+(p<<2)>>2]|0;do if(!(u&4)){b:do if(u&2){if((p|0)<=0){c[554971]=p;w=0;break}if(!(u&1)){r=p;while(1){q=r+-1|0;c[k>>2]=q;if((r|0)<=1){x=q;y=47;break b}if(!(c[v+44560+(q<<2)>>2]&1))r=q;else{x=q;y=47;break}}}else{x=p;y=47}}else{r=p+1|0;c[k>>2]=r;x=r;y=47}while(0);if((y|0)==47){c[554971]=x;if(x>>>0>63)break;else w=x}r=v+43536+(w<<4)|0;if((((c[r>>2]|0)>63?(c[v+43536+(w<<4)+4>>2]|0)>63:0)?(c[v+43536+(w<<4)+8>>2]|0)>63:0)?(c[v+43536+(w<<4)+12>>2]|0)>63:0){c[h>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;c[o>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;Ia=e;return}j=c[v+43536+(w<<4)+(c[a+8240>>2]<<2)>>2]|0;if((j|0)>63)z=0;else z=v+16+(((j|0)>0?j:0)*680|0)|0;c[g>>2]=z;c[s>>2]=0;c[o>>2]=0;b[a+11544>>1]=183;c[m>>2]=Pq(v,r)|0;Ia=e;return}else{c[k>>2]=-1;c[554971]=-1}while(0);c[h>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;c[o>>2]=0;o=t;c[o>>2]=0;c[o+4>>2]=0;Ia=e;return}function Nq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=(c[a+84>>2]|0)!=0;h=c[a+80>>2]|0;i=c[a+28>>2]|0;if((i|0)==0?(c[f+11992>>2]|0)==0:0){c[a+4>>2]=0;Wv(d|0,0,e<<1|0)|0;return}j=a+4|0;k=c[j>>2]|0;l=a+12|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=(m|0)==(n|0)?k:c[l>>2]|0;p=(i*3|0)/2|0;i=c[a>>2]|0;q=(e|0)>0;if((i|0)==8&q){r=(h|0)==2&1;s=0;t=k;u=o;while(1){v=c[a+96+((t>>>10&63)<<2)>>2]|0;w=(B((c[a+96+(((t+1024|0)>>>10&63)<<2)>>2]|0)-v|0,t&1023)|0)+(v<<10)>>10;v=u<<r;x=c[a+96+((v>>>10&63)<<2)>>2]|0;y=t+m&65535;z=u+n&131071;b[d+(s<<1)>>1]=(B((((B((c[a+96+(((v+1024|0)>>>10&63)<<2)>>2]|0)-x|0,v&1023)|0)+(x<<10)>>10|0)/2|0)+w|0,p)|0)/3072|0;s=s+1|0;if((s|0)==(e|0)){A=y;C=z;break}else{t=y;u=z}}}else{A=k;C=o}switch(i|0){case 7:case 0:{if(q){o=0;k=A;u=C;while(1){t=(k&32768|0)==0?(k*3|0)+-49152|0:(49152-k|0)*3|0;if(g){s=(k|0)>57343;r=u&65535;if(r>>>0>57343)D=((r^65535)*24572|0)>>>13;else D=((r*24572|0)>>>0)/57344|0;E=(((t|0)/4|0)*3|0)+-12286+(((s?65535-k|0:k)*24572|0)/((s?8192:57344)|0)|0)|0;F=(((((u&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0)|0)/4|0)*3|0)+-12286+D|0}else{r=u&65535;E=t;F=(u&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0}r=k+m&65535;t=u+n&131071;b[d+(o<<1)>>1]=(B(((E|0)/4|0)+((F|0)/8|0)|0,p)|0)/3072|0;o=o+1|0;if((o|0)==(e|0)){G=r;H=t;I=17;break}else{k=r;u=t}}}else{J=A;K=C}break}default:{G=A;H=C;I=17}}if((I|0)==17){if((i|0)==1&q){C=(h|0)==2&1;A=0;u=G;k=H;while(1){o=k<<C;do if(g){F=(u|0)>61439;E=((F?65535-u|0:u)*24572|0)/((F?4096:61440)|0)|0;F=o&65535;if(F>>>0>61439){L=E;M=((F^65535)*24572|0)>>>12;break}else{L=E;M=((F*24572|0)>>>0)/61440|0;break}}else{F=(u|0)>57343;E=((F?65535-u|0:u)*24572|0)/((F?8192:57344)|0)|0;F=o&65535;if(F>>>0>57343){L=E;M=((F^65535)*24572|0)>>>13;break}else{L=E;M=((F*24572|0)>>>0)/57344|0;break}}while(0);o=u+m&65535;F=k+n&131071;b[d+(A<<1)>>1]=(B(L+-12286+((M+-12286|0)/2|0)|0,p)|0)/3072|0;A=A+1|0;if((A|0)==(e|0)){N=o;O=F;break}else{u=o;k=F}}}else{N=G;O=H}if((i|0)==2&q){H=(h|0)==2&1;G=0;k=N;u=O;while(1){A=u<<H;if(g){P=2;Q=((((A|0)/2|0)+-32768|0)/4|0)+(((A&65535)+-32768|0)/4|0)|0;R=(((((k|0)/2|0)+-32768|0)/4|0)+(((k&65535)+-32768|0)/4|0)|0)/2|0}else{P=4;Q=(A&65535)+-32768|0;R=(k+-32768|0)/4|0}A=k+m&65535;M=u+n&131071;b[d+(G<<1)>>1]=(B((((Q|0)/(P|0)|0|0)/2|0)+R|0,p)|0)/3072|0;G=G+1|0;if((G|0)==(e|0)){J=A;K=M;break}else{k=A;u=M}}}else{J=N;K=O}}if((i+-3|0)>>>0<2){O=(i|0)==3?32768:45056;N=g?O+6144|0:O;if(q)if((h|0)==2){O=0;u=J;k=K;while(1){G=u+m&65535;R=k+n&131071;b[d+(O<<1)>>1]=(B(((k<<1&65534)>>>0<N>>>0?-3071:3071)+((u|0)<(N|0)?-6143:6143)|0,p)|0)/3072|0;O=O+1|0;if((O|0)==(e|0)){S=G;T=R;I=40;break}else{u=G;k=R}}}else{k=0;u=J;O=K;while(1){R=u+m&65535;G=O+n&131071;b[d+(k<<1)>>1]=(B(((O&65535)>>>0<N>>>0?-3071:3071)+((u|0)<(N|0)?-6143:6143)|0,p)|0)/3072|0;k=k+1|0;if((k|0)==(e|0)){S=R;T=G;I=40;break}else{u=R;O=G}}}else{U=J;V=K}}else{S=J;T=K;I=40}a:do if((I|0)==40){b:do if((i|0)==5&q){K=(h|0)==2&1;if(g){J=32768>>>K;O=0;u=S;k=T;while(1){N=(u&16384|0)!=0;if(!(u&32768))W=N?32768-u|0:u;else W=((N?65536-u|0:u+-32768|0)<<1|0)/3|0;N=u+m&65535;G=k+n&131071;b[d+(O<<1)>>1]=(B(W+-8192+((k&J|0)==0?-1535:1535)|0,p)|0)/3072|0;O=O+1|0;if((O|0)==(e|0)){X=N;Y=G;break b}else{u=N;k=G}}}k=0;u=S;O=T;while(1){J=(u&16384|0)!=0;if(!(u&32768))Z=J?32768-u|0:u;else Z=((J?65536-u|0:u+-32768|0)<<1|0)/3|0;J=O<<K;G=J&65535;N=(J&16384|0)!=0;if(!(J&32768))_=N?32768-G|0:G;else _=((N?65536-G|0:G+-32768|0)<<1|0)/3|0;G=u+m&65535;N=O+n&131071;b[d+(k<<1)>>1]=(B(Z+-8192+((_+-8192|0)/2|0)|0,p)|0)/3072|0;k=k+1|0;if((k|0)==(e|0)){X=G;Y=N;break}else{u=G;O=N}}}else{X=S;Y=T}while(0);if((i|0)==6){O=a+88|0;if(c[O>>2]|0?(u=64-(c[a+32>>2]>>16)|0,k=(u|0)>1?u:1,u=(k|0)>63?(k<<2)+-192|0:k,q):0){k=a+44|0;K=a+52|0;N=a+48|0;G=c[k>>2]|0;J=0;do{do if(G)if((c[O>>2]|0)>1){R=(B(u-G|0,p)|0)/(u|0)|0;P=(B(G,p)|0)/(u|0)|0;Q=B(c[N>>2]|0,R)|0;b[d+(J<<1)>>1]=((B(c[K>>2]|0,P)|0)+Q|0)/2048|0;$=G;break}else{b[d+(J<<1)>>1]=(B(c[N>>2]|0,p)|0)/2048|0;$=G;break}else{c[N>>2]=c[K>>2];c[K>>2]=(tp(12286)|0)+-6143;b[d+(J<<1)>>1]=(B(c[N>>2]|0,p)|0)/2048|0;$=c[k>>2]|0}while(0);G=($+1|0)%(u|0)|0;c[k>>2]=G;J=J+1|0}while((J|0)!=(e|0));if((c[a>>2]|0)!=6){U=X;V=Y;break}}if(!(c[a+88>>2]|0)){if((m|0)>78)aa=(m<<3)+1120|0;else aa=(B(79-m|0,-60)|0)+1752|0;J=(aa|0)>0?aa:0;G=g?0:c[a+40>>2]|0;if(q){k=a+24|0;u=J>>>1;N=a+20|0;K=a+36|0;O=(m+500|0)/3|0;if(!G){Q=0;P=X;while(1){R=c[k>>2]&1^1;c[k>>2]=R;if(!R)ba=c[N>>2]|0;else{R=(tp(J)|0)-u|0;H=R+(c[N>>2]|0)|0;c[N>>2]=H;ba=H}H=c[K>>2]|0;R=(2048/(((H|0)<48?64:H+16|0)|0)|0)+48|0;H=(ba|0)<6143?ba:6143;c[N>>2]=(H|0)>-6143?H:-6143;b[d+(Q<<1)>>1]=(B(B(ba>>6,p)|0,(R|0)>64?R:64)|0)/2048|0;R=P+m&65535;Q=Q+1|0;if((Q|0)==(e|0)){U=R;V=Y;break a}else P=R}}P=0;Q=X;while(1){R=c[k>>2]&1^1;c[k>>2]=R;if(R|0){R=(tp(J)|0)-u|0;c[N>>2]=R+(c[N>>2]|0)}if(((B(Q+101|0,Q+317|0)|0)&8191|0)<(O|0)){R=(B((tp(12286)|0)+-6143|0,G)|0)/1792|0;H=R+(c[N>>2]|0)|0;c[N>>2]=H;ca=H}else ca=c[N>>2]|0;H=c[K>>2]|0;R=(2048/(((H|0)<48?64:H+16|0)|0)|0)+48|0;H=(ca|0)<6143?ca:6143;c[N>>2]=(H|0)>-6143?H:-6143;b[d+(P<<1)>>1]=(B(B(ca>>6,p)|0,(R|0)>64?R:64)|0)/2048|0;R=Q+m&65535;P=P+1|0;if((P|0)==(e|0)){U=R;V=Y;break}else Q=R}}else{U=X;V=Y}}else{U=X;V=Y}}else{U=X;V=Y}}while(0);c[j>>2]=U;c[l>>2]=V;V=c[a+92>>2]|0;if((V|0)<=0)return;a=(c[f+11540>>2]|0)-((V|0)==1?2:4)|0;if((a|0)>-1)da=a;else da=8-((0-a|0)%8|0)|0;a=(da|0)%8|0;if(!q)return;q=0;do{da=d+(q<<1)|0;b[da>>1]=((b[f+8610+(a*366|0)+(q<<1)>>1]<<1)+(b[da>>1]<<2)|0)/4|0;q=q+1|0}while((q|0)!=(e|0));return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;d=a+8224|0;e=c[d>>2]|0;f=(e|0)==0;if(!f?(g=c[e+8>>2]|0,h=(g|0)>1?g:1,g=a+8228|0,i=c[g>>2]|0,j=(i|0)/(h|0)|0,k=i-(B(j,h)|0)|0,!(f|j>>>0>31)):0){f=(c[e+8>>2]|0)<9;l=e+20+(j*20|0)|0;m=e+20+(j*20|0)+4|0;n=c[m>>2]|0;c[b>>2]=n;o=c[e+20+(j*20|0)+8>>2]|0;p=o<<8;q=b+28|0;c[q>>2]=p;r=c[l>>2]|0;s=r<<16;t=b+32|0;c[t>>2]=s;c[b+60>>2]=r;c[b+64>>2]=n;c[b+56>>2]=o;o=e+20+(j*20|0)+12|0;u=c[o>>2]|0;switch(u|0){case 1:{if((j|0)>0){v=c[a+11908>>2]|0;w=c[a+11916>>2]<<8}else{v=24;w=p}x=h-k|0;y=((B(x<<16,v)|0)+(B(s,k)|0)|0)/(h|0)|0;c[t>>2]=y;v=((B(w,x)|0)+(B(p,k)|0)|0)/(h|0)|0;c[q>>2]=v;z=y;A=v;C=0;break}case 4:{v=(B(p,k)|0)/(h|0)|0;c[q>>2]=v;z=s;A=v;C=1;break}case 5:{v=(B(p,h-k|0)|0)/(h|0)|0;c[q>>2]=v;z=s;A=v;C=0;break}case 6:{v=c[e+20+(((((i|0)/((f?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[t>>2]=v;z=v;A=p;C=0;break}case 7:{v=c[e+20+(((((i|0)/((f?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[t>>2]=v;z=v;A=p;C=0;break}default:{z=s;A=p;C=0}}c[b+36>>2]=r;c[b+40>>2]=A;A=b+68|0;c[A>>2]=0;p=b+72|0;c[p>>2]=0;s=e+20+(j*20|0)+16|0;if(!(c[s>>2]|0)){c[a+11988>>2]=0;D=z}else{do if(!k){z=(u|0)!=1&((j|0)==0?1:(r|0)!=(c[a+11908>>2]|0));v=a+11988|0;f=c[v>>2]|0;i=c[a+8220>>2]|0;y=(n|0)<7?n:7;x=(y|0)>0?y:0;y=c[i+16+(x*680|0)+12>>2]|0;if(!(y&128)){w=c[i+16+(x*680|0)+16>>2]|0;if((w|0)>(y|0))E=16777216;else{F=(y|0)>0&(w|0)==0?y:32;G=17}}else{F=0;G=17}if((G|0)==17){y=c[i+16+(x*680|0)+8>>2]|0;E=B((y|0)>1?y:1,F)|0}y=(u|0)==3;if(z|(f|0)>=(E|0)){if(!(C|y^1))G=21}else if(!(y|C))G=21;if((G|0)==21?(n|0)==(c[a+11912>>2]|0):0)break;c[v>>2]=0}while(0);Qq(a,l,b);D=c[t>>2]|0}l=c[a+8240>>2]|0;n=1<<l+4;if(!(n&c[781382]))H=D;else{C=D+-786432|0;c[t>>2]=C;H=C}C=H&65535;t=H>>16;D=((t+48|0)/12|0)+-4|0;if((H|0)>-1)I=t;else I=12-((0-t|0)%12|0)|0;t=(I|0)%12|0;I=B(c[30112+(t<<2)>>2]|0,65536-C|0)|0;E=((B(c[30112+(t+1<<2)>>2]|0,C)|0)+I|0)/22050|0;if((H|0)<2359296){H=E;I=D;while(1){C=I+1|0;t=(H|0)/2|0;if((I|0)<2){H=t;I=C}else{J=t;K=C;break}}}else{J=E;K=D}if((K|0)>3){D=J;E=K;while(1){K=D<<1;if((E|0)>4){D=K;E=E+-1|0}else{L=K;break}}}else L=J;J=(L|0)<32768?L:32768;L=(J|0)>8?J:8;J=b+8|0;c[J>>2]=L;E=c[o>>2]|0;o=c[A>>2]|0;A=(o|0)==2;a:do if((E|0)==2)if(A)switch((c[g>>2]|0)>>>1&7){case 1:{D=(L*130|0)>>>7;c[J>>2]=D;M=D;break a;break}case 2:{D=(L*132|0)>>>7;c[J>>2]=D;M=D;break a;break}case 3:{D=(L*130|0)>>>7;c[J>>2]=D;M=D;break a;break}case 5:{D=(L*126|0)>>>7;c[J>>2]=D;M=D;break a;break}case 6:{D=(L*124|0)>>>7;c[J>>2]=D;M=D;break a;break}case 7:{D=(L*126|0)>>>7;c[J>>2]=D;M=D;break a;break}default:{M=L;break a}}else G=45;else if(A)G=45;else M=L;while(0);b:do if((G|0)==45)switch((c[g>>2]|0)>>>1&7){case 1:{A=(L*129|0)>>>7;c[J>>2]=A;M=A;break b;break}case 2:{A=(L*130|0)>>>7;c[J>>2]=A;M=A;break b;break}case 3:{A=(L*129|0)>>>7;c[J>>2]=A;M=A;break b;break}case 5:{A=(L*127|0)>>>7;c[J>>2]=A;M=A;break b;break}case 6:{A=(L*126|0)>>>7;c[J>>2]=A;M=A;break b;break}case 7:{A=(L*127|0)>>>7;c[J>>2]=A;M=A;break b;break}default:{M=L;break b}}while(0);L=c[a+8220>>2]|0;g=c[m>>2]|0;m=(g|0)<7?g:7;g=(m|0)>0?m:0;do if((E|0)==3){if(c[s>>2]|0?(c[L+16+(g*680|0)+12>>2]&128|0)==0:0){N=M;break}m=(B(M,h-k|0)|0)/(h|0)|0;c[J>>2]=m;N=m}else N=M;while(0);if((o|0)==3){o=(B(c[b+76>>2]|0,N)|0)/256|0;c[J>>2]=o;O=o}else O=N;if(c[a+11548>>2]|0){N=(B(c[557127]>>8,c[q>>2]|0)|0)/256|0;c[q>>2]=(B(N,c[555248]|0)|0)/256|0}N=c[e>>2]|0;e=(N>>3|0)%3|0;o=N>>>2&1;J=c[p>>2]|0;p=(J>>3|0)%3|0;M=(e|0)>(p|0)?e:p;c[b+80>>2]=M;p=J>>>2&1;c[b+84>>2]=o>>>0>p>>>0?o:p;p=N>>>1&1;N=b+88|0;o=J>>>1&1;J=p>>>0>o>>>0?p:o;c[N>>2]=J;o=c[b>>2]|0;c:do if((o|0)!=6|(J|0)==0){p=(M|0)==0;e=b+16|0;c[e>>2]=(B(O,p?256:255)|0)/256|0;d:do switch(o|0){case 0:{switch(M|0){case 1:{c[e>>2]=(O*193|0)/256|0;break d;break}case 2:{c[e>>2]=(O*384|0)/256|0;break d;break}default:break d}break}case 7:{if(p){c[e>>2]=(O*254|0)/256|0;break c}switch(M|0){case 1:{c[e>>2]=(O*250|0)/256|0;break c;break}case 2:{c[e>>2]=(O*508|0)/256|0;break c;break}default:break c}break}default:{}}while(0);if(o>>>0<6&(M|0)>0)c[q>>2]=((c[q>>2]|0)*5|0)/4|0}else{e=a+11996|0;if((c[e>>2]|0)>11){c[N>>2]=2;c[e>>2]=0}c[b+16>>2]=(B(O,(M|0)==0?256:255)|0)/256|0}while(0);M=c[d>>2]|0;if(!M)P=0;else P=((c[M>>2]>>3|0)/3|0|0)%3|0;M=b+92|0;d=((c[a+11628>>2]>>3|0)/3|0|0)%3|0;a=(P|0)>(d|0)?P:d;c[M>>2]=a;d=c[781383]|0;if(!(d&n))Q=a;else{n=(a|0)>1?a:1;c[M>>2]=n;Q=n}if(!(d&1<<l))return;c[M>>2]=(Q|0)>2?Q:2;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function Pq(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;d=c[b>>2]|0;e=d>>>0<64;if((e?(f=c[a+16+(d*680|0)+12>>2]|0,(f&128|0)==0):0)?(g=c[a+16+(d*680|0)+16>>2]|0,(g|0)<=(f|0)):0){h=d;i=f;j=g}else k=7;do if((k|0)==7){g=c[b+4>>2]|0;f=g>>>0<64;if((f?(l=c[a+16+(g*680|0)+12>>2]|0,(l&128|0)==0):0)?(m=c[a+16+(g*680|0)+16>>2]|0,(m|0)<=(l|0)):0){h=g;i=l;j=m;break}m=c[b+8>>2]|0;l=m>>>0<64;if((l?(n=c[a+16+(m*680|0)+12>>2]|0,(n&128|0)==0):0)?(o=c[a+16+(m*680|0)+16>>2]|0,(o|0)<=(n|0)):0){h=m;i=n;j=o;break}o=c[b+12>>2]|0;n=o>>>0<64;if((n?(p=c[a+16+(o*680|0)+12>>2]|0,(p&128|0)==0):0)?(q=c[a+16+(o*680|0)+16>>2]|0,(q|0)<=(p|0)):0){h=o;i=p;j=q;break}if(e){q=c[a+16+(d*680|0)+8>>2]|0;p=(q|0)>1?q:1;q=c[a+16+(d*680|0)+12>>2]|0;r=(q&128|0)==0;if(r)s=((q|0)>0?(c[a+16+(d*680|0)+16>>2]|0)==0:0)?q:32;else s=0;if((B(s,p)|0)>=0){if(r)t=((q|0)>0?(c[a+16+(d*680|0)+16>>2]|0)==0:0)?q:32;else t=0;u=B(t,p)|0}else u=0}else u=0;if(f){f=c[a+16+(g*680|0)+8>>2]|0;p=(f|0)>1?f:1;f=c[a+16+(g*680|0)+12>>2]|0;q=(f&128|0)==0;if(q)v=((f|0)>0?(c[a+16+(g*680|0)+16>>2]|0)==0:0)?f:32;else v=0;if((u|0)<=(B(v,p)|0)){if(q)w=((f|0)>0?(c[a+16+(g*680|0)+16>>2]|0)==0:0)?f:32;else w=0;x=B(w,p)|0}else x=u}else x=u;if(l){l=c[a+16+(m*680|0)+8>>2]|0;p=(l|0)>1?l:1;l=c[a+16+(m*680|0)+12>>2]|0;f=(l&128|0)==0;if(f)y=((l|0)>0?(c[a+16+(m*680|0)+16>>2]|0)==0:0)?l:32;else y=0;if((x|0)<=(B(y,p)|0)){if(f)z=((l|0)>0?(c[a+16+(m*680|0)+16>>2]|0)==0:0)?l:32;else z=0;A=B(z,p)|0}else A=x}else A=x;if(!n){C=A;return C|0}n=c[a+16+(o*680|0)+8>>2]|0;p=(n|0)>1?n:1;n=c[a+16+(o*680|0)+12>>2]|0;l=(n&128|0)==0;if(l)D=((n|0)>0?(c[a+16+(o*680|0)+16>>2]|0)==0:0)?n:32;else D=0;if((A|0)>(B(D,p)|0)){C=A;return C|0}if(l)E=((n|0)>0?(c[a+16+(o*680|0)+16>>2]|0)==0:0)?n:32;else E=0;C=B(E,p)|0;return C|0}while(0);E=c[a+16+(h*680|0)+8>>2]|0;if(!(i&128))F=(i|0)>0&(j|0)==0?i:32;else F=0;C=B(F,(E|0)>1?E:1)|0;return C|0}function Qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=d+72|0;c[b>>2]=c[e+16+(f*680|0)>>2];g=c[e+16+(f*680|0)+12>>2]|0;if(g&128|0){c[d>>2]=8;if(c[e+16+(f*680|0)+8>>2]&1|0){h=d+32|0;c[h>>2]=(c[h>>2]|0)+-786432}h=0;do{i=c[e+16+(f*680|0)+20+(h*20|0)+4>>2]|0;j=i<<6&192|c[e+16+(f*680|0)+20+(h*20|0)>>2];k=c[e+16+(f*680|0)+20+(h*20|0)+16>>2]|0;l=(c[e+16+(f*680|0)+20+(h*20|0)+8>>2]<<1&14|i>>>2&1|c[e+16+(f*680|0)+20+(h*20|0)+12>>2]<<4&112|k&128)-(k<<1&256)|0;k=h<<1;c[d+96+(k<<2)>>2]=j-(j<<1&256)<<7;c[d+96+((k|1)<<2)>>2]=l<<7;h=h+1|0}while((h|0)!=32);c[d+68>>2]=0;return}h=c[e+16+(f*680|0)+8>>2]|0;l=(h|0)>1?h:1;k=(h|0)<9;h=k?4:8;j=k?2:4;k=c[e+16+(f*680|0)+16>>2]|0;i=a+11988|0;m=c[i>>2]|0;if((k|0)<=(g|0)|(m|0)<(B(l,k)|0))n=m;else{m=B(l,g)|0;c[i>>2]=m;n=m}m=(n|0)/(l|0)|0;i=n-(B(m,l)|0)|0;if((m|0)<=31?(m|0)<(((g|0)>0&(k|0)==0?g:32)|0):0){g=(m|0)<31?m:31;k=(g|0)>0?g:0;g=e+16+(f*680|0)+20+(k*20|0)|0;o=c[g>>2]|0;p=o<<16;q=e+16+(f*680|0)+20+(k*20|0)+8|0;r=c[q>>2]|0;s=r<<8;if((i|0)==(l+-1|0)){c[a+11928>>2]=o;c[a+11936>>2]=r;c[a+11932>>2]=c[e+16+(f*680|0)+20+(k*20|0)+4>>2]}r=e+16+(f*680|0)+20+(k*20|0)+12|0;o=c[r>>2]|0;switch(o|0){case 1:{if((m|0)>0){t=c[a+11928>>2]<<16;u=c[a+11936>>2]<<8}else{t=1572864;u=s}a=l-i|0;v=((B(t,a)|0)+(B(i<<16,c[g>>2]|0)|0)|0)/(l|0)|0;w=((B(u,a)|0)+(B(s,i)|0)|0)/(l|0)|0;break}case 3:{c[d+76>>2]=(l-i<<8|0)/(l|0)|0;v=p;w=s;break}case 4:{v=p;w=(B(s,i)|0)/(l|0)|0;break}case 5:{v=p;w=(B(s,l-i|0)|0)/(l|0)|0;break}case 6:{v=c[e+16+(f*680|0)+20+(((((n|0)/(j|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]<<16;w=s;break}case 7:{v=c[e+16+(f*680|0)+20+(((((n|0)/(h|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]<<16;w=s;break}default:{v=p;w=s}}s=c[e+16+(f*680|0)+20+(k*20|0)+4>>2]|0;c[d>>2]=s;if((c[e+16+(f*680|0)+20+(k*20|0)+16>>2]|0)!=0?(k=(s|0)<7?s:7,s=(k|0)>0?k:0,(c[e+16+(s*680|0)+12>>2]&128|0)!=0):0){c[b>>2]=c[e+16+(s*680|0)>>2];c[d>>2]=8;if(c[e+16+(s*680|0)+8>>2]&1|0){b=d+32|0;c[b>>2]=(c[b>>2]|0)+-786432}b=0;do{k=c[e+16+(s*680|0)+20+(b*20|0)+4>>2]|0;f=k<<6&192|c[e+16+(s*680|0)+20+(b*20|0)>>2];p=c[e+16+(s*680|0)+20+(b*20|0)+16>>2]|0;m=(c[e+16+(s*680|0)+20+(b*20|0)+8>>2]<<1&14|k>>>2&1|c[e+16+(s*680|0)+20+(b*20|0)+12>>2]<<4&112|p&128)-(p<<1&256)|0;p=b<<1;c[d+96+(p<<2)>>2]=f-(f<<1&256)<<7;c[d+96+((p|1)<<2)>>2]=m<<7;b=b+1|0}while((b|0)!=32);x=c[r>>2]|0}else x=o;o=d+32|0;c[o>>2]=v+-1572864+(c[o>>2]|0);o=d+36|0;c[o>>2]=(c[g>>2]|0)+-24+(c[o>>2]|0);o=c[q>>2]|0;c[d+40>>2]=(w*7|0)/(((o|0)>1?o:1)|0)|0;o=d+28|0;c[o>>2]=(B(c[o>>2]|0,w)|0)/1792|0;c[d+68>>2]=x;return}c[d+28>>2]=0;c[d>>2]=0;return}function Rq(){Rr();return}function Sq(){Sr();return}function Tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;wq(1727776,0,8192);c[557129]=0;wq(2754124,0,216832);c[e>>2]=c[555260];wt(1715360,97146,e)|0;Cn(1715360);if(c[555284]|0){f=0;Ia=d;return f|0}c[554975]=a;c[554976]=b;e=Pr(a,b)|0;if(!e){f=0;Ia=d;return f|0}c[554975]=0;c[554976]=0;f=e;Ia=d;return f|0}function Uq(){return Qr()|0}function Vq(a){a=a|0;c[742746]=a;return}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=xq(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=xq(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[554810]=(c[554810]|0)+1;e=d;return e|0}function Xq(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Rr();if(0){Rr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2754124+(d*13552|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2754124+(d*13552|0)+11548>>2]=0;c[e>>2]=0;c[2754124+(d*13552|0)+8236>>2]=0;c[2754124+(d*13552|0)+8232>>2]=0;e=2754124+(d*13552|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Sr()}zq(c[a+16>>2]|0);zq(a);c[554810]=(c[554810]|0)+-1;Sr();return}function Yq(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;Rr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2754124+(d*13552|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2754124+(d*13552|0)+11548>>2]=0;c[e>>2]=0;c[2754124+(d*13552|0)+8236>>2]=0;c[2754124+(d*13552|0)+8232>>2]=0;e=2754124+(d*13552|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Sr();return}function Zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Rr();g=(d|0)==0?-1:d;a:do if((f+1|0)>>>0<=16){if(!a){if((f|0)!=-1){c[2754124+(f*13552|0)+11548>>2]=0;c[2754124+(f*13552|0)+8208>>2]=0;c[2754124+(f*13552|0)+8236>>2]=0;c[2754124+(f*13552|0)+8232>>2]=0;d=2754124+(f*13552|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[555267]|0)==0?16:4;h=0;while(1){c[2754124+(h*13552|0)+11548>>2]=0;c[2754124+(h*13552|0)+8208>>2]=0;c[2754124+(h*13552|0)+8236>>2]=0;c[2754124+(h*13552|0)+8232>>2]=0;i=2754124+(h*13552|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0;if(h>>>0>=d>>>0)break a}}d=(f|0)==-1;do if(!(c[555267]|0))if(d)if(!((c[717687]|0)==0&(c[717691]|0)==0&(c[718522]|0)==0))if(!((c[721075]|0)==0&(c[721079]|0)==0&(c[721910]|0)==0))if(!((c[724463]|0)==0&(c[724467]|0)==0&(c[725298]|0)==0))if(!((c[727851]|0)==0&(c[727855]|0)==0&(c[728686]|0)==0))if(!((c[731239]|0)==0&(c[731243]|0)==0&(c[732074]|0)==0))if(!((c[734627]|0)==0&(c[734631]|0)==0&(c[735462]|0)==0))if(!((c[738015]|0)==0&(c[738019]|0)==0&(c[738850]|0)==0))if((c[741403]|0)==0&(c[741407]|0)==0&(c[742238]|0)==0)j=15;else{h=c[717691]|0;if((h|0)!=0&(c[718522]|0)==0){k=8;l=c[h+8>>2]|0}else{k=-1;l=256}h=c[721079]|0;if((h|0)!=0&(c[721910]|0)==0){i=c[h+8>>2]|0;h=(k|0)==-1|(i|0)<(l|0);m=h?9:k;n=h?i:l}else{m=k;n=l}i=c[724467]|0;if((i|0)!=0&(c[725298]|0)==0){h=c[i+8>>2]|0;i=(m|0)==-1|(h|0)<(n|0);o=i?10:m;p=i?h:n}else{o=m;p=n}h=c[727855]|0;if((h|0)!=0&(c[728686]|0)==0){i=c[h+8>>2]|0;h=(o|0)==-1|(i|0)<(p|0);q=h?11:o;r=h?i:p}else{q=o;r=p}i=c[731243]|0;if((i|0)!=0&(c[732074]|0)==0){h=c[i+8>>2]|0;i=(q|0)==-1|(h|0)<(r|0);s=i?12:q;t=i?h:r}else{s=q;t=r}h=c[734631]|0;if((h|0)!=0&(c[735462]|0)==0){i=c[h+8>>2]|0;h=(s|0)==-1|(i|0)<(t|0);u=h?13:s;v=h?i:t}else{u=s;v=t}i=c[738019]|0;if((i|0)!=0&(c[738850]|0)==0){h=c[i+8>>2]|0;i=(u|0)==-1|(h|0)<(v|0);w=i?14:u;x=i?h:v}else{w=u;x=v}h=c[741407]|0;if(!((h|0)!=0&(c[742238]|0)==0)){y=w;z=26;break}if((w|0)!=-1?(c[h+8>>2]|0)>=(x|0):0){j=w;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else j=f;else if(d){h=(c[690583]|0)==0;if(!(h&(c[690587]|0)==0&(c[691418]|0)==0&(c[704135]|0)==0&(c[704139]|0)==0&(c[704970]|0)==0)){i=(c[693971]|0)==0;if(!(i&(c[693975]|0)==0&(c[694806]|0)==0&(c[707523]|0)==0&(c[707527]|0)==0&(c[708358]|0)==0)){A=(c[697359]|0)==0;if(!(A&(c[697363]|0)==0&(c[698194]|0)==0&(c[710911]|0)==0&(c[710915]|0)==0&(c[711746]|0)==0)){C=(c[700747]|0)==0;if(!(C&(c[700751]|0)==0&(c[701582]|0)==0&(c[714299]|0)==0&(c[714303]|0)==0&(c[715134]|0)==0)){D=c[781381]|0;if(!(h&(c[690587]|0)==0&(c[691418]|0)==0&(c[704135]|0)==0&(c[704139]|0)==0&(D&1|0)==0))if(!(i&(c[693975]|0)==0&(c[694806]|0)==0&(c[707523]|0)==0&(c[707527]|0)==0&(D&2|0)==0))if(!(A&(c[697363]|0)==0&(c[698194]|0)==0&(c[710911]|0)==0&(c[710915]|0)==0&(D&4|0)==0))if(!(C&(c[700751]|0)==0&(c[701582]|0)==0&(c[714299]|0)==0&(c[714303]|0)==0&(D&8|0)==0))if(!((c[691418]|D&1|0)==0&(h&(c[690587]|0)==0)))if(!((c[694806]|D&2|0)==0&(i&(c[693975]|0)==0)))if(!((c[698194]|D&4|0)==0&(A&(c[697363]|0)==0)))if((c[701582]|D&8|0)==0&(C&(c[700751]|0)==0))j=3;else{if((D&1|0)!=0?!((c[704135]|0)==0&(c[704139]|0)==0&(c[704970]|0)==0):0){E=-1;F=256}else z=17;do if((z|0)==17){C=c[690587]|0;if(!C){E=-1;F=256;break}E=0;F=c[C+8>>2]|0}while(0);if((D&2|0)!=0?!((c[707523]|0)==0&(c[707527]|0)==0&(c[708358]|0)==0):0){G=E;H=F}else z=52;do if((z|0)==52){C=c[693975]|0;if(!C){G=E;H=F;break}A=(E|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(F|0);G=(A&C^1)&1;H=A&C?F:i}while(0);if((D&4|0)!=0?!((c[710911]|0)==0&(c[710915]|0)==0&(c[711746]|0)==0):0){I=G;J=H}else z=56;do if((z|0)==56){i=c[697363]|0;if(!i){I=G;J=H;break}C=c[i+8>>2]|0;i=(G|0)!=-1&(C|0)>(H|0);I=i?G:2;J=i?H:C}while(0);if(D&8|0?!((c[714299]|0)==0&(c[714303]|0)==0&(c[715134]|0)==0):0){y=I;z=26;break}C=c[700751]|0;if(!C){y=I;z=26;break}if((I|0)!=-1?(c[C+8>>2]|0)>(J|0):0){j=I;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else j=f;while(0);if((z|0)==26)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2754124+(j*13552|0)+8224>>2]=a;c[2754124+(j*13552|0)+8240>>2]=j&3;c[2754124+(j*13552|0)+8228>>2]=B(C,b)|0;c[2754124+(j*13552|0)+8232>>2]=0;c[2754124+(j*13552|0)+12e3>>2]=B(C,g)|0;c[2754124+(j*13552|0)+8220>>2]=e;c[2754124+(j*13552|0)+11548>>2]=0;c[2754124+(j*13552|0)+8236>>2]=1;Sr();K=j;return K|0}while(0);Sr();K=-1;return K|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;$q(a);d=c[a+12>>2]|0;if(d&128|0){e=0;Zq(a,0,e,b,-1)|0;return}f=c[a+16>>2]|0;e=(f|0)>(d|0)?-1:(d|0)>0&(f|0)==0?d:32;Zq(a,0,e,b,-1)|0;return}function $q(a){a=a|0;var b=0;Rr();if(!a){if(!(c[691418]|0)){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if(!(c[694806]|0)){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if(!(c[698194]|0)){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if(!(c[701582]|0)){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if(!(c[704970]|0)){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if(!(c[708358]|0)){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if(!(c[711746]|0)){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if(!(c[715134]|0)){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if(!(c[718522]|0)){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if(!(c[721910]|0)){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if(!(c[725298]|0)){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if(!(c[728686]|0)){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if(!(c[732074]|0)){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if(!(c[735462]|0)){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if(!(c[738850]|0)){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if(c[742238]|0){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;b=2965624;c[b>>2]=0;c[b+4>>2]=0;Sr();return}else{if((c[690587]|0)==(a|0)){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if((c[693975]|0)==(a|0)){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if((c[697363]|0)==(a|0)){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if((c[700751]|0)==(a|0)){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if((c[704139]|0)==(a|0)){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if((c[707527]|0)==(a|0)){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if((c[710915]|0)==(a|0)){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if((c[714303]|0)==(a|0)){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if((c[717691]|0)==(a|0)){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if((c[721079]|0)==(a|0)){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if((c[724467]|0)==(a|0)){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if((c[727855]|0)==(a|0)){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if((c[731243]|0)==(a|0)){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if((c[734631]|0)==(a|0)){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if((c[738019]|0)==(a|0)){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if((c[741407]|0)!=(a|0)){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;a=2965624;c[a>>2]=0;c[a+4>>2]=0;Sr();return}}function ar(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Rr();b=(c[691418]|0)==0;do if(!a)if(b|(c[690586]|0)==0)if((c[694806]|0)==0|(c[693974]|0)==0)if((c[698194]|0)==0|(c[697362]|0)==0)if((c[701582]|0)==0|(c[700750]|0)==0)if((c[704970]|0)==0|(c[704138]|0)==0)if((c[708358]|0)==0|(c[707526]|0)==0)if((c[711746]|0)==0|(c[710914]|0)==0)if((c[715134]|0)==0|(c[714302]|0)==0)if((c[718522]|0)==0|(c[717690]|0)==0)if((c[721910]|0)==0|(c[721078]|0)==0)if((c[725298]|0)==0|(c[724466]|0)==0)if((c[728686]|0)==0|(c[727854]|0)==0)if((c[732074]|0)==0|(c[731242]|0)==0)if((c[735462]|0)==0|(c[734630]|0)==0)if((c[738850]|0)==0|(c[738018]|0)==0)if((c[742238]|0)==0|(c[741406]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[690586]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[694806]|0?(f=c[693974]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[698194]|0?(f=c[697362]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[701582]|0?(f=c[700750]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[704970]|0?(f=c[704138]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[708358]|0?(f=c[707526]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[711746]|0?(f=c[710914]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[715134]|0?(f=c[714302]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[718522]|0?(f=c[717690]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[721910]|0?(f=c[721078]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[725298]|0?(f=c[724466]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[728686]|0?(f=c[727854]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[732074]|0?(f=c[731242]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[735462]|0?(f=c[734630]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[738850]|0?(f=c[738018]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[742238]|0)!=0?(f=c[741406]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Sr();g=c[2754124+(e*13552|0)+11552>>2]|0;return g|0}else if((d|0)==8){Sr();g=-1;return g|0}return 0}function br(a){a=a|0;var b=0,d=0,e=0;Rr();if((c[690587]|0)!=(a|0))if((c[693975]|0)!=(a|0))if((c[697363]|0)!=(a|0))if((c[700751]|0)!=(a|0))if((c[704139]|0)!=(a|0))if((c[707527]|0)!=(a|0))if((c[710915]|0)!=(a|0))if((c[714303]|0)!=(a|0))if((c[717691]|0)!=(a|0))if((c[721079]|0)!=(a|0))if((c[724467]|0)!=(a|0))if((c[727855]|0)!=(a|0))if((c[731243]|0)!=(a|0))if((c[734631]|0)!=(a|0))if((c[738019]|0)!=(a|0))if((c[741407]|0)==(a|0))b=15;else{Sr();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;e=c[a+8>>2]|0;a=(c[2754124+(b*13552|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;Sr();d=a;return d|0}function cr(a){a=a|0;var b=0;Rr();b=c[2754124+(a*13552|0)+8224>>2]|0;Sr();return b|0}function dr(a){a=a|0;var b=0;if((a+1|0)>>>0>16)return;Rr();if((a|0)==-1){c[690590]=0;c[693978]=0;c[697366]=0;c[700754]=0;c[704142]=0;c[707530]=0;c[710918]=0;c[714306]=0;c[717694]=0;c[721082]=0;c[724470]=0;c[727858]=0;c[731246]=0;c[734634]=0;c[738022]=0;b=2965640}else b=2754124+(a*13552|0)+8236|0;c[b>>2]=0;Sr();return}function er(a){a=a|0;var b=0,d=0,e=0,f=0;Rr();if(a|0){b=0;do{d=2754124+(b*13552|0)+11548|0;if(c[d>>2]|0?(e=2754124+(b*13552|0)+8220|0,f=c[e>>2]|0,(f|0)!=0&(f|0)==(a|0)):0){c[d>>2]=0;c[2754124+(b*13552|0)+8208>>2]=0;c[2754124+(b*13552|0)+8236>>2]=0;c[2754124+(b*13552|0)+8232>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0}b=b+1|0}while((b|0)!=16);Sr();return}if(c[691418]|0){c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;b=2762344;c[b>>2]=0;c[b+4>>2]=0}if(c[694806]|0){c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;b=2775896;c[b>>2]=0;c[b+4>>2]=0}if(c[698194]|0){c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;b=2789448;c[b>>2]=0;c[b+4>>2]=0}if(c[701582]|0){c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;b=2803e3;c[b>>2]=0;c[b+4>>2]=0}if(c[704970]|0){c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;b=2816552;c[b>>2]=0;c[b+4>>2]=0}if(c[708358]|0){c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;b=2830104;c[b>>2]=0;c[b+4>>2]=0}if(c[711746]|0){c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;b=2843656;c[b>>2]=0;c[b+4>>2]=0}if(c[715134]|0){c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;b=2857208;c[b>>2]=0;c[b+4>>2]=0}if(c[718522]|0){c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;b=2870760;c[b>>2]=0;c[b+4>>2]=0}if(c[721910]|0){c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;b=2884312;c[b>>2]=0;c[b+4>>2]=0}if(c[725298]|0){c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;b=2897864;c[b>>2]=0;c[b+4>>2]=0}if(c[728686]|0){c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;b=2911416;c[b>>2]=0;c[b+4>>2]=0}if(c[732074]|0){c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;b=2924968;c[b>>2]=0;c[b+4>>2]=0}if(c[735462]|0){c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;b=2938520;c[b>>2]=0;c[b+4>>2]=0}if(c[738850]|0){c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;b=2952072;c[b>>2]=0;c[b+4>>2]=0}if(!(c[742238]|0)){Sr();return}c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;b=2965624;c[b>>2]=0;c[b+4>>2]=0;Sr();return}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Rr();er(a);if(!((a|0)!=0&b>>>0<64)){Sr();return}e=a+43536+(b<<4)|0;if(!(Pq(a,e)|0)){Sr();return}c[554970]=0;c[554971]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=Zq(a+16+(((g|0)>0?g:0)*680|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2754124+(f*13552|0)+8224>>2]=0;c[2754124+(f*13552|0)+11548>>2]=1;c[2754124+(f*13552|0)+8220>>2]=a;c[2754124+(f*13552|0)+11552>>2]=b;c[2754124+(f*13552|0)+8240>>2]=0;c[2754124+(f*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(f*13552|0)+12004>>2]=0}f=a+43536+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2754124+(g*13552|0)+8224>>2]=0;c[2754124+(g*13552|0)+11548>>2]=1;c[2754124+(g*13552|0)+8220>>2]=a;c[2754124+(g*13552|0)+11552>>2]=b;c[2754124+(g*13552|0)+8240>>2]=1;c[2754124+(g*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(g*13552|0)+12004>>2]=0}g=a+43536+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2754124+(f*13552|0)+8224>>2]=0;c[2754124+(f*13552|0)+11548>>2]=1;c[2754124+(f*13552|0)+8220>>2]=a;c[2754124+(f*13552|0)+11552>>2]=b;c[2754124+(f*13552|0)+8240>>2]=2;c[2754124+(f*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(f*13552|0)+12004>>2]=0}f=a+43536+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zq(a+16+(((h|0)>0?h:0)*680|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2754124+(g*13552|0)+8224>>2]=0;c[2754124+(g*13552|0)+11548>>2]=1;c[2754124+(g*13552|0)+8220>>2]=a;c[2754124+(g*13552|0)+11552>>2]=b;c[2754124+(g*13552|0)+8240>>2]=3;c[2754124+(g*13552|0)+12e3>>2]=Pq(a,e)|0;c[2754124+(g*13552|0)+12004>>2]=0}c[557124]=d;c[557123]=Xr()|0;c[557125]=0;c[557126]=65536;gr();Sr();return}function gr(){var a=0,b=0,d=0,e=0;Rr();a=c[557127]|0;b=c[557126]|0;if((a|0)==(b|0)){if(!a){Rr();c[688530]=0;er(0);Sr()}Sr();return}if(!(c[557124]|0)){c[557127]=b;if(!b){Rr();c[688530]=0;er(0);Sr()}Sr();return}b=Xr()|0;a=b-(c[557123]|0)|0;b=c[557124]|0;if((b|0)>(a|0)){d=B(c[557125]|0,b-a|0)|0;e=((B(c[557126]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[557127]=(b|0)>0?b:0;Sr();return}b=c[557126]|0;c[557127]=b;if(!b){Rr();c[688530]=0;er(0);Sr()}Sr();return}function hr(a){a=a|0;return c[a+16>>2]|0}function ir(a){a=a|0;return}function jr(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function kr(a){a=a|0;if(!0)return;c[555247]=a;return}function lr(a,b){a=a|0;b=b|0;c[557125]=c[557127];c[557126]=0;c[557123]=Xr()|0;c[557124]=b;gr();return}function mr(a){a=a|0;c[555248]=a;return}function nr(){var a=0;if((ar(0)|0)!=-1){a=1;return a|0}if(0==0|(c[557129]|0)==0){a=0;return a|0}if(!(c[557127]|c[557126])){a=0;return a|0}a=(c[688530]|0)!=0&1;return a|0}function or(){var a=0;Rr();c[691418]=0;c[690583]=0;c[690590]=0;c[690589]=0;a=2762344;c[a>>2]=0;c[a+4>>2]=0;c[694806]=0;c[693971]=0;c[693978]=0;c[693977]=0;a=2775896;c[a>>2]=0;c[a+4>>2]=0;c[698194]=0;c[697359]=0;c[697366]=0;c[697365]=0;a=2789448;c[a>>2]=0;c[a+4>>2]=0;c[701582]=0;c[700747]=0;c[700754]=0;c[700753]=0;a=2803e3;c[a>>2]=0;c[a+4>>2]=0;c[704970]=0;c[704135]=0;c[704142]=0;c[704141]=0;a=2816552;c[a>>2]=0;c[a+4>>2]=0;c[708358]=0;c[707523]=0;c[707530]=0;c[707529]=0;a=2830104;c[a>>2]=0;c[a+4>>2]=0;c[711746]=0;c[710911]=0;c[710918]=0;c[710917]=0;a=2843656;c[a>>2]=0;c[a+4>>2]=0;c[715134]=0;c[714299]=0;c[714306]=0;c[714305]=0;a=2857208;c[a>>2]=0;c[a+4>>2]=0;c[718522]=0;c[717687]=0;c[717694]=0;c[717693]=0;a=2870760;c[a>>2]=0;c[a+4>>2]=0;c[721910]=0;c[721075]=0;c[721082]=0;c[721081]=0;a=2884312;c[a>>2]=0;c[a+4>>2]=0;c[725298]=0;c[724463]=0;c[724470]=0;c[724469]=0;a=2897864;c[a>>2]=0;c[a+4>>2]=0;c[728686]=0;c[727851]=0;c[727858]=0;c[727857]=0;a=2911416;c[a>>2]=0;c[a+4>>2]=0;c[732074]=0;c[731239]=0;c[731246]=0;c[731245]=0;a=2924968;c[a>>2]=0;c[a+4>>2]=0;c[735462]=0;c[734627]=0;c[734634]=0;c[734633]=0;a=2938520;c[a>>2]=0;c[a+4>>2]=0;c[738850]=0;c[738015]=0;c[738022]=0;c[738021]=0;a=2952072;c[a>>2]=0;c[a+4>>2]=0;c[742238]=0;c[741403]=0;c[741410]=0;c[741409]=0;a=2965624;c[a>>2]=0;c[a+4>>2]=0;Sr();return}function pr(){var a=0,b=0,d=0;a=c[742747]|0;if(!a){b=Aq(352e3)|0;c[742747]=b;d=b}else d=a;c[d+20>>2]=0;c[d+16>>2]=0;c[554969]=1;return}function qr(){var a=0;if(!(c[554969]|0)){a=0;return a|0}c[554969]=0;a=c[742747]|0;return a|0}function rr(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;Rr();if((c[690587]|0)==0|(c[691418]|0)==0)a=0;else{b=c[690588]|0;a=(b|0)>0?b:0}if((c[693975]|0)==0|(c[694806]|0)==0)d=a;else{b=c[693976]|0;d=(a|0)>(b|0)?a:b}if((c[697363]|0)==0|(c[698194]|0)==0)e=d;else{b=c[697364]|0;e=(d|0)>(b|0)?d:b}if((c[700751]|0)==0|(c[701582]|0)==0)f=e;else{b=c[700752]|0;f=(e|0)>(b|0)?e:b}if((c[704139]|0)==0|(c[704970]|0)==0)g=f;else{b=c[704140]|0;g=(f|0)>(b|0)?f:b}if((c[707527]|0)==0|(c[708358]|0)==0)h=g;else{b=c[707528]|0;h=(g|0)>(b|0)?g:b}if((c[710915]|0)==0|(c[711746]|0)==0)i=h;else{b=c[710916]|0;i=(h|0)>(b|0)?h:b}if((c[714303]|0)==0|(c[715134]|0)==0)j=i;else{b=c[714304]|0;j=(i|0)>(b|0)?i:b}if((c[717691]|0)==0|(c[718522]|0)==0)k=j;else{b=c[717692]|0;k=(j|0)>(b|0)?j:b}if((c[721079]|0)==0|(c[721910]|0)==0)l=k;else{b=c[721080]|0;l=(k|0)>(b|0)?k:b}if((c[724467]|0)==0|(c[725298]|0)==0)m=l;else{b=c[724468]|0;m=(l|0)>(b|0)?l:b}if((c[727855]|0)==0|(c[728686]|0)==0)n=m;else{b=c[727856]|0;n=(m|0)>(b|0)?m:b}if((c[731243]|0)==0|(c[732074]|0)==0)o=n;else{b=c[731244]|0;o=(n|0)>(b|0)?n:b}if((c[734631]|0)==0|(c[735462]|0)==0)p=o;else{b=c[734632]|0;p=(o|0)>(b|0)?o:b}if((c[738019]|0)==0|(c[738850]|0)==0)q=p;else{b=c[738020]|0;q=(p|0)>(b|0)?p:b}if((c[741407]|0)==0|(c[742238]|0)==0){r=q;Sr();return r|0}b=c[741408]|0;r=(q|0)>(b|0)?q:b;Sr();return r|0}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;Rr();c[742740]=0;c[742741]=0;c[742742]=0;c[742743]=0;c[742744]=0;c[742745]=0;if((a|0)==-1){if((c[690587]|0)==0|(c[691418]|0)==0){d=-1;e=-1}else{f=c[690589]|0;g=(f|0)<-1;d=g?-1:f;e=g<<31>>31}if((c[693975]|0)==0|(c[694806]|0)==0){h=d;i=e}else{g=c[693977]|0;f=(g|0)<(d|0);h=f?d:g;i=f?e:1}if((c[697363]|0)==0|(c[698194]|0)==0){j=h;k=i}else{e=c[697365]|0;f=(e|0)<(h|0);j=f?h:e;k=f?i:2}if((c[700751]|0)==0|(c[701582]|0)==0){l=j;m=k}else{i=c[700753]|0;f=(i|0)<(j|0);l=f?j:i;m=f?k:3}if((c[704139]|0)==0|(c[704970]|0)==0){n=l;o=m}else{k=c[704141]|0;f=(k|0)<(l|0);n=f?l:k;o=f?m:4}if((c[707527]|0)==0|(c[708358]|0)==0){p=n;q=o}else{m=c[707529]|0;f=(m|0)<(n|0);p=f?n:m;q=f?o:5}if((c[710915]|0)==0|(c[711746]|0)==0){r=p;s=q}else{o=c[710917]|0;f=(o|0)<(p|0);r=f?p:o;s=f?q:6}if((c[714303]|0)==0|(c[715134]|0)==0){t=r;u=s}else{q=c[714305]|0;f=(q|0)<(r|0);t=f?r:q;u=f?s:7}if((c[717691]|0)==0|(c[718522]|0)==0){v=t;w=u}else{s=c[717693]|0;f=(s|0)<(t|0);v=f?t:s;w=f?u:8}if((c[721079]|0)==0|(c[721910]|0)==0){x=v;y=w}else{u=c[721081]|0;f=(u|0)<(v|0);x=f?v:u;y=f?w:9}if((c[724467]|0)==0|(c[725298]|0)==0){z=x;A=y}else{w=c[724469]|0;f=(w|0)<(x|0);z=f?x:w;A=f?y:10}if((c[727855]|0)==0|(c[728686]|0)==0){C=z;D=A}else{y=c[727857]|0;f=(y|0)<(z|0);C=f?z:y;D=f?A:11}if((c[731243]|0)==0|(c[732074]|0)==0){E=C;F=D}else{A=c[731245]|0;f=(A|0)<(C|0);E=f?C:A;F=f?D:12}if((c[734631]|0)==0|(c[735462]|0)==0){G=E;H=F}else{D=c[734633]|0;f=(D|0)<(E|0);G=f?E:D;H=f?F:13}if((c[738019]|0)==0|(c[738850]|0)==0){I=G;J=H}else{F=c[738021]|0;f=(F|0)<(G|0);I=f?G:F;J=f?H:14}if((c[741407]|0)==0|(c[742238]|0)==0|(c[741409]|0)<(I|0)){K=J;L=5}else{M=15;L=6}}else{K=a;L=5}if((L|0)==5?K>>>0<16:0){M=K;L=6}if((L|0)==6?(L=c[2754124+(M*13552|0)+12004>>2]|0,(L|0)>0):0){K=c[554976]|0;a=b-(c[2754124+(M*13552|0)+12012>>2]|0)|0;b=L+-1|0;L=(B((a|0)>0?a:0,b)|0)/((((c[8738]|0)/(((K|0)==0?1:K<<1)|0)|0)*1e3|0)/(c[554975]|0)|0|0)|0;K=(L|0)<(b|0)?L:b;b=2754124+(M*13552|0)+12016+(((K|0)>0?K:0)*24|0)|0;c[742740]=c[b>>2];c[742741]=c[b+4>>2];c[742742]=c[b+8>>2];c[742743]=c[b+12>>2];c[742744]=c[b+16>>2];c[742745]=c[b+20>>2];Sr();return 2970960}Sr();return 2970960}function tr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;wt(1715360,97183,j)|0;Cn(1715360);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;wt(1715360,97212,i)|0;Cn(1715360);k=0;l=0}else{k=b;l=a}if((c[554968]|0)==1){a=c[555244]|0;b=c[555245]|0;if((a|0)<32|(b|0)<32){c[555244]=640;c[555245]=540;m=640;n=540}else{m=a;n=b}c[h>>2]=m;c[h+4>>2]=n;wt(1715360,97250,h)|0;Cn(1715360);o=n;p=m}else{c[555244]=l;c[555245]=k;o=k;p=l}if(!(e&256)){if(e&4|0)c[8739]=0;if(e&8|0)c[8739]=1}else if(c[555246]|0)c[8739]=0;m=((k|0)==0|(l|0)==0)&((o|0)==0|(p|0)==0);n=m?216:o;o=m?384:p;p=m?384:l;l=m?216:k;k=c[742765]|0;do if(!k)q=20;else{if(((c[k>>2]|0)==(p|0)?(c[k+4>>2]|0)==(l|0):0)?(c[k+8>>2]|0)==(d|0):0)break;Tn(k)|0;c[742765]=0;q=20}while(0);if((q|0)==20)c[742765]=Sn(p,l,d)|0;if((c[555284]|c[555285]|0)==0?(q=Vr(o,n,p,l,d,e)|0,q|0):0){r=q;Ia=f;return r|0}c[742748]=o;c[742749]=n;c[742750]=d;c[742755]=0;c[742757]=0;c[742756]=o;c[742758]=n;c[g>>2]=0;c[g+4>>2]=0;wt(1715360,97271,g)|0;Cn(1715360);Cn(97293);r=0;Ia=f;return r|0}function ur(a){a=a|0;var b=0;b=c[742761]|0;if((b|0)==(a|0))return;Vv(b|0,a|0,768)|0;return}function vr(){var b=0,d=0,e=0;if(c[742763]|0){b=0;return b|0}c[742763]=1;c[742761]=Kn()|0;c[742762]=Kn()|0;d=0;do{e=d&255;a[(c[742761]|0)+(d*3|0)>>0]=e;a[(c[742761]|0)+(d*3|0)+1>>0]=e;a[(c[742761]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[555284]|0){b=0;return b|0}b=Tr()|0;return b|0}function wr(){var a=0,b=0;if(!(c[742763]|0)){a=0;return a|0}c[742763]=0;b=c[742765]|0;if(b|0)Tn(b)|0;b=c[557100]|0;if(b|0)Tn(b)|0;c[557100]=0;c[742765]=0;Ln(c[742761]|0);Ln(c[742762]|0);if(c[555284]|0){a=0;return a|0}a=Ur()|0;return a|0}function xr(){return (c[8739]|0)==0|0}function yr(){var a=0;if(c[555285]|c[555284]|0)return;c[8739]=(c[8739]|0)==0&1;a=c[742765]|0;Vr(c[555244]|0,c[555245]|0,c[a>>2]|0,c[a+4>>2]|0,c[742750]|0,0)|0;return}function zr(){c[742764]=Xr()|0;return}function Ar(){var a=0,b=0;a=Xr()|0;b=a-(c[742764]|0)|0;c[742764]=Xr()|0;a=(b|0)<1e3?b:1e3;c[8740]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function Br(){var a=0;a=c[742765]|0;if(!a)return;Gp(a,2970992,0,0,0,0,c[742748]|0,c[742749]|0);return}function Cr(){return c[8740]>>16|0}function Dr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Rs(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Rs(g,d+1|0)|0;h=bu(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=ou(b)|0;c[e+808>>2]=f;return Er(e)|0}function Er(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+608|0;d=b+600|0;e=b+512|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Ia=b;return i|0}j=ru(h)|0;h=a+808|0;if(!j){i=1;Ia=b;return i|0}k=a+256|0;l=a+520|0;m=e+64|0;n=e+40|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+19|0;Rs(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;wt(f,97315,d)|0;wq(e,0,1);pu(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=bu(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=ru(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ia=b;return i|0}return 0}function Fr(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;qu(b)|0;return 0}function Gr(a){a=a|0;var b=0,c=0;b=Po(a,104528)|0;if(!b){c=0;return c|0}Ro(b);c=1;return c|0}function Hr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+816|0;d=b;Rs(d,a)|0;e=d+548|0;Rs(e,97322)|0;c[d+804>>2]=bu(e)|0;e=d+812|0;c[e>>2]=ou(a)|0;c[d+808>>2]=16384;a=Er(d)|0;d=c[e>>2]|0;if(!d){f=(a|0)==0;g=f&1;Ia=b;return g|0}qu(d)|0;f=(a|0)==0;g=f&1;Ia=b;return g|0}function Ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+96|0;e=d+64|0;f=d+88|0;g=d;Fa(f|0)|0;if(!b)h=za(f|0)|0;else h=Ba(f|0)|0;Ea(g|0,64,97297,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;Su(g,97323,e)|0;Ia=d;return}function Jr(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;Iq(0,1736096,a<<1);if((c|0)<=0)return 1768864;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1736096+(h<<1)>>1]|0)|0;b[1768864+(a<<1)>>1]=((B(g,b[1736096+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1768864}function Kr(){if((O(65535)|0)<0)Lr(98975);else{ka(29)|0;ka(30)|0;ka(31)|0;return 0}return 0}function Lr(a){a=a|0;var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;Mr();c[e>>2]=a;vv(100055,e)|0;Nu(c[8745]|0)|0;c[d>>2]=a;wt(1715360,100055,d)|0;Cn(1715360);Dn()|0;ya(0)}function Mr(){var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Ia=b;return}c[d>>2]=e;vv(100078,d)|0;Nu(c[8745]|0)|0;I();Ia=b;return}function Nr(){return 0}function Or(b){b=b|0;var d=0,e=0;a[1801632]=63;a[1801633]=0;if(b>>>0>511)return 1801632;ku(1801632,c[30176+(b<<2)>>2]|0)|0;if(!(bu(1801632)|0))return 1801632;b=0;do{d=1801632+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(bu(1801632)|0)>>>0);return 1801632}function Pr(a,b){a=a|0;b=b|0;la(32,c[555260]|0)|0;c[554977]=a;c[554978]=b;c[554975]=a;c[554976]=b;kr(c[555247]|0);mr(c[555248]|0);return 0}function Qr(){return 0}function Rr(){P();c[742766]=(c[742766]|0)+1;return}function Sr(){c[742766]=(c[742766]|0)+-1;T();return}function Tr(){return 0}function Ur(){return 0}function Vr(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=Fp()|0;c[742770]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function Wr(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[742771]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}Tn(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=Sn(c[l>>2]|0,c[m>>2]|0,32)|0;c[742771]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[742761]|0;h=0;do{c[1801888+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1801888+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=g;e=c[o+(l<<2)>>2]|0;f=q;while(1){c[m>>2]=c[1801888+((d[e>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+4|0;e=e+1|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[742770]|0)|0;a=c[742770]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,Vv(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;Vv(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function Xr(){return M()|0}function Yr(){return}function Zr(){return}function _r(){return 0}function $r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function as(){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=Ia;Ia=Ia+64|0;d=b+52|0;e=b+48|0;f=b;g=0;do{h=1724192+g|0;i=a[h>>0]|0;a[1725216+g>>0]=i;if(i<<24>>24==3)a[h>>0]=1;g=g+1|0}while((g|0)!=512);g=0;do{if(!(a[1724192+g>>0]|0))a[1724704+g>>0]=0;g=g+1|0}while((g|0)!=512);g=K()|0;a[1724416]=g&64;a[1724420]=g&128;a[1724418]=0;a[1724422]=0;a[1724417]=g&1;a[1724421]=g&2;a:do if(R(f|0)|0){g=f+12|0;h=f+28|0;i=f+32|0;while(1){j=c[f>>2]|0;b:do switch(j|0){case 768:case 769:{k=c[g>>2]|0;l=(k|0)==1104?80:k;k=(l|0)==1103?79:l;l=(k|0)==1106?82:k;k=(l|0)==1105?81:l;l=(k|0)==1099?75:k;k=(l|0)==1102?78:l;l=(k|0)==1248?224:k;k=(l|0)<512;m=1724192+l|0;if((j|0)==768){if(!k)break b;a[m>>0]=3;a[1725216+l>>0]=0;a[1724704+l>>0]=0;break b}else{if(!k)break b;a[m>>0]=0;a[1725216]=0;break b}break}case 1024:{do if(c[554961]|0){if(ka(33)|0){m=c[h>>2]|0;c[554955]=(c[554955]|0)+m;k=c[i>>2]|0;c[554956]=(c[554956]|0)+k;l=(c[742768]|0)+m|0;m=c[742765]|0;n=(c[m>>2]<<2)+-1|0;o=(l|0)<(n|0)?l:n;c[742768]=(o|0)>0?o:0;o=(c[742769]|0)+k|0;k=(c[m+4>>2]<<2)+-1|0;m=(o|0)<(k|0)?o:k;c[742769]=(m|0)>0?m:0;break}if(c[554961]|0){L(d|0,e|0)|0;if(!(ka(34)|0))p=c[e>>2]|0;else{c[d>>2]=ka(35)|0;m=ka(36)|0;c[e>>2]=m;p=m}c[742768]=c[d>>2]<<2;c[742769]=p<<2}}while(0);m=c[554955]|0;if((m|0)>=0){if(m|0){k=~m;o=(k|0)>-2?k:-2;q=-2-o|0;r=m+2+(c[554957]|0)+o|0;s=24}}else{q=0;r=m+(c[554957]|0)|0;s=24}if((s|0)==24){s=0;c[554957]=r;c[554955]=q}m=c[554956]|0;if((m|0)<0){c[554958]=m+(c[554958]|0);c[554956]=0;break b}if(m|0){o=~m;k=(o|0)>-2?o:-2;c[554958]=m+2+(c[554958]|0)+k;c[554956]=-2-k}break}default:{}}while(0);if(!(R(f|0)|0))break a}}while(0);f=(ka(37)|0)!=0;if(f&(c[557102]|0)<32){do{f=ka(38)|0;q=(f|0)>-1?f:-1;f=c[557102]|0;c[1724064+(f<<2)>>2]=q;c[557102]=f+1;if((q|0)>0?(qo(-5)|0)==0:0)c[8742]=1;if(a[1724422]|0){a[1724416]=0;a[1724420]=0}q=(ka(37)|0)!=0}while(q&(c[557102]|0)<32);t=1}else t=0;q=ka(39)|0;c[554951]=(c[554951]|0)+q;c[554953]=(c[554953]|0)+q;q=ka(40)|0;c[554952]=(c[554952]|0)+q;c[554954]=(c[554954]|0)+q;bs();if(!((c[554962]|0)==0?(ka(41)|0)!=0:0)){c[557102]=0;Wv(1724192,0,512)|0;Wv(1725216,0,512)|0;Wv(1724704,0,512)|0;c[554951]=0;c[554952]=0;c[554953]=0;c[554954]=0}if(t|0){Ia=b;return 0}t=0;q=0;do{f=(qo(q)|0)==3;t=f?1:t;q=q+1|0}while((q|0)!=512);q=c[557102]|0;if(!((t|0)!=0&(q|0)<32)){Ia=b;return 0}c[1724064+(q<<2)>>2]=-1;c[557102]=q+1;Ia=b;return 0}function bs(){var a=0,b=0,d=0,e=0,f=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;cs(b,d,e);if(c[8741]|0){c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8741]=0}if(ka(42)|0)c[8742]=0;f=c[b>>2]|0;b=c[d>>2]|0;if(((c[e>>2]|0)>0&(b|f|0)>-1?(f|0)<(c[742748]|0):0)?(b|0)<(c[742749]|0):0){c[8742]=1;ka(43)|0}b=(qo(-5)|0)!=0;if(!(b&(c[8742]|0)!=0)){Ia=a;return}ka(44)|0;Ia=a;return} 147 + 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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=1;q=0}else{r=o;o=0;s=d;while(1){t=r<<24>>24;if((m|0)>(t|0))u=o;else u=o+1+(c[c[(c[e>>2]|0)+(t-m<<2)>>2]>>2]|0)|0;s=s+1|0;r=a[s>>0]|0;if(!(r<<24>>24)){p=1;q=u;break}else o=u}}u=q-p|0;p=c[b+32>>2]|0;q=b+28|0;if((u|0)>(p-f|0)){c[q>>2]=(c[q>>2]|0)+15;v=1;w=p-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=1;z=0}else{p=u;u=0;q=d;while(1){o=p<<24>>24;if((m|0)>(o|0))A=u;else A=u+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;q=q+1|0;p=a[q>>0]|0;if(!(p<<24>>24)){y=1;z=A;break}else u=A}}x=w-((z-y|0)/2|0)|0}if(!(h&4))B=x;else{y=a[d>>0]|0;if(!(y<<24>>24)){C=1;D=0}else{z=y;y=0;w=d;while(1){A=z<<24>>24;if((m|0)>(A|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(A-m<<2)>>2]>>2]|0)|0;w=w+1|0;z=a[w>>0]|0;if(!(z<<24>>24)){C=1;D=E;break}else y=E}}B=C+x-D|0}a:do if(!(h&1)){D=c[e>>2]|0;x=c[b+8>>2]|0;C=h;E=0;while(1){if((c[(c[D+(E<<2)>>2]|0)+8>>2]|0)==(x|0)){F=C;G=E;H=0;break a}y=E+n|0;z=(y|0)<(k|0);w=C|(z^1)&1;A=z?y:E;if(!(w&1)){C=w;E=A}else{F=w;G=A;H=1;break}}}else{F=h;G=0;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=G-m|0;G=(F&16|0)==0;F=b+32|0;if(H){H=h;n=0;E=d;C=B;x=g;while(1){D=H&255;if(m>>>0<=D>>>0&k>>>0>D>>>0){A=c[(c[e>>2]|0)+(l+D<<2)>>2]|0;D=A+4|0;co(A,b,0,0,C,x,c[A>>2]|0,c[D>>2]|0,i,0);w=1+(c[A>>2]|0)|0;A=c[D>>2]|0;I=a[E>>0]|0;J=w;K=(n|0)>(A|0)?n:A;L=w+C|0}else{I=H;J=0;K=n;L=C}if(I<<24>>24!=10)if(!G?(L|0)>((c[F>>2]|0)-J|0):0)M=37;else{N=K;O=L;P=x}else M=37;if((M|0)==37){M=0;N=0;O=f;P=K+x+1|0}E=E+1|0;H=a[E>>0]|0;if(!(H<<24>>24)){Q=P;break}else{n=N;C=O;x=P}}}else{P=h;h=0;x=d;d=B;B=g;while(1){O=P&255;if(m>>>0<=O>>>0&k>>>0>O>>>0){C=c[(c[e>>2]|0)+(l+O<<2)>>2]|0;O=C+4|0;Rn(C,b,0,0,d,B,c[C>>2]|0,c[O>>2]|0);N=1+(c[C>>2]|0)|0;C=c[O>>2]|0;R=a[x>>0]|0;S=N;T=(h|0)>(C|0)?h:C;U=N+d|0}else{R=P;S=0;T=h;U=d}if(R<<24>>24!=10)if(!G?(U|0)>((c[F>>2]|0)-S|0):0)M=44;else{V=T;W=U;X=B}else M=44;if((M|0)==44){M=0;V=0;W=f;X=T+B+1|0}x=x+1|0;P=a[x>>0]|0;if(!(P<<24>>24)){Q=X;break}else{h=V;d=W;B=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;Bo(b,96845,c[557113]|0,v,Q,0,0)|0;return Q|0}return 0}function Co(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bo(a,b,c,d,e,0,0)|0;return}function Do(a){a=a|0;c[557115]=a;return}function Eo(a){a=a|0;c[557116]=a;return}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;switch(c[e>>2]|0){case 0:{f=tv(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Vv(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function Go(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;hv(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function Ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=hv(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;Bq(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){wq(d,0,f);h=b;break}else{Vv(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Vv((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;hv(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function Jo(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;nv(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Bq(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function Ko(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;hv(g,2,1,c[e+8>>2]|0)|0;Ia=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Bq(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Ia=f;return}default:{Ia=f;return}}}function Lo(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Ia;Ia=Ia+16|0;g=d;if(!e){h=0;Ia=d;return h|0}i=go(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=Ru(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Vv(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}tv(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Vv(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}Zu(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=u;E=0}}if((k|0)==39){k=0;D=A;E=c[g>>2]|0}c[g>>2]=0;switch(D|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=D;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}tv(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=Sn(E,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,E)|0,u>>3)|0;k:do if(w)Mo(y,C,e)|0;else switch(c[e>>2]|0){case 0:{tv(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Vv(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);ko(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}tv(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Vv(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Mn(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)Mo(w,u,e)|0;else switch(c[e>>2]|0){case 0:{tv(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Vv(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);ko(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=Wq(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{Zu(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}tv(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Vv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=hr(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{tv(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Vv(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}jr(w,c[ba>>2]|0);ko(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=ip()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=C;ia=u;break q}}tv(g,4,1,c[l>>2]|0)|0;ha=C;ia=u}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;C=(u|0)<4?u:4;u=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;C=(u|0)<4?u:4;u=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;ha=fa;ia=ga}w=x+24|0;c[w>>2]=c[g>>2];fp(x,c[ia>>2]|0);gp(x,c[ha>>2]|0);r:do if((c[ia>>2]|0)>0){u=0;while(1){f[g>>2]=0.0;C=c[e>>2]|0;switch(C|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Vv(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(u*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=C;k=99}}s:do if((k|0)==99){k=0;C=c[x>>2]|0;c[C+(u*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=C;k=405;break s;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=C;ma=ja}}c[la+(u*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}tv(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[ka+(u*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;oa=na}c[oa+(u*12|0)+8>>2]=c[g>>2];u=u+1|0;if((u|0)>=(c[ia>>2]|0))break r}}while(0);t:do if((c[ha>>2]|0)>0){u=x+12|0;C=0;while(1){J=c[u>>2]|0;y=J+(C*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(C*80|0)+56|0;b[L>>1]=K;hp(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(C*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(C*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}tv(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(C*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(C*80|0)+48|0;y=J+(C*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Vv(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}tv(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);C=C+1|0;if((C|0)>=(c[ha>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ia>>2]|0)>0:0){C=x+28|0;u=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[C>>2]|0;y=pa+(u<<5)|0;b[y>>1]=J;b[g>>1]=0;za=pa;Aa=J;Ba=y;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;y=c[C>>2]|0;J=y+(u<<5)|0;b[J>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=y;Aa=L;Ba=J;k=132;break y;break}case 0:break;default:{Ca=y;Da=L;Ea=ya;Fa=J;break y}}tv(g,2,1,c[l>>2]|0)|0;J=c[C>>2]|0;L=J+(u<<5)|0;Ca=J;Da=b[L>>1]|0;Ea=c[e>>2]|0;Fa=L}while(0);if((k|0)==132){k=0;L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<2?J:2;J=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+L;Ca=za;Da=Aa;Ea=1;Fa=Ba}L=b[g>>1]|0;J=Da&65535;y=(c[w>>2]|0)+-1|0;pa=(y|0)>(J|0)?J:y;b[Fa>>1]=(pa|0)>0?pa:0;pa=L&65535;L=(y|0)>(pa|0)?pa:y;b[Ca+(u<<5)+2>>1]=(L|0)>0?L:0;f[g>>2]=0.0;switch(Ea|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Ga=c[C>>2]|0;break}case 1:{L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;pa=(y|0)<4?y:4;y=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+L;Ga=Ca;break}default:Ga=Ca}c[Ga+(u<<5)+4>>2]=c[g>>2];u=u+1|0;if((u|0)>=(c[ia>>2]|0))break x}}while(0);op(x);ko(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=xp()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Ha=c[e>>2]|0;k=145;break}case 1:{C=c[n>>2]|0;L=(c[m>>2]|0)-C|0;y=(L|0)<4?L:4;L=(y|0)>0?y:0;Vv(g|0,(c[o>>2]|0)+C|0,L|0)|0;c[n>>2]=L+C;Ha=1;k=145;break}default:{Ja=u;Ka=0}}if((k|0)==145){k=0;Ja=Ha;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{u=c[m>>2]|0;C=c[n>>2]|0;L=u-C|0;y=(L|0)<4?L:4;L=(y|0)>0?y:0;y=c[o>>2]|0;Vv(g|0,y+C|0,L|0)|0;pa=L+C|0;c[n>>2]=pa;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=u;Oa=pa;Pa=y;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[m>>2]|0;Oa=c[n>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[m>>2]|0;Ua=c[n>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[m>>2]|0;Ya=c[n>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[m>>2]|0;ab=c[n>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[m>>2]|0;eb=c[n>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[m>>2]|0;hb=c[n>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Na-Oa|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,Pa+Oa|0,x|0)|0;y=x+Oa|0;c[n>>2]=y;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=Na;Ua=y;Va=Pa;k=156}if((k|0)==156){k=0;y=Ta-Ua|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,Va+Ua|0,y|0)|0;x=y+Ua|0;c[n>>2]=x;c[g>>2]=0;Xa=Ta;Ya=x;Za=Va;k=280}if((k|0)==280){k=0;x=Xa-Ya|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,Za+Ya|0,x|0)|0;y=x+Ya|0;c[n>>2]=y;c[g>>2]=0;$a=Xa;ab=y;bb=Za;k=284}if((k|0)==284){k=0;y=$a-ab|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,bb+ab|0,y|0)|0;x=y+ab|0;c[n>>2]=x;c[g>>2]=0;db=$a;eb=x;fb=bb;k=288}if((k|0)==288){k=0;x=db-eb|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Vv(g|0,fb+eb|0,x|0)|0;y=x+eb|0;c[n>>2]=y;c[g>>2]=0;gb=db;hb=y;ib=fb;k=292}if((k|0)==292){k=0;y=gb-hb|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Vv(g|0,ib+hb|0,y|0)|0;c[n>>2]=y+hb}A:do if((Ka|0)>0){y=w+4|0;x=0;while(1){Ap(w)|0;pa=c[y>>2]|0;u=pa+(x*112|0)|0;C=c[e>>2]|0;switch(C|0){case 0:{tv(u,1,32,c[l>>2]|0)|0;k=163;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;K=(J|0)<32?J:32;J=(K|0)>0?K:0;Vv(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);k=163;break}default:jb=C}if((k|0)==163){k=0;jb=c[e>>2]|0}C=pa+(x*112|0)+32|0;switch(jb|0){case 0:{tv(C,1,32,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;u=(L|0)<32?L:32;L=(u|0)>0?u:0;Vv(C|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);break}default:{}}c[g>>2]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{J=c[m>>2]|0;C=c[n>>2]|0;u=J-C|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;K=c[o>>2]|0;Vv(g|0,K+C|0,u|0)|0;ra=u+C|0;c[n>>2]=ra;c[pa+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=J;nb=ra;ob=K;k=173;break}default:{kb=0;lb=L;k=170}}B:do if((k|0)==170){k=0;c[pa+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[m>>2]|0;nb=c[n>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[pa+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[m>>2]|0;ub=c[n>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[pa+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[m>>2]|0;zb=c[n>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[pa+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[m>>2]|0;Eb=c[n>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}L=pa+(x*112|0)+104|0;c[L>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=c[m>>2]|0;Jb=c[n>>2]|0;Kb=c[o>>2]|0;Lb=L;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[pa+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=c[m>>2]|0;Ob=c[n>>2]|0;Pb=c[o>>2]|0;Qb=L;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=c[m>>2]|0;Tb=c[n>>2]|0;Ub=c[o>>2]|0;Vb=L;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=c[m>>2]|0;Yb=c[n>>2]|0;Zb=c[o>>2]|0;_b=L;k=276;break B;break}default:Wb=Rb}K=c[pa+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;$b=K;ac=L;break B;break}case 1:{bc=c[m>>2]|0;cc=c[n>>2]|0;dc=c[o>>2]|0;ec=K;fc=L;k=197;break B;break}default:{$b=K;ac=L;break B}}}while(0);if((k|0)==173){k=0;L=mb-nb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,ob+nb|0,L|0)|0;K=L+nb|0;c[n>>2]=K;c[pa+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=mb;ub=K;vb=ob;k=177}if((k|0)==177){k=0;K=tb-ub|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,vb+ub|0,K|0)|0;L=K+ub|0;c[n>>2]=L;c[pa+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=tb;zb=L;Ab=vb;k=181}if((k|0)==181){k=0;L=yb-zb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Ab+zb|0,L|0)|0;K=L+zb|0;c[n>>2]=K;c[pa+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=yb;Eb=K;Fb=Ab;k=185}if((k|0)==185){k=0;K=Db-Eb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Fb+Eb|0,K|0)|0;L=K+Eb|0;c[n>>2]=L;K=pa+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=Db;Jb=L;Kb=Fb;Lb=K;k=189}if((k|0)==189){k=0;K=Ib-Jb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Kb+Jb|0,K|0)|0;L=K+Jb|0;c[n>>2]=L;c[pa+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=L;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;L=Nb-Ob|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Pb+Ob|0,L|0)|0;K=L+Ob|0;c[n>>2]=K;c[g>>2]=0;Sb=Nb;Tb=K;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;K=Sb-Tb|0;L=(K|0)<4?K:4;K=(L|0)>0?L:0;Vv(g|0,Ub+Tb|0,K|0)|0;L=K+Tb|0;c[n>>2]=L;c[g>>2]=0;Xb=Sb;Yb=L;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;L=Xb-Yb|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,Zb+Yb|0,L|0)|0;K=L+Yb|0;c[n>>2]=K;L=c[pa+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=Xb;cc=K;dc=Zb;ec=L;fc=_b;k=197}if((k|0)==197){k=0;L=bc-cc|0;K=(L|0)<4?L:4;L=(K|0)>0?K:0;Vv(g|0,dc+cc|0,L|0)|0;c[n>>2]=L+cc;$b=ec;ac=fc}L=c[g>>2]|0;c[$b>>2]=L;Cp($b,L);L=c[$b>>2]|0;C:do if(!L)k=209;else{K=c[$b+12>>2]|0;ra=c[$b+8>>2]|0;J=c[e>>2]|0;switch(J|0){case 0:{tv(K,ra,L,c[l>>2]|0)|0;k=202;break}case 1:{C=B(ra,L)|0;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;sa=(C|0)<(u|0)?C:u;u=(sa|0)>0?sa:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=202;break}default:{gc=J;hc=L}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}J=c[$b+16>>2]|0;switch(gc|0){case 0:{tv(J,4,hc,c[l>>2]|0)|0;break}case 1:{u=hc<<2;ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(u|0)<(K|0)?u:K;K=(sa|0)>0?sa:0;Vv(J|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;ra=c[$b>>2]|0;J=c[e>>2]|0;switch(J|0){case 0:{tv(K,4,ra,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=ra<<2;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;C=(sa|0)<(u|0)?sa:u;u=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=209;break C;break}default:{ic=J;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}L=c[pa+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;u=(c[m>>2]|0)-J|0;ra=(u|0)<4?u:4;u=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+J|0,u|0)|0;c[n>>2]=u+J;break}default:{}}J=c[g>>2]|0;c[L>>2]=J;Cp(L,J);J=c[L>>2]|0;D:do if(!J)k=224;else{u=c[L+12>>2]|0;ra=c[L+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(u,ra,J,c[l>>2]|0)|0;k=217;break}case 1:{C=B(ra,J)|0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(C|0)<(sa|0)?C:sa;sa=(ta|0)>0?ta:0;Vv(u|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=J}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[L>>2]|0}K=c[L+16>>2]|0;switch(jc|0){case 0:{tv(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;ra=c[n>>2]|0;u=(c[m>>2]|0)-ra|0;ta=(sa|0)<(u|0)?sa:u;u=(ta|0)>0?ta:0;Vv(K|0,(c[o>>2]|0)+ra|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[L+20>>2]|0;ra=c[L>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(u,4,ra,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=ra<<2;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;C=(ta|0)<(sa|0)?ta:sa;sa=(C|0)>0?C:0;Vv(u|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}L=c[pa+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+J;break}default:{}}J=c[g>>2]|0;c[L>>2]=J;Cp(L,J);J=c[L>>2]|0;E:do if(J|0){K=c[L+12>>2]|0;sa=c[L+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{tv(K,sa,J,c[l>>2]|0)|0;k=232;break}case 1:{u=B(sa,J)|0;sa=c[n>>2]|0;C=(c[m>>2]|0)-sa|0;ta=(u|0)<(C|0)?u:C;C=(ta|0)>0?ta:0;Vv(K|0,(c[o>>2]|0)+sa|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);k=232;break}default:{mc=ra;nc=J}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[L>>2]|0}ra=c[L+16>>2]|0;switch(mc|0){case 0:{tv(ra,4,nc,c[l>>2]|0)|0;break}case 1:{C=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(C|0)<(K|0)?C:K;K=(ta|0)>0?ta:0;Vv(ra|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[L+20>>2]|0;sa=c[L>>2]|0;switch(c[e>>2]|0){case 0:{tv(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{ra=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;C=(ra|0)<(ta|0)?ra:ta;ta=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);L=c[ac>>2]|0;F:do if(L|0){J=pa+(x*112|0)+92|0;c[J>>2]=xq(L<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Bp(16)|0;c[(c[J>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[J>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;C=(c[m>>2]|0)-K|0;ra=(C|0)<4?C:4;C=(ra|0)>0?ra:0;Vv(g|0,(c[o>>2]|0)+K|0,C|0)|0;c[n>>2]=C+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;Cp(sa,K);K=c[sa>>2]|0;G:do if(K|0){C=c[sa+12>>2]|0;ra=c[sa+8>>2]|0;u=c[e>>2]|0;switch(u|0){case 0:{tv(C,ra,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(ra,K)|0;ra=c[n>>2]|0;oc=(c[m>>2]|0)-ra|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Vv(C|0,(c[o>>2]|0)+ra|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=u;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}u=c[sa+16>>2]|0;switch(qc|0){case 0:{tv(u,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;ra=c[n>>2]|0;C=(c[m>>2]|0)-ra|0;pc=(oc|0)<(C|0)?oc:C;C=(pc|0)>0?pc:0;Vv(u|0,(c[o>>2]|0)+ra|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}C=c[sa+20>>2]|0;ra=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{tv(C,4,ra,c[l>>2]|0)|0;break G;break}case 1:{u=ra<<2;ra=c[n>>2]|0;pc=(c[m>>2]|0)-ra|0;oc=(u|0)<(pc|0)?u:pc;pc=(oc|0)>0?oc:0;Vv(C|0,(c[o>>2]|0)+ra|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);L=c[pa+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;sa=(J|0)<4?J:4;J=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;break}default:{}}ta=c[g>>2]|0;c[L>>2]=ta;Cp(L,ta);ta=c[L>>2]|0;H:do if(ta|0){J=c[L+12>>2]|0;sa=c[L+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{tv(J,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;C=(pc|0)<(ra|0)?pc:ra;ra=(C|0)>0?C:0;Vv(J|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[L>>2]|0}K=c[L+16>>2]|0;switch(sc|0){case 0:{tv(K,4,tc,c[l>>2]|0)|0;break}case 1:{ra=tc<<2;sa=c[n>>2]|0;J=(c[m>>2]|0)-sa|0;C=(ra|0)<(J|0)?ra:J;J=(C|0)>0?C:0;Vv(K|0,(c[o>>2]|0)+sa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}J=c[L+20>>2]|0;sa=c[L>>2]|0;switch(c[e>>2]|0){case 0:{tv(J,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;C=(c[m>>2]|0)-sa|0;ra=(K|0)<(C|0)?K:C;C=(ra|0)>0?ra:0;Vv(J|0,(c[o>>2]|0)+sa|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);ko(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Kn()|0;switch(c[e>>2]|0){case 0:{tv(x,1,768,c[l>>2]|0)|0;break}case 1:{y=c[n>>2]|0;L=(c[m>>2]|0)-y|0;ta=(L|0)<768?L:768;L=(ta|0)>0?ta:0;Vv(x|0,(c[o>>2]|0)+y|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);break}default:{}}ko(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=lp()|0;switch(c[e>>2]|0){case 0:{tv(x,96,1,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(y|0)<96?y:96;y=(ta|0)>0?ta:0;Vv(x|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}ko(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Np(0)|0;ko(i,11,x)|0;wq(x,0,11032);c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=y;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}tv(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;y=(c[m>>2]|0)-w|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Vv(g|0,(c[o>>2]|0)+w|0,y|0)|0;c[n>>2]=y+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}y=0;while(1){c[g>>2]=0;L=c[e>>2]|0;switch(L|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;pa=(c[m>>2]|0)-ta|0;C=(pa|0)<4?pa:4;pa=(C|0)>0?C:0;Vv(g|0,(c[o>>2]|0)+ta|0,pa|0)|0;c[n>>2]=pa+ta;c[x+8+(y*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=L;k=347}}J:do if((k|0)==347){k=0;c[x+8+(y*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(y*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(y*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(y*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}L=c[g>>2]|0;c[x+8+(y*344|0)+332>>2]=L;ta=x+8+(y*344|0)+268|0;switch(Hc|0){case 1:{Ic=L;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}tv(ta,1,L,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;c[x+8+(y*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(ta|0)<4?ta:4;ta=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+L;L=c[g>>2]|0;c[x+8+(y*344|0)+332>>2]=L;Ic=L;Jc=x+8+(y*344|0)+268|0;k=361}if((k|0)==361){k=0;L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;pa=(Ic|0)<(ta|0)?Ic:ta;ta=(pa|0)>0?pa:0;Vv(Jc|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;L=(c[m>>2]|0)-ta|0;pa=(L|0)<4?L:4;L=(pa|0)>0?pa:0;Vv(g|0,(c[o>>2]|0)+ta|0,L|0)|0;c[n>>2]=L+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){L=0;while(1){c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{C=c[n>>2]|0;sa=(c[m>>2]|0)-C|0;J=(sa|0)<4?sa:4;sa=(J|0)>0?J:0;Vv(g|0,(c[o>>2]|0)+C|0,sa|0)|0;c[n>>2]=sa+C;c[x+8+(y*344|0)+12+(L<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=pa;k=372}}L:do if((k|0)==372){k=0;c[x+8+(y*344|0)+12+(L<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{tv(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(y*344|0)+12+(L<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}tv(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;pa=c[n>>2]|0;C=(c[m>>2]|0)-pa|0;sa=(C|0)<4?C:4;C=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+pa|0,C|0)|0;c[n>>2]=C+pa;c[x+8+(y*344|0)+12+(L<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;pa=c[n>>2]|0;C=(c[m>>2]|0)-pa|0;sa=(C|0)<4?C:4;C=(sa|0)>0?sa:0;Vv(g|0,(c[o>>2]|0)+pa|0,C|0)|0;c[n>>2]=C+pa}c[x+8+(y*344|0)+12+(L<<4)+12>>2]=c[g>>2];L=L+1|0;if((L|0)==(ta|0))break K}}while(0);y=y+1|0;if((y|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){Cn(96038);w=c[e>>2]|0;switch(w|0){case 0:{Zu(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{tv(g,4,1,c[l>>2]|0)|0;break}case 1:{y=c[n>>2]|0;x=(c[m>>2]|0)-y|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Vv(g|0,(c[o>>2]|0)+y|0,x|0)|0;c[n>>2]=x+y;break}default:{}}y=c[g>>2]|0;x=Aq(y)|0;ko(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{tv(ta,1,64,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;pa=(c[m>>2]|0)-L|0;C=(pa|0)<64?pa:64;pa=(C|0)>0?C:0;Vv(ta|0,(c[o>>2]|0)+L|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;pa=c[x+12>>2]|0;M:do if(w)Mo(pa,y,e)|0;else switch(c[e>>2]|0){case 0:{tv(pa,1,y,c[l>>2]|0)|0;break M;break}case 1:{L=c[n>>2]|0;ta=(c[m>>2]|0)-L|0;C=(y|0)<(ta|0)?y:ta;ta=(C|0)>0?C:0;Vv(pa|0,(c[o>>2]|0)+L|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=y;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=Ru(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{Zu(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Ia=d;return h|0}jo(i);h=0;Ia=d;return h|0}while(0);jo(i);h=0;Ia=d;return h|0}function Mo(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=Ia;Ia=Ia+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{tv(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Vv(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=xq(h)|0;switch(c[d>>2]|0){case 0:{tv(f,1,h,c[d+8>>2]|0)|0;k=Hq(f,a,h,b)|0;Ia=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Vv(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=Hq(f,a,h,b)|0;Ia=e;return k|0}default:{k=Hq(f,a,h,b)|0;Ia=e;return k|0}}return 0}function No(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Ru(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function Oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+16|0;d=b;e=Po(a,96074)|0;if(e){f=Lo(0,e)|0;if(!(us(e)|0)){if(!(c[e>>2]|0))Lu(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(!(c[554979]|0)){c[554979]=(Xr()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?96077:96084;wt(1715360,96087,d)|0;Cn(1715360);Ia=b;return g|0}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+1040|0;f=e+1032|0;g=e+1024|0;h=e;Qo(b,0,h,0,1);a:do if(95922){i=95922;j=4640;while(1){k=bu(i)|0;if((k|0)==(bu(h)|0)?Ts(i,h)|0:0)break;j=j+4|0;i=c[j>>2]|0;if(!i)break a}l=0;Ia=e;return l|0}while(0);if((ka(26)|0)!=1){h=ts(b,d)|0;i=(h|0)!=0;if(i){c[g>>2]=b;c[g+4>>2]=d;vv(96110,g)|0}g=a[d>>0]|0;if(g<<24>>24==119|i&g<<24>>24==114){l=h;Ia=e;return l|0}}h=xq(92)|0;wq(h,0,92);c[h>>2]=0;g=Fu(b,d)|0;c[h+8>>2]=g;if(g){if(h|0){l=h;Ia=e;return l|0}}else zq(h);h=ts(b,d)|0;if(!h){l=0;Ia=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;vv(96173,f)|0;l=h;Ia=e;return l|0}function Qo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((bu(b)|0)>>>0>1023){Cn(96208);Ia=g;return}Rs(h,b)|0;l=bu(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=f;t=n;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)Rs(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=b;t=p;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=n;t=q;r=27}}while(0);if((r|0)==27)if(s<<24>>24==47){u=t;r=28}else v=t;if((r|0)==28)v=u+1|0;if(j)Rs(d,v)|0;if((v|0)==(h|0)){Ia=g;return}a[v>>0]=0;if(!i){Ia=g;return}Rs(c,h)|0;Ia=g;return}function Ro(a){a=a|0;if(!a)return;if(us(a)|0)return;if(!(c[a>>2]|0))Lu(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)zq(c[a+12>>2]|0);zq(a);if(c[554979]|0)return;c[554979]=(Xr()|0)+1e3;return}function So(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Ru(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=rv(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=k;n=0;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=Ru(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=rv(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=s;n=r;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=Ru(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=u;n=t;break a}}}else{m=l;n=1}}while(0);a[b+n>>0]=0;if((m|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=rv(c[f+8>>2]|0)|0;i=30;break}case 1:{m=f+20|0;n=c[m>>2]|0;if((n|0)<(c[f+16>>2]|0)){c[m>>2]=n+1;w=d[(c[f+12>>2]|0)+n>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function To(){wq(2220960,0,7424);c[555241]=0;c[555242]=0;c[555243]=32;c[555248]=256;c[555247]=(c[555801]|0)==0?192:64;c[555260]=1024;if(ka(27)|0){qv(96339)|0;c[555260]=2048}c[555261]=-1;c[555254]=0;c[555262]=0;c[555263]=0;c[555264]=0;c[555265]=0;c[555255]=-1;c[555256]=-1;c[555257]=-1;c[555275]=-1;c[555276]=1;c[555282]=0;c[555249]=2;c[555250]=10;c[555252]=0;if(!(c[555801]|0)){c[555270]=1;c[555283]=30;return}c[555249]=5;c[555270]=1;c[555283]=30;return}function Uo(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;b=Ia;Ia=Ia+1488|0;d=b+1464|0;e=b+1456|0;f=b+1448|0;g=b+1440|0;h=b+1432|0;i=b+1424|0;j=b+1416|0;k=b+1408|0;l=b+1400|0;m=b+1392|0;n=b+1384|0;o=b+1376|0;p=b+1368|0;q=b+1360|0;r=b+1352|0;s=b+1344|0;t=b+1336|0;u=b+1328|0;v=b+1320|0;w=b+1312|0;x=b+1304|0;y=b+1296|0;z=b+1288|0;A=b+1280|0;B=b+1024|0;C=b;D=b+1472|0;E=b+1468|0;if(c[557117]|0){Ia=b;return}a[2223216]=0;a[2224240]=0;ds(96392,C);F=Po(C,104528)|0;if(!F){es(96392,C);G=Po(C,104528)|0;if(!G){Ia=b;return}else H=G}else H=F;c[557117]=1;kv(2223216,C,1023)|0;Cn(96403);Cn(96421);switch(c[H>>2]|0){case 0:{I=Ru(c[H+8>>2]|0)|0;J=7;break}case 1:{I=(c[H+20>>2]|0)>=(c[H+16>>2]|0)&1;J=7;break}default:J=8}if((J|0)==7?(I|0)==0:0)J=8;a:do if((J|0)==8){I=H+8|0;C=B+10|0;F=H+20|0;G=H+16|0;K=B+11|0;L=B+8|0;M=B+19|0;N=B+12|0;O=B+15|0;P=B+6|0;Q=B+9|0;R=B+13|0;S=B+17|0;T=B+30|0;U=B+255|0;V=1;while(1){a[B>>0]=0;switch(c[H>>2]|0){case 0:{Qu(B,255,c[I>>2]|0)|0;break}case 1:{So(B,255,H)|0;break}default:{}}W=bu(B)|0;b:do if((W|0)>0){X=W;while(1){Y=X;X=X+-1|0;Z=B+X|0;switch(a[Z>>0]|0){case 13:case 10:break;default:break b}a[Z>>0]=0;if((Y|0)<=1)break b}}while(0);switch(a[B>>0]|0){case 47:case 0:{_=V;break}default:{c[A>>2]=V;c[A+4>>2]=B;wt(1715360,96424,A)|0;Cn(1715360);_=V+1|0}}c:do if(!(ut(B,96433,10)|0)){c[z>>2]=2220976;c[z+4>>2]=2220980;Su(C,96444,z)|0;c[555241]=c[555244];c[555242]=c[555245]}else{if(!(ut(B,96451,11)|0)){c[y>>2]=2220976;c[y+4>>2]=2220980;Su(K,96444,y)|0;break}if(!(ut(B,96463,11)|0)){c[x>>2]=2220964;c[x+4>>2]=2220968;Su(K,96444,x)|0;break}if(!(ut(B,96475,8)|0)){c[w>>2]=2220984;Su(L,96484,w)|0;break}if(!(ut(B,96488,19)|0)){c[v>>2]=2220996;Su(M,96484,v)|0;break}if(!(ut(B,96508,19)|0)){c[u>>2]=2221e3;Su(M,96484,u)|0;break}if(!(ut(B,96528,12)|0)){c[t>>2]=2220988;Su(N,96484,t)|0;break}if(!(ut(B,96541,12)|0)){c[s>>2]=2220992;Su(N,96484,s)|0;break}if(!(ut(B,96554,15)|0)){c[r>>2]=2221040;Su(O,96484,r)|0;break}if(!(ut(B,96570,6)|0)){c[q>>2]=2221044;Su(P,96484,q)|0;break}if(!(ut(B,96577,11)|0)){c[p>>2]=2221048;Su(K,96484,p)|0;break}if(!(ut(B,96589,8)|0)){c[o>>2]=2221052;Su(L,96484,o)|0;break}if(!(ut(B,96598,12)|0)){c[n>>2]=2221060;Su(N,96484,n)|0;break}if(!(ut(B,96611,9)|0)){c[m>>2]=2221016;Su(Q,96484,m)|0;break}if(!(ut(B,96621,15)|0)){c[l>>2]=2221020;c[l+4>>2]=2221024;Su(O,96444,l)|0;W=c[555256]|0;c[k>>2]=c[555255];c[k+4>>2]=W;wt(1715360,96637,k)|0;Cn(1715360);break}if(!(ut(B,96666,8)|0)){c[j>>2]=2221128;Su(Q,96484,j)|0;break}if(!(ut(B,96675,7)|0)){c[i>>2]=2221076;Su(L,96484,i)|0;break}if(!(ut(B,96683,12)|0)){a[2222172]=0;W=R;d:while(1){$=a[W>>0]|0;switch($<<24>>24){case 0:{break c;break}case 32:{W=W+1|0;break}default:break d}}X=$;Y=W;Z=0;aa=0;while(1){ba=2222172+aa|0;do if(X<<24>>24>31){ca=X<<24>>24==92?47:X<<24>>24;if(!((Z|0)!=47|(ca|0)!=47)){da=47;ea=aa;break}a[ba>>0]=ca;fa=aa+1|0;a[2222172+fa>>0]=0;da=ca;ea=fa}else{da=Z;ea=aa}while(0);Y=Y+1|0;X=a[Y>>0]|0;if(!(X<<24>>24))break;else{Z=da;aa=ea}}if((ea|0)<=0)break;aa=2222172+ea|0;e:while(1){Z=aa+-1|0;switch(a[Z>>0]|0){case 47:{break c;break}case 32:break;default:break e}a[Z>>0]=0;if(Z>>>0>2222172>>>0)aa=Z;else break c}a[aa>>0]=47;a[aa+1>>0]=0;break}if(!(ut(B,96696,17)|0)){c[h>>2]=2221080;Su(S,96484,h)|0;break}if(!(ut(B,96714,11)|0)){c[g>>2]=2221084;Su(K,96484,g)|0;switch(c[555271]|0){case 1:{c[555272]=1;break c;break}case 2:{c[555272]=0;break c;break}default:break c}}if(!(ut(B,96726,30)|0)){c[f>>2]=2221012;Su(T,96484,f)|0;break}if(ut(B,96757,13)|0){if(!(ut(B,96777,8)|0)){c[d>>2]=2228380;Su(L,96484,d)|0;break}Z=c[557115]|0;if(!Z)break;a[U>>0]=0;La[Z&255](B)|0;break}Z=R;while(1){ga=a[Z>>0]|0;if(ga<<24>>24==32)Z=Z+1|0;else break}if((ga+-48&255)<10){aa=Z;do{c[D>>2]=0;c[E>>2]=0;c[e>>2]=D;c[e+4>>2]=E;Su(aa,96771,e)|0;X=c[D>>2]|0;Y=c[E>>2]|0;if(X>>>0<512&(Y+-1|0)>>>0<511)c[2224284+(X<<2)>>2]=Y;Y=aa;while(1){X=a[Y>>0]|0;ha=X<<24>>24==44;ia=Y+1|0;if(ha^X<<24>>24!=0)Y=ia;else break}aa=ha?ia:Y}while(((a[aa>>0]|0)+-48&255)<10)}aa=0;do{Z=c[2224284+(aa<<2)>>2]|0;if((Z|0)>0)c[2226332+(Z<<2)>>2]=aa;aa=aa+1|0}while((aa|0)!=512)}while(0);switch(c[H>>2]|0){case 0:{ja=Ru(c[I>>2]|0)|0;break}case 1:{ja=(c[F>>2]|0)>=(c[G>>2]|0)&1;break}default:ja=0}if(!ja)V=_;else break a}}while(0);Cn(96786);_=c[555249]|0;ja=(_|0)<200?_:200;c[555249]=(ja|0)>0?ja:0;ja=c[555250]|0;_=(ja|0)<200?ja:200;c[555250]=(_|0)>0?_:0;_=c[555247]|0;ja=(_|0)<256?_:256;c[555247]=(ja|0)>0?ja:0;ja=c[555248]|0;_=(ja|0)<256?ja:256;c[555248]=(_|0)>0?_:0;if(((c[555260]|0)+-512|0)>>>0>7680)c[555260]=1024;if(!(us(H)|0)){if(!(c[H>>2]|0))Lu(c[H+8>>2]|0)|0;if(c[H+88>>2]|0)zq(c[H+12>>2]|0);zq(H);if(!(c[554979]|0))c[554979]=(Xr()|0)+1e3}c[555240]=1;H=Vo(2223216)|0;if(H|0)Gq(c[H+12>>2]|0,c[H+16>>2]|0,2224240)|0;Cq(H);Ia=b;return}function Vo(a){a=a|0;var b=0,c=0,d=0,e=0;b=Fu(a,96074)|0;if(!b){c=0;return c|0}a=Aq(1024)|0;d=xq(65536)|0;if(!(Ru(b)|0))do{e=tv(d,1,65536,b)|0;Ho(d,1,e,a)|0}while((e|0)!=0&(Ru(b)|0)==0);zq(d);Lu(b)|0;c=a;return c|0}function Wo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1725728:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=e;e=c;c=0;g=d;while(1){if(b<<24>>24>31){h=b<<24>>24==92?47:b<<24>>24;if((c|0)!=47|(h|0)!=47){a[g>>0]=h;i=g+1|0;a[i>>0]=0;j=h;k=i}else{j=47;k=g}}else{j=c;k=g}e=e+1|0;b=a[e>>0]|0;if(!(b<<24>>24))break;else{c=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function Xo(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1072|0;d=b+48|0;e=b;ds(96392,d);wq(e,0,41);f=Vo(d)|0;if(f|0)Gq(c[f+12>>2]|0,c[f+16>>2]|0,e)|0;Cq(f);if(!((a[e>>0]|0)==0|(a[2224240]|0)==0)?tt(e,2224240,40)|0:0){Ia=b;return}e=Po(d,96789)|0;if(!e){Ia=b;return}d=e+8|0;if(!(c[d>>2]|0)){Ia=b;return}c[555246]=xr()|0;Yo(e,96791,c[555247]|0)|0;Yo(e,96818,c[555248]|0)|0;f=c[557116]|0;if(!f){if(us(e)|0){Ia=b;return}if(!(c[e>>2]|0))Lu(c[d>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(c[554979]|0){Ia=b;return}c[554979]=(Xr()|0)+1e3;Ia=b;return}else{La[f&255](e)|0;if(us(e)|0){Ia=b;return}if(!(c[e>>2]|0))Lu(c[d>>2]|0)|0;if(c[e+88>>2]|0)zq(c[e+12>>2]|0);zq(e);if(c[554979]|0){Ia=b;return}c[554979]=(Xr()|0)+1e3;Ia=b;return}}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+1040|0;f=e+1024|0;g=e;wq(g,0,1024);c[f>>2]=d;wt(g,b,f)|0;f=bu(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;hv(g,1,f,c[a+8>>2]|0)|0;Ia=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Bq(a,(c[b>>2]|0)+f|0)|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Ia=e;return 0}default:{Ia=e;return 0}}return 0}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qo(a,b,c,d,0);return}function _o(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ia;Ia=Ia+1024|0;e=d;switch(a[b>>0]|0){case 92:case 47:{f=3;break}default:if((a[b+1>>0]|0)==58)f=3;else gs(b,e)}if((f|0)==3)ku(e,b)|0;a[c>>0]=0;b=0;g=1;a:while(1){h=e+b|0;i=b;b:while(1){j=a[e+i>>0]|0;switch(j<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}i=i+1|0}k=e+i|0;l=j<<24>>24==0;if((b|0)==(i|0)&l){f=10;break}a[k>>0]=0;c:do if(au(h,104886)|0){if(!((b|0)==0|(au(h,96845)|0)!=0)){m=(bu(c)|0)+-1|0;if((m|0)<=0){n=g;f=24;break}a[c+m>>0]=0;o=m;while(1){m=c+o|0;switch(a[m>>0]|0){case 58:case 92:case 47:{n=g;f=24;break c;break}default:{}}a[m>>0]=0;if((o|0)>1)o=o+-1|0;else{n=g;f=24;break c}}}if(au(h,96848)|0){if((g|0)==0?(a[h>>0]|0)==0:0){n=0;f=24;break}lu(c,h)|0;if(l){f=22;break a}o=c+(bu(c)|0)|0;a[o>>0]=47;a[o+1>>0]=0;a[k>>0]=j;p=0}else{n=g;f=24}}else{n=g;f=24}while(0);if((f|0)==24){f=0;a[k>>0]=j;if(l){f=26;break}else p=n}b=i+1|0;g=p}if((f|0)==10){if(b|0){Ia=d;return}a[c>>0]=0;Ia=d;return}else if((f|0)==22){a[k>>0]=0;Ia=d;return}else if((f|0)==26){Ia=d;return}}function $o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ia=d;return h|0}if(nq(e,f,g,b)|0){h=0;Ia=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Ia=d;return h|0}j=Sn(b,i,32)|0;i=j+12|0;Vv(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}zq(c[e>>2]|0);h=j;Ia=d;return h|0}function ap(a){a=a|0;var b=0,d=0;b=Po(a,96074)|0;if(!b){d=0;return d|0}a=$o(b)|0;if(us(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Lu(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)zq(c[b+12>>2]|0);zq(b);if(c[554979]|0){d=a;return d|0}c[554979]=(Xr()|0)+1e3;d=a;return d|0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;h=Sn(c[d>>2]|0,c[g>>2]|0,32)|0;i=d+8|0;j=c[i>>2]|0;if((j|0)==32){Gp(d,h,0,0,0,0,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0}else k=j;if((k|0)==8)eo(d,h,c[742761]|0);k=h+12|0;j=c[d>>2]|0;i=c[g>>2]|0;l=B(i,j)|0;if(!l){m=j;n=i}else{i=l;l=c[k>>2]|0;while(1){j=a[l>>0]|0;o=l+2|0;a[l>>0]=a[o>>0]|0;a[o>>0]=j;i=i+-1|0;if(!i)break;else l=l+4|0}m=c[d>>2]|0;n=c[g>>2]|0}c[f>>2]=uq(b,c[k>>2]|0,m,n,6,8)|0;c[f+4>>2]=b;wt(1715360,96850,f)|0;Cn(1715360);Tn(h)|0;Ia=e;return 0}function cp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Ia;Ia=Ia+1024|0;d=b;Qo(a,0,d,0,1);if(!95922){e=1;Ia=b;return e|0}a=95922;f=4640;while(1){g=bu(a)|0;if((g|0)==(bu(d)|0)?Ts(a,d)|0:0){e=0;h=6;break}f=f+4|0;a=c[f>>2]|0;if(!a){e=1;h=6;break}}if((h|0)==6){Ia=b;return e|0}return 0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Ia;Ia=Ia+1040|0;i=h+1024|0;j=h;wq(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;wt(j,b,i)|0;i=bu(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;hv(j,1,i,c[a+8>>2]|0)|0;Ia=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Bq(a,(c[b>>2]|0)+i|0)|0;Vv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Ia=h;return 0}default:{Ia=h;return 0}}return 0}function ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Fu(a,96074)|0;if(!c){d=1;return d|0}a=Fu(b,104706)|0;if(!a){Lu(c)|0;d=2;return d|0}b=xq(65536)|0;if(!(Ru(c)|0))do{e=tv(b,1,65536,c)|0;hv(b,1,e,a)|0}while((e|0)!=0&(Ru(c)|0)==0);zq(b);Lu(c)|0;Lu(a)|0;d=0;return d|0}function fp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=xq(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Ia=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=yq(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=96909;wt(1715360,96886,h)|0;Cn(1715360)}if((c[i>>2]|0)>0){i=a+28|0;a=yq(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=96935;wt(1715360,96886,g)|0;Cn(1715360)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Ia=e;return}function gp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ia=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=yq(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=96966;wt(1715360,96886,g)|0;Cn(1715360)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Ia=e;return}function hp(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=0;l=h}else{j=i;k=c[i>>2]|0;l=a+52|0}c[j>>2]=yq(k,e<<2)|0;c[l>>2]=yq(c[l>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){k=a+56|0;Vv(c[j>>2]|0,a|0,b[k>>1]<<2|0)|0;Vv(c[l>>2]|0,a+16|0,b[k>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}k=c[a+48>>2]|0;l=c[a+52>>2]|0;a=g;do{c[k+(a<<2)>>2]=0;f[l+(a<<3)+4>>2]=0.0;f[l+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function ip(){var a=0,b=0,d=0;a=xq(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[554810]=(c[554810]|0)+1;return a|0}function jp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=e;e=0;while(1){h=c[f>>2]|0;if((b[h+(e*80|0)+58>>1]|0)>4){zq(c[h+(e*80|0)+48>>2]|0);zq(c[(c[f>>2]|0)+(e*80|0)+52>>2]|0);i=c[d>>2]|0}else i=g;e=e+1|0;if((e|0)>=(i|0))break;else g=i}}i=c[a>>2]|0;if(i|0)zq(i);i=c[a+32>>2]|0;if(i|0)zq(i);i=c[a+12>>2]|0;if(i|0)zq(i);i=c[a+28>>2]|0;if(i|0)zq(i);i=c[a+48>>2]|0;if(i|0)zq(i);i=c[a+36>>2]|0;if(i|0)zq(i);i=c[a+40>>2]|0;if(i|0)zq(i);zq(a);c[554810]=(c[554810]|0)+-1;return}function kp(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ia=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=i;i=0;while(1){p=c[j>>2]|0;if((b[p+(i*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[p+(i*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=p+(i*80|0)+60|0;qp(e,g,u);pp(u);x=c[h>>2]|0}else{f[p+(i*80|0)+60>>2]=0.0;f[p+(i*80|0)+64>>2]=1.0;f[p+(i*80|0)+68>>2]=0.0;x=o}i=i+1|0;if((i|0)>=(x|0))break;else o=x}Ia=d;return}function lp(){var a=0,b=0,d=0,e=0,f=0;a=xq(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[554810]=(c[554810]|0)+1;b=a;return b|0}function mp(a){a=a|0;if(!a)return;zq(a);c[554810]=(c[554810]|0)+-1;return}function np(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){zq(g);c[f>>2]=0;h=a+40|0;zq(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=yq(g,e<<2)|0;e=a+40|0;g=yq(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=k;o=0;while(1){if((c[m>>2]|0)==(c[(c[l+(o*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=o;p=c[d>>2]|0}else p=n;o=o+1|0;if((o|0)>=(p|0)){q=p;break}else n=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=r;r=0;while(1){if((e|0)<=0){s=24;break}b=e;q=0;a=0;p=r;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=b;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=b;u=q;v=p;break}h=g+(p<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=c[d>>2]|0;u=1;v=p+1|0}while(0);a=a+1|0;if((a|0)>=(t|0))break;else{b=t;q=u;p=v}}if(!u){s=24;break}else{e=t;r=v}}if((s|0)==24)return}function op(a){a=a|0;kp(a);np(a);Ep(a,0);return}function pp(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function qp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function sp(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8735]=b;c[8734]=b^-1095947846;return}function tp(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8734]|0;e=c[8735]|0;f=(d<<16|d>>>16)+e|0;c[8734]=f;c[8735]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function up(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4752+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4752+(a<<2)>>2]|0;return d|0}return 0}function vp(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4752+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4752+(a<<2)>>2]|0;return d|0}return 0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=(b|0)==-2147483648?2147483647:0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=Rv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Lv(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=Lv(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[21152+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function xp(){var a=0;a=xq(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[554810]=(c[554810]|0)+1;return a|0}function yp(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{zp(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}zq(c[a+4>>2]|0);c[554810]=(c[554810]|0)+-1;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{zq(c[e+12>>2]|0);zq(c[e+16>>2]|0);zq(c[e+20>>2]|0);zq(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=e;g=i;i=0;while(1){f=c[h+(i<<2)>>2]|0;if(!f)j=g;else{zq(c[f+12>>2]|0);zq(c[f+16>>2]|0);zq(c[f+20>>2]|0);zq(f);j=c[d>>2]|0}i=i+1|0;f=c[j+(b*112|0)+92>>2]|0;if((i|0)>=(c[j+(b*112|0)+104>>2]|0)){k=f;break}else{h=f;g=j}}}else k=e;zq(k);return}function Ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=yq(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;wt(h+(g*112|0)|0,96990,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=xq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Ia=d;return (c[b>>2]|0)+-1|0}function Bp(a){a=a|0;var b=0;b=xq(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function Cp(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=yq(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=yq(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=yq(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=yq(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=j;m=b;b=0;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=l+(b*48|0)|0;f[l+(b*48|0)+4>>2]=q;f[u>>2]=t*n;f[l+(b*48|0)+8>>2]=o*n;v=l+(b*48|0)+12|0;r=n*0.0-q*s;f[l+(b*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[l+(b*48|0)+20>>2]=t*p+r*o;qp(u,v,l+(b*48|0)+24|0);v=m+12|0;l=c[g>>2]|0;u=l+(b*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=l+(b*48|0)+12|0;v=c[u>>2]|0;y=l+(b*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=l+(b*48|0)+24|0;y=c[v>>2]|0;u=l+(b*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=l+(b*48|0)+28|0;u=c[y>>2]|0;v=l+(b*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(b<<2)>>2]|0)==-1){f[l+(b*48|0)+36>>2]=0.0;f[l+(b*48|0)+40>>2]=0.0;f[l+(b*48|0)+44>>2]=0.0}b=b+1|0;z=c[d>>2]|0;if((b|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){b=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[b+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[l+(k*48|0)+36>>2]=+f[l+(g*48|0)+36>>2]+ +f[l+(g*48|0)>>2];f[l+(k*48|0)+40>>2]=+f[l+(g*48|0)+40>>2]+ +f[l+(g*48|0)+12>>2];f[l+(k*48|0)+44>>2]=+f[l+(g*48|0)+44>>2]+ +f[l+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=l;C=m}else{A=z;B=l;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function Ep(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Ia;Ia=Ia+16|0;g=d;if(!a){Ia=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){zq(j);c[i>>2]=0;Ia=d;return}k=a+4|0;c[i>>2]=yq(j,c[k>>2]<<5)|0;j=a+44|0;l=xq(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(q*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((r|3)<<2)>>2]=+v(+(x*x+A*A+B*B));pp(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(r<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((r|1)<<2)|0;f[s>>2]=x;f[l+((r|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(q<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(q*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=q}q=q+1|0;if((q|0)>=(c[h>>2]|0))break;else r=r+4|0}}if(b|0){Vv(b|0,l|0,c[j>>2]|0)|0;zq(l);Ia=d;return}Dp(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{r=c[i>>2]|0;rp((c[j>>2]|0)+((e[r+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,r+(b<<5)+8|0);r=c[i>>2]|0;rp((c[j>>2]|0)+((e[r+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,r+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}zq(l);Ia=d;return}function Fp(){var a=0,b=0,d=0;a=c[555273]|0;b=c[555275]|0;if(!(c[555285]|c[555272]))if((b|0)==-1)d=(c[742748]|0)<720&1;else d=b;else d=1;b=(a|0)<8?a:8;return ((d|0)==0?((b|0)<1?1:(b|0)>0?b:0):1)|0}function Gp(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Ia;Ia=Ia+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Ia=k;return}j=b+8|0;i=a+8|0;if(2970992==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ia=k;return}Vn(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ia=k;return}g=c[j>>2]|0;j=g>>3;if(2970992==(b|0)){f=c[555273]|0;e=c[555275]|0;if(!(c[555285]|c[555272]))if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;else r=1;e=(f|0)<8?f:8;f=(e|0)<1?1:(e|0)>0?e:0;if(!((f|0)>1&(r|0)==0)){Wr(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ia=k;return}r=c[557118]|0;if(((r|0)!=0?(e=c[r>>2]|0,(e|0)==(B(c[a>>2]|0,f)|0)):0)?(s=c[r+4>>2]|0,(s|0)==(B(c[a+4>>2]|0,f)|0)):0){t=r;u=e;v=s}else{w=a;x=13}if((x|0)==13){Tn(r)|0;r=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=Sn(r,w,c[i>>2]|0)|0;c[557118]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}_n(a,t,0,0,u,v,0);v=c[557118]|0;Wr(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ia=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ia=k;return}i=b+16|0;u=a+16|0;t=h;f=0;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+f<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;Vv(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+f<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(t,j)|0)|0;w=f+1|0;if((w|0)>=(c[q>>2]|0))break;t=c[p>>2]|0;f=w}Ia=k;return}if(!((g|0)==32&(v|0)==8)){Ia=k;return}v=c[742761]|0;g=c[q>>2]|0;if((g|0)<=0){Ia=k;return}f=a+16|0;a=b+16|0;b=h;h=g;g=0;while(1){if((b|0)>0){t=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[t+((c[m>>2]|0)+g<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+g<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=b}g=g+1|0;if((g|0)>=(z|0))break;else{b=A;h=z}}Ia=k;return}function Hp(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;m=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;n=i;while(1){o=a[m>>0]|0;if(o<<24>>24)a[l>>0]=o;n=n+-1|0;if(!n)break;else{l=l+1|0;m=m+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function Ip(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;l=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;m=0;while(1){n=c[l>>2]|0;o=$n(c[k>>2]|0,n,n>>>24)|0;c[k>>2]=c[k>>2]&-16777216|o;m=m+1|0;if((m|0)==(h|0))break;else{k=k+4|0;l=l+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(au(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=yq(h,(d<<2)+4|0)|0;d=xq((bu(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Rs(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=yq(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function Kp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=d;f=0;while(1){zq(c[e+(f<<2)>>2]|0);f=f+1|0;g=c[b>>2]|0;if((f|0)>=(c[a>>2]|0)){h=g;break}else e=g}}else h=d;zq(h);zq(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;zq(i);j=c[554810]|0;k=j+-1|0;c[554810]=k;return}e=a;a=0;while(1){zq(c[e+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0;if((a|0)>=(c[h>>2]|0)){i=f;break}else e=f}zq(i);j=c[554810]|0;k=j+-1|0;c[554810]=k;return}function Lp(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=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(au(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);do if((h|0)!=(e|0)?(b=c[a+16>>2]|0,g=(c[b+(h<<2)>>2]|0)+d|0,(g|0)<(c[a+4>>2]|0)):0){if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=34944;break}j=(c[a+12>>2]|0)+(g<<2)|0}else j=34944;while(0);return c[j>>2]|0}function Mp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+2048|0;e=d+1024|0;f=d;g=Po(b,104528)|0;if(!g){h=0;Ia=d;return h|0}b=xq(24)|0;wq(b,0,24);a:do if(!(No(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;So(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=k;m=e;while(1){n=l<<24>>24;switch(l<<24>>24){case 47:case 0:{break b;break}default:{}}if(l<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=m+1|0;l=a[n>>0]|0;m=n}if(l<<24>>24){a[f>>0]=0;n=l;o=m;p=0;while(1){a[f+p>>0]=n;p=p+1|0;a[f+p>>0]=0;q=o+1|0;n=a[q>>0]|0;r=n<<24>>24;if(!(n<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){Jp(b,f);n=a[q>>0]|0;if(n<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;p=n;n=q;c:while(1){switch(p<<24>>24){case 58:case 32:break;default:break c}m=n+1|0;p=a[m>>0]|0;n=m}o=p<<24>>24==0;if(!s){if(o)break b;c[i>>2]=yq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;m=xq((bu(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=m;Rs(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}m=t;r=l;u=0;d:while(1){switch(m<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+u>>0]=m;v=u+1|0;a[f+v>>0]=0;w=r+1|0;m=a[w>>0]|0;r=w;u=v}if(!(a[f>>0]|0))x=m;else{c[i>>2]=yq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;u=xq((bu(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=u;Rs(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(No(g)|0)break a}}while(0);Ro(g);c[554810]=(c[554810]|0)+1;h=b;Ia=d;return h|0}function Np(a){a=a|0;var b=0;b=vq(11032)|0;c[b>>2]=a<<2;c[554810]=(c[554810]|0)+1;return b|0}function Op(a){a=a|0;if(!a)return;Pp(a);zq(a);c[554810]=(c[554810]|0)+-1;return}function Pp(a){a=a|0;var b=0;b=a+11016|0;Yq(c[b>>2]|0);Xq(c[b>>2]|0);c[b>>2]=0;b=a+344|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+688|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;zq(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;zq(c[b>>2]|0);c[b>>2]=0;return}function Qp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Ia;Ia=Ia+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=T+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(T>>>3)>>0]|0;Z=T&7;_=T+1|0;$=T+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+U|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=yq(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=U}else{da=0;ha=ca;ca=U;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Rp(i);Sp(j);ka=$;la=0;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0<g>>>0){_=T+4|0;ea=T+5|0;V=T+6|0;da=T+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=T+8|0;V=ma+257|0;ea=T+9|0;_=T+10|0;na=T+11|0;oa=T+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=T+13|0;na=T+14|0;_=T+15|0;da=T+16|0;ea=T+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=yq(0,152)|0;do if(!da){ra=0;sa=ea;ta=9911}else{_=ea;oa=0;while(1){if(oa>>>0<qa>>>0){na=_+1|0;ua=_+2|0;va=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4;wa=_+3|0}else{va=0;wa=_}c[da+(c[29360+(oa<<2)>>2]<<2)>>2]=va;oa=oa+1|0;if((oa|0)==19)break;else _=wa}if((c[N>>2]|0)>>>0<76){_=yq(c[M>>2]|0,152)|0;if(!_){ra=da;sa=wa;ta=9903;break}c[N>>2]=152;c[M>>2]=_;c[O>>2]=19;xa=_}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;_=Tp(k)|0;zq(da);if(_|0){ya=wa;za=_;break b}_=yq(0,2304)|0;if(!_){Aa=0;Ba=0;Ca=0}else{Wv(_|0,0,1152)|0;Aa=_;Ba=_;Ca=288}_=yq(0,256)|0;c:do if(_){ca=_;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Ba){oa=ma+258+pa|0;do if(oa){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=wa;Fa=0;Ga=0;d:while(1){if(Ea>>>0>l>>>0){Ha=Ea;X=59;break}Ja=Ea;Ka=0;while(1){La=c[ua+(((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)&1|Ka<<1)<<2)>>2]|0;Ma=Ja+1|0;if(La>>>0<na>>>0)break;Ka=La-na|0;if(Ja>>>0>=l>>>0|Ka>>>0>=na>>>0){Ha=Ma;X=59;break d}else Ja=Ma}e:do if(La>>>0<16){c[(Ga>>>0<V>>>0?Ba+(Ga<<2)|0:_+(Ga-V<<2)|0)>>2]=La;Na=Ma;Oa=Fa;Pa=Ga+1|0}else switch(La|0){case 16:{Ka=Ma>>>3;if(Ka>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Ta=Ja+2|0;Ua=Ja+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ka>>0]|0)>>>(Ma&7)&1)+3|0;Ka=Ga+-1|0;Ta=c[(Ka>>>0<V>>>0?Ba+(Ka<<2)|0:_+(Da+Ga<<2)|0)>>2]|0;Ka=Ga;Wa=0;while(1){if(Ka>>>0>=oa>>>0){Na=Ua;Oa=13;Pa=Ka;break e}c[(Ka>>>0<V>>>0?Ba+(Ka<<2)|0:_+(Ka-V<<2)|0)>>2]=Ta;Xa=Ka+1|0;Wa=Wa+1|0;if(Wa>>>0>=Va>>>0){Na=Ua;Oa=Fa;Pa=Xa;break}else Ka=Xa}break}case 17:{Ka=Ma>>>3;if(Ka>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Ua=Ja+2|0;Va=Ja+3|0;Wa=Ja+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Ka>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=Ga;Ka=0;while(1){if(Va>>>0>=oa>>>0){Na=Wa;Oa=14;Pa=Va;break e}c[(Va>>>0<V>>>0?Ba+(Va<<2)|0:_+(Va-V<<2)|0)>>2]=0;Ua=Va+1|0;Ka=Ka+1|0;if(Ka>>>0>=Ta>>>0){Na=Wa;Oa=Fa;Pa=Ua;break}else Va=Ua}break}case 18:{Va=Ma>>>3;if(Va>>>0>=f>>>0){Qa=_;Ra=Ma;Sa=50;break c}Wa=Ja+2|0;Ta=Ja+3|0;Ka=Ja+4|0;Ua=Ja+5|0;Xa=Ja+6|0;Ya=Ja+7|0;Za=Ja+8|0;_a=((d[m+(Wa>>>3)>>0]|0)>>>(Wa&7)<<1&2|(d[m+Va>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Za;Oa=Fa;Pa=Ga;break e}Ya=Ga;Xa=0;while(1){if(Ya>>>0>=oa>>>0){Na=Za;Oa=15;Pa=Ya;break e}c[(Ya>>>0<V>>>0?Ba+(Ya<<2)|0:_+(Ya-V<<2)|0)>>2]=0;Ua=Ya+1|0;Xa=Xa+1|0;if(Xa>>>0>=_a>>>0){Na=Za;Oa=Fa;Pa=Ua;break}else Ya=Ua}break}default:{Qa=_;Ra=Ma;Sa=16;break c}}while(0);if(Pa>>>0<oa>>>0){Ea=Na;Fa=Oa;Ga=Pa}else{X=61;break}}if((X|0)==59){X=0;Qa=_;Ra=Ha;Sa=Ha>>>0>l>>>0?10:11;break c}else if((X|0)==61){X=0;if(!Oa){$a=Na;break}else{Qa=_;Ra=Na;Sa=Oa;break c}}}else $a=wa;while(0);if(c[Ba+1024>>2]|0){if(Ca<<2>>>0>(c[t>>2]|0)>>>0){oa=Ca<<3;Ga=yq(c[s>>2]|0,oa)|0;if(!Ga){Qa=_;Ra=$a;Sa=9903;break}c[t>>2]=oa;c[s>>2]=Ga}c[u>>2]=Ca;if(Ca|0){Ga=c[s>>2]|0;oa=0;do{c[Ga+(oa<<2)>>2]=c[Ba+(oa<<2)>>2];oa=oa+1|0}while((oa|0)!=(Ca|0))}c[D>>2]=Ca;c[R>>2]=15;oa=Tp(i)|0;if(!oa){if((c[B>>2]|0)>>>0<128){Ga=yq(c[A>>2]|0,256)|0;if(!Ga){Qa=_;Ra=$a;Sa=9903;break}c[B>>2]=256;c[A>>2]=Ga;c[C>>2]=32;ab=Ga}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[_>>2];c[ab+4>>2]=c[_+4>>2];c[ab+8>>2]=c[_+8>>2];c[ab+12>>2]=c[_+12>>2];c[ab+16>>2]=c[_+16>>2];c[ab+20>>2]=c[_+20>>2];c[ab+24>>2]=c[_+24>>2];c[ab+28>>2]=c[_+28>>2];c[ab+32>>2]=c[_+32>>2];c[ab+36>>2]=c[_+36>>2];c[ab+40>>2]=c[_+40>>2];c[ab+44>>2]=c[_+44>>2];c[ab+48>>2]=c[_+48>>2];c[ab+52>>2]=c[_+52>>2];c[ab+56>>2]=c[_+56>>2];c[ab+60>>2]=c[_+60>>2];c[ab+64>>2]=c[_+64>>2];c[ab+68>>2]=c[_+68>>2];c[ab+72>>2]=c[_+72>>2];c[ab+76>>2]=c[_+76>>2];c[ab+80>>2]=c[_+80>>2];c[ab+84>>2]=c[_+84>>2];c[ab+88>>2]=c[_+88>>2];c[ab+92>>2]=c[_+92>>2];c[ab+96>>2]=c[_+96>>2];c[ab+100>>2]=c[_+100>>2];c[ab+104>>2]=c[_+104>>2];c[ab+108>>2]=c[_+108>>2];c[ab+112>>2]=c[_+112>>2];c[ab+116>>2]=c[_+116>>2];c[ab+120>>2]=c[_+120>>2];c[ab+124>>2]=c[_+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=_;Ra=$a;Sa=Tp(j)|0}else{Qa=_;Ra=$a;Sa=oa}}else{Qa=_;Ra=$a;Sa=64}}else{Qa=_;Ra=wa;Sa=9912}}else{Qa=0;Ra=wa;Sa=9912}while(0);zq(Aa);zq(Qa);ya=Ra;za=Sa;break b}while(0);zq(ra);ya=sa;za=ta}else{ya=$;za=49}while(0);c[H>>2]=0;c[I>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;zq(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;zq(c[M>>2]|0);ka=ya;la=za;break}default:{ka=$;la=0}}f:do if(ka>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=ka;pa=U;g:while(1){da=ma;qa=0;while(1){bb=c[ca+(((d[m+(da>>>3)>>0]|0)>>>(da&7)&1|qa<<1)<<2)>>2]|0;cb=da+1|0;if(bb>>>0<ha>>>0)break;qa=bb-ha|0;if(cb>>>0>l>>>0|qa>>>0>=ha>>>0){db=cb;eb=pa;X=115;break f}else da=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}da=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}qa=c[29440+(da<<2)>>2]|0;ea=c[29568+(da<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=cb;ib=0}else{da=cb;_=0;oa=0;while(1){oa=(((d[m+(da>>>3)>>0]|0)>>>(da&7)&1)<<_)+oa|0;_=_+1|0;if((_|0)==(qa|0))break;else da=da+1|0}hb=cb+qa|0;ib=oa}da=ib+ea|0;if(hb>>>0>l>>>0){jb=hb;X=100;break}_=hb;Ga=0;while(1){kb=c[aa+(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1|Ga<<1)<<2)>>2]|0;lb=_+1|0;if(kb>>>0<V>>>0)break;Ga=kb-V|0;if(_>>>0>=l>>>0|Ga>>>0>=V>>>0){jb=lb;X=100;break g}else _=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}_=c[29696+(kb<<2)>>2]|0;Ga=c[29824+(kb<<2)>>2]|0;if(kb>>>0<4){mb=lb;nb=0}else{oa=lb;qa=0;Fa=0;while(1){Fa=(((d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1)<<qa)+Fa|0;qa=qa+1|0;if((qa|0)==(_|0))break;else oa=oa+1|0}mb=lb+_|0;nb=Fa}oa=pa-Ga-nb|0;qa=da+pa|0;if(qa>>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0<Ea>>>0){Da=qa<<2;qa=yq(c[b>>2]|0,Da)|0;if(!qa){fb=mb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!da){ob=mb;pb=pa}else{Ea=pa+ib|0;qa=oa;Da=0;na=pa;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(da|0))break;else{qa=ua>>>0<pa>>>0?ua:oa;na=na+1|0}}ob=mb;pb=Ea+ea|0}}else{if(pa>>>0>=(c[E>>2]|0)>>>0){na=(pa<<1)+2|0;if((c[F>>2]|0)>>>0<na>>>0){oa=na<<1;qa=yq(c[b>>2]|0,oa)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=oa;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+pa>>0]=bb;ob=cb;pb=pa+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=ob;pa=pb}}if((X|0)==100){X=0;qb=ca;rb=jb;sb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;tb=pa;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=ca;rb=cb;sb=la;tb=pa;break}else{db=cb;eb=pa;X=115;break}}else if((X|0)==118){X=0;qb=ca;rb=fb;sb=gb;tb=pa;break}}else{db=ka;eb=U;X=115}while(0);if((X|0)==115){X=0;qb=c[i>>2]|0;rb=db;sb=db>>>0>l>>>0?10:11;tb=eb}c[n>>2]=0;c[o>>2]=0;zq(qb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;zq(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;zq(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;zq(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;zq(c[A>>2]|0);if(!sb){ia=rb;ja=tb}else{W=sb;X=125;break a}}}if(!(1<<Z&Y)){T=ia;U=ja}else{X=121;break}}if((X|0)==121){if((c[F>>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Ia=h;return W|0}U=ja<<1;ia=yq(c[b>>2]|0,U)|0;if(!ia){W=9916;Ia=h;return W|0}c[F>>2]=U;c[b>>2]=ia;c[E>>2]=ja;W=0;Ia=h;return W|0}else if((X|0)==125){Ia=h;return W|0}return 0}function Rp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=yq(0,2304)|0;if(!b){d=0;zq(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=yq(c[e>>2]|0,2304)|0;if(!g){d=b;zq(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;Tp(a)|0;d=b;zq(d);return}function Sp(a){a=a|0;var b=0,d=0;b=yq(0,256)|0;if(!b){d=0;zq(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;Up(a,b,32,15)|0;d=b;zq(d);return}function Tp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=yq(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=yq(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Wv(k|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=yq(0,f<<3)|0;if(!m){i=k;break}n=m;o=m}if(f|0)Wv(n|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=l+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0<m>>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=c[o>>2]|0;g=1;do{f=(c[l+(g+-1<<2)>>2]|0)+f<<1;c[o+(g<<2)>>2]=f;g=g+1|0}while(g>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;g=q;f=0;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=o+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}zq(k);zq(n);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=yq(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0<h<<1>>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=v;s=0;m=0;w=0;a:while(1){x=f+(s<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=m;B=w}else{if(w>>>0>(h+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(s<<2)|0;D=c[a>>2]|0;E=y;F=h;G=0;H=m;I=w;while(1){J=D+(((c[C>>2]|0)>>>(E+~G|0)&1|I<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=G+1|0;if((L|0)==(E|0)){c[J>>2]=s;M=E;N=H;O=0;break}else{P=H+1|0;c[J>>2]=P+F;M=L;N=P;O=P;break}}else{M=G+1|0;N=H;O=K-F|0}while(0);E=c[x>>2]|0;F=c[d>>2]|0;if(E>>>0<=M>>>0){z=F;A=N;B=O;break b}if(O>>>0>(F+-2|0)>>>0){t=55;j=52;break a}else{G=M;H=N;I=O}}}while(0);s=s+1|0;if(s>>>0>=z>>>0){j=46;break}else{h=z;m=A;w=B}}if((j|0)==46){if(!(z&2147483647)){t=0;return t|0}w=c[a>>2]|0;m=z;h=0;while(1){s=w+(h<<2)|0;if((c[s>>2]|0)==32767){c[s>>2]=0;Q=c[d>>2]|0}else Q=m;h=h+1|0;if(h>>>0>=Q<<1>>>0){t=0;break}else m=Q}return t|0}else if((j|0)==52)return t|0}while(0);zq(i);zq(0);t=9902;return t|0}function Up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=yq(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=Tp(a)|0;return j|0} 148 + function Vp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Ia;Ia=Ia+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(r|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0<v>>>0){w=v<<1;x=yq(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-q|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0<w>>>0){A=w<<1;B=yq(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){w=x<<1;B=yq(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){B=x<<1;w=yq(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0<u>>>0){x=u<<1;w=yq(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(q>>>0<f>>>0){v=q;t=0;while(1){u=v+1|0;w=a[e+v>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0<B>>>0){A=B<<1;G=yq(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}t=t+1|0;if(!(t>>>0<65535&u>>>0<f>>>0)){I=u;break}else v=u}}else I=q;if(s){J=0;break}else{q=I;r=r+1|0}}Ia=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Rp(i);Sp(j);r=b+4|0;I=c[r>>2]|0;q=I+1|0;H=b+8|0;if((c[H>>2]|0)>>>0<q>>>0){o=q<<1;p=yq(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[r>>2]=q;a[O+I>>0]=0;M=N}N=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{I=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[I+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){v=c[r>>2]|0;t=v+1|0;if((c[H>>2]|0)>>>0<t>>>0){u=t<<1;w=yq(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[r>>2]=t;a[Q+v>>0]=0}while(0);v=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[v>>0]=y<<n|(d[v>>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=Wp(l,e,f,c[g+8>>2]|0)|0;if(!O){Xp(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;zq(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;zq(c[l>>2]|0);R=c[i+12>>2]|0;S=c[i+24>>2]|0;T=O;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=P;S=N;T=0}else{q=O+-1|0;p=c[k>>2]|0;I=0;s=p;while(1){C=Q>>>(q-I|0)&1;D=s&7;do if(!D){o=c[r>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0<F>>>0){v=F<<1;t=yq(c[M>>2]|0,v)|0;if(!t)break;c[H>>2]=v;c[M>>2]=t;U=t}else U=c[M>>2]|0;c[r>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[r>>2]|0)+-1)|0;a[o>>0]=C<<D|(d[o>>0]|0);I=I+1|0;if((I|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=P;S=N;T=0}}c[i+8>>2]=0;c[i+4>>2]=0;zq(c[i>>2]|0);zq(R);zq(S);c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;S=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;zq(c[S>>2]|0);c[S>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;zq(c[j+24>>2]|0);J=T;Ia=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;T=i+8|0;c[T>>2]=0;S=i+4|0;c[S>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{R=f<<3;N=yq(0,R)|0;if(!N){W=0;X=0;Y=0;Z=0;_=0;$=0;aa=9923;break}c[T>>2]=R;c[i>>2]=N;V=N}c[S>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=Wp(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=0;X=0;Y=0;Z=0;_=0;$=0;aa=N}}while(0);a:do if((z|0)==79){g=yq(0,2288)|0;if(g){Wv(g|0,0,1144)|0;f=yq(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[S>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0<e>>>0)}c[g+1024>>2]=1;e=Yp(j,g,286,15)|0;if(!e){N=Yp(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;R=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0<R>>>0){O=R<<1;p=yq(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=R;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<<ca|(d[V>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;R=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0<R>>>0){O=R<<1;P=yq(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=R;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;R=ea+1|0;c[m>>2]=R;P=R&7;do if(!P){R=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0<R>>>0){p=R<<1;s=yq(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=R;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<<ga|(d[P>>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;R=0;s=0;p=0;O=0;I=0;r=0;M=0;while(1){U=c[P+(O<<2)>>2]|0;H=r+1|0;if(H<<2>>>0>M>>>0){q=H<<3;Q=yq(R,q)|0;if(!Q){na=p;oa=s;pa=R;qa=I;ra=r;sa=M}else{ta=Q;ua=Q;va=Q;wa=Q;xa=q;z=110}}else{ta=p;ua=s;va=R;wa=I;xa=M;z=110}if((z|0)==110){z=0;c[wa+(r<<2)>>2]=U;na=ta;oa=ua;pa=va;qa=wa;ra=H;sa=xa}O=O+1|0;if(O>>>0>=C>>>0){ia=oa;ja=na;ka=qa;la=ra;ma=sa;break}else{R=pa;s=oa;p=na;I=qa;r=ra;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;r=ia;I=ja;p=0;s=ka;R=la;O=ma;while(1){P=c[M+(p<<2)>>2]|0;H=R+1|0;if(H<<2>>>0>O>>>0){U=H<<3;q=yq(r,U)|0;if(!q){Ba=I;Ca=r;Da=s;Ea=R;Fa=O}else{Ga=q;Ha=q;Ja=q;Ka=U;z=117}}else{Ga=I;Ha=r;Ja=s;Ka=O;z=117}if((z|0)==117){z=0;c[Ja+(R<<2)>>2]=P;Ba=Ga;Ca=Ha;Da=Ja;Ea=H;Fa=Ka}p=p+1|0;if(p>>>0>=V>>>0){ya=Ba;za=Da;Aa=Ea;break}else{r=Ca;I=Ba;s=Da;R=Ea;O=Fa}}}if(!Aa){La=0;Ma=0;Na=0}else{O=0;R=0;s=0;I=0;r=0;p=0;M=0;H=0;P=0;U=0;q=0;Q=0;o=0;F=0;t=0;while(1){v=Q+1|0;w=c[za+(Q<<2)>>2]|0;do if(v>>>0<Aa>>>0){u=Q+2|0;x=v;B=0;while(1){if((c[za+(x<<2)>>2]|0)!=(w|0)){Oa=B;break}G=B+1|0;x=u+B|0;if(x>>>0>=Aa>>>0){Oa=G;break}else B=G}if((w|0)==0&Oa>>>0>1){B=Oa+1|0;do if(B>>>0<11){x=F+1|0;u=x<<2;do if(u>>>0>t>>>0){n=x<<3;y=yq(O,n)|0;if(!y){Pa=r;Qa=q;Ra=I;Sa=U;Ta=P;Ua=H;Va=M;Wa=s;Xa=p;Ya=R;Za=O;_a=x;$a=o;ab=F;bb=t;cb=u;break}db=y;eb=y;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=n;z=130}else{db=q;eb=I;fb=U;gb=P;hb=H;ib=M;jb=s;kb=p;lb=R;mb=r;nb=O;ob=o;pb=t;z=130}while(0);if((z|0)==130){z=0;c[ob+(F<<2)>>2]=17;u=F+2|0;Pa=mb;Qa=db;Ra=eb;Sa=fb;Ta=gb;Ua=hb;Va=ib;Wa=jb;Xa=kb;Ya=lb;Za=nb;_a=u;$a=ob;ab=x;bb=pb;cb=u<<2}u=Oa+-2|0;if(cb>>>0>bb>>>0){n=_a<<3;y=yq(Pa,n)|0;if(!y){qb=Qa;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Pa;Ab=Za;Bb=B;Cb=$a;Db=ab;Eb=bb;break}Fb=y;Gb=y;Hb=y;Ib=y;Jb=y;Kb=y;Lb=y;Mb=y;Nb=y;Ob=y;Pb=y;Qb=y;Rb=n}else{Fb=Qa;Gb=Ra;Hb=Sa;Ib=Ta;Jb=Ua;Kb=Va;Lb=Wa;Mb=Xa;Nb=Ya;Ob=Pa;Pb=Za;Qb=$a;Rb=bb}c[Qb+(ab<<2)>>2]=u;qb=Fb;rb=Gb;sb=Hb;tb=Ib;ub=Jb;vb=Kb;wb=Lb;xb=Mb;yb=Nb;zb=Ob;Ab=Pb;Bb=B;Cb=Qb;Db=_a;Eb=Rb}else{u=B>>>0<138?B:138;n=F+1|0;y=n<<2;do if(y>>>0>t>>>0){G=n<<3;A=yq(R,G)|0;if(!A){Sb=p;Tb=q;Ub=I;Vb=U;Wb=P;Xb=H;Yb=M;Zb=s;_b=R;$b=r;ac=O;bc=n;cc=o;dc=F;ec=t;fc=y;break}gc=A;hc=A;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=G;z=138}else{gc=q;hc=I;ic=U;jc=P;kc=H;lc=M;mc=s;nc=p;oc=R;pc=r;qc=O;rc=o;sc=t;z=138}while(0);if((z|0)==138){z=0;c[rc+(F<<2)>>2]=18;y=F+2|0;Sb=nc;Tb=gc;Ub=hc;Vb=ic;Wb=jc;Xb=kc;Yb=lc;Zb=mc;_b=oc;$b=pc;ac=qc;bc=y;cc=rc;dc=n;ec=sc;fc=y<<2}y=u+-11|0;if(fc>>>0>ec>>>0){x=bc<<3;G=yq(Sb,x)|0;if(!G){qb=Tb;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=Sb;yb=_b;zb=$b;Ab=ac;Bb=u;Cb=cc;Db=dc;Eb=ec;break}tc=G;uc=G;vc=G;wc=G;xc=G;yc=G;zc=G;Ac=G;Bc=G;Cc=G;Dc=G;Ec=G;Fc=x}else{tc=Tb;uc=Ub;vc=Vb;wc=Wb;xc=Xb;yc=Yb;zc=Zb;Ac=Sb;Bc=_b;Cc=$b;Dc=ac;Ec=cc;Fc=ec}c[Ec+(dc<<2)>>2]=y;qb=tc;rb=uc;sb=vc;tb=wc;ub=xc;vb=yc;wb=zc;xb=Ac;yb=Bc;zb=Cc;Ab=Dc;Bb=u;Cb=Ec;Db=bc;Eb=Fc}while(0);Gc=qb;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Q+-1+Bb|0;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){B=(Oa>>>0)/6|0;y=Oa-(B*6|0)|0;x=F+1|0;do if(x<<2>>>0>t>>>0){G=x<<3;A=yq(s,G)|0;if(!A){Vc=q;Wc=I;Xc=U;Yc=P;Zc=H;_c=M;$c=s;ad=p;bd=R;cd=r;dd=O;ed=o;fd=F;gd=t;break}hd=A;id=A;jd=A;kd=A;ld=A;md=A;nd=A;od=A;pd=A;qd=A;rd=A;sd=A;td=G;z=148}else{hd=q;id=I;jd=U;kd=P;ld=H;md=M;nd=s;od=p;pd=R;qd=r;rd=O;sd=o;td=t;z=148}while(0);if((z|0)==148){z=0;c[sd+(F<<2)>>2]=w;Vc=hd;Wc=id;Xc=jd;Yc=kd;Zc=ld;_c=md;$c=nd;ad=od;bd=pd;cd=qd;dd=rd;ed=sd;fd=x;gd=td}if(Oa>>>0>5){G=_c;A=dd;ud=cd;vd=bd;wd=ad;xd=$c;yd=Zc;zd=Yc;Ad=Xc;Bd=Wc;Cd=Vc;Dd=0;Ed=ed;Fd=fd;Gd=gd;while(1){Hd=Fd+1|0;Id=Hd<<2;do if(Id>>>0>Gd>>>0){Jd=Hd<<3;Kd=yq(G,Jd)|0;if(!Kd){Ld=yd;Md=Cd;Nd=Bd;Od=Ad;Pd=zd;Qd=G;Rd=xd;Sd=wd;Td=vd;Ud=ud;Vd=A;Wd=Hd;Xd=Ed;Yd=Fd;Zd=Gd;_d=Id;break}$d=Kd;ae=Kd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Jd;z=154}else{$d=Cd;ae=Bd;be=Ad;ce=zd;de=yd;ee=G;fe=xd;ge=wd;he=vd;ie=ud;je=A;ke=Ed;le=Gd;z=154}while(0);if((z|0)==154){z=0;c[ke+(Fd<<2)>>2]=16;Id=Fd+2|0;Ld=de;Md=$d;Nd=ae;Od=be;Pd=ce;Qd=ee;Rd=fe;Sd=ge;Td=he;Ud=ie;Vd=je;Wd=Id;Xd=ke;Yd=Hd;Zd=le;_d=Id<<2}do if(_d>>>0>Zd>>>0){Id=Wd<<3;u=yq(Ld,Id)|0;if(!u){me=Md;ne=Nd;oe=Od;pe=Pd;qe=Ld;re=Qd;se=Rd;te=Sd;ue=Td;ve=Ud;we=Vd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=u;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=Id;z=158}else{Ae=Md;Be=Nd;Ce=Od;De=Pd;Ee=Ld;Fe=Qd;Ge=Rd;He=Sd;Ie=Td;Je=Ud;Ke=Vd;Le=Xd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Le+(Yd<<2)>>2]=3;me=Ae;ne=Be;oe=Ce;pe=De;qe=Ee;re=Fe;se=Ge;te=He;ue=Ie;ve=Je;we=Ke;xe=Le;ye=Wd;ze=Me}Dd=Dd+1|0;if(Dd>>>0>=B>>>0){Ne=we;Oe=ve;Pe=ue;Qe=te;Re=se;Se=re;Te=qe;Ue=pe;Ve=oe;We=ne;Xe=me;Ye=xe;Ze=ye;_e=ze;break}else{G=re;A=we;ud=ve;vd=ue;wd=te;xd=se;yd=qe;zd=pe;Ad=oe;Bd=ne;Cd=me;Ed=xe;Fd=ye;Gd=ze}}}else{Ne=dd;Oe=cd;Pe=bd;Qe=ad;Re=$c;Se=_c;Te=Zc;Ue=Yc;Ve=Xc;We=Wc;Xe=Vc;Ye=ed;Ze=fd;_e=gd}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Cd=yq(Ue,Ed)|0;if(!Cd){$e=Ve;af=Xe;bf=We;cf=Ue;df=Te;ef=Se;ff=Re;gf=Qe;hf=Pe;jf=Oe;kf=Ne;lf=Gd;mf=Ye;nf=Ze;of=_e;pf=Fd;break}qf=Cd;rf=Cd;sf=Cd;tf=Cd;uf=Cd;vf=Cd;wf=Cd;xf=Cd;yf=Cd;zf=Cd;Af=Cd;Bf=Cd;Cf=Ed;z=164}else{qf=Xe;rf=We;sf=Ve;tf=Ue;uf=Te;vf=Se;wf=Re;xf=Qe;yf=Pe;zf=Oe;Af=Ne;Bf=Ye;Cf=_e;z=164}while(0);if((z|0)==164){z=0;c[Bf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=sf;af=qf;bf=rf;cf=tf;df=uf;ef=vf;ff=wf;gf=xf;hf=yf;jf=zf;kf=Af;lf=Fd;mf=Bf;nf=Gd;of=Cf;pf=Fd<<2}Fd=y+-3|0;if(pf>>>0>of>>>0){Ed=lf<<3;Cd=yq($e,Ed)|0;if(!Cd){Df=af;Ef=bf;Ff=$e;Gf=cf;Hf=df;If=ef;Jf=ff;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=Oa;Pf=mf;Qf=nf;Rf=of;break}Sf=Cd;Tf=Cd;Uf=Cd;Vf=Cd;Wf=Cd;Xf=Cd;Yf=Cd;Zf=Cd;_f=Cd;$f=Cd;ag=Cd;bg=Cd;cg=Ed}else{Sf=af;Tf=bf;Uf=$e;Vf=cf;Wf=df;Xf=ef;Yf=ff;Zf=gf;_f=hf;$f=jf;ag=kf;bg=mf;cg=of}c[bg+(nf<<2)>>2]=Fd;Df=Sf;Ef=Tf;Ff=Uf;Gf=Vf;Hf=Wf;If=Xf;Jf=Yf;Kf=Zf;Lf=_f;Mf=$f;Nf=ag;Of=Oa;Pf=bg;Qf=lf;Rf=cg}else{Df=Xe;Ef=We;Ff=Ve;Gf=Ue;Hf=Te;If=Se;Jf=Re;Kf=Qe;Lf=Pe;Mf=Oe;Nf=Ne;Of=Oa-y|0;Pf=Ye;Qf=Ze;Rf=_e}while(0);Gc=Df;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of+Q|0;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;v=F+1|0;if(v<<2>>>0>t>>>0){E=v<<3;y=yq(I,E)|0;if(!y){Gc=q;Hc=I;Ic=U;Jc=P;Kc=H;Lc=M;Mc=s;Nc=p;Oc=R;Pc=r;Qc=O;Rc=Q;Sc=o;Tc=F;Uc=t;break}dg=y;eg=y;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=E}else{dg=q;eg=I;fg=U;gg=P;hg=H;ig=M;jg=s;kg=p;lg=R;mg=r;ng=O;og=o;pg=t}c[og+(F<<2)>>2]=w;Gc=dg;Hc=eg;Ic=fg;Jc=gg;Kc=hg;Lc=ig;Mc=jg;Nc=kg;Oc=lg;Pc=mg;Qc=ng;Rc=Q;Sc=og;Tc=v;Uc=pg}while(0);Q=Rc+1|0;if(Q>>>0>=Aa>>>0){La=Gc;Ma=Sc;Na=Tc;break}else{O=Qc;R=Oc;s=Mc;I=Hc;r=Pc;p=Nc;M=Lc;H=Kc;P=Jc;U=Ic;q=Gc;o=Sc;F=Tc;t=Uc}}}t=yq(0,152)|0;if(t){K=t;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=t+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0<Na>>>0)}o=Yp(l,t,19,7)|0;if(!o){q=yq(0,152)|0;if(!q){W=g;X=f;Y=t;Z=La;_=ya;$=0;aa=9927}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];P=c[U+60>>2]|0;c[q+72>>2]=P;if(!P){P=q;H=q;M=q;p=152;r=18;while(1){if(r<<2>>>0>p>>>0){I=r<<3;s=yq(P,I)|0;if(!s){W=g;X=f;Y=t;Z=La;_=ya;$=H;aa=9928;break a}qg=s;rg=s;sg=s;tg=I}else{qg=H;rg=P;sg=M;tg=p}I=r+-1|0;if(r>>>0>4?(c[sg+(I<<2)>>2]|0)==0:0){P=rg;H=qg;M=sg;p=tg;r=I}else{ug=qg;vg=sg;wg=r;break}}}else{ug=q;vg=q;wg=19}r=C+-257|0;p=V+-1|0;M=b+8|0;H=r&1;P=c[m>>2]&7;do if(!P){I=c[D>>2]|0;s=I+1|0;if((c[M>>2]|0)>>>0<s>>>0){R=s<<1;O=yq(c[b>>2]|0,R)|0;if(!O){xg=0;break}c[M>>2]=R;c[b>>2]=O;yg=O}else yg=c[b>>2]|0;c[D>>2]=s;a[yg+I>>0]=0;xg=c[m>>2]&7}else xg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<xg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=r>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){zg=0;break}c[M>>2]=I;c[b>>2]=s;Ag=s}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+P>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<zg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=r>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Bg=0;break}c[M>>2]=s;c[b>>2]=I;Cg=I}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Bg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=r>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Dg=0;break}c[M>>2]=I;c[b>>2]=s;Eg=s}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+P>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Dg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=r>>>4&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Fg=0;break}c[M>>2]=s;c[b>>2]=I;Gg=I}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Fg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;r=wg+-4|0;V=p&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Hg=0;break}c[M>>2]=I;c[b>>2]=s;Ig=s}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+P>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Hg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=p>>>1&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Jg=0;break}c[M>>2]=s;c[b>>2]=I;Kg=I}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Jg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=p>>>2&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Lg=0;break}c[M>>2]=I;c[b>>2]=s;Mg=s}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+P>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Lg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;H=p>>>3&1;P=C&7;do if(!P){C=c[D>>2]|0;q=C+1|0;if((c[M>>2]|0)>>>0<q>>>0){s=q<<1;I=yq(c[b>>2]|0,s)|0;if(!I){Ng=0;break}c[M>>2]=s;c[b>>2]=I;Og=I}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Ng|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=p>>>4&1;C=P&7;do if(!C){P=c[D>>2]|0;q=P+1|0;if((c[M>>2]|0)>>>0<q>>>0){I=q<<1;s=yq(c[b>>2]|0,I)|0;if(!s){Pg=0;break}c[M>>2]=I;c[b>>2]=s;Qg=s}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+P>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Pg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;p=r&1;H=C&7;do if(!H){C=c[D>>2]|0;P=C+1|0;if((c[M>>2]|0)>>>0<P>>>0){q=P<<1;s=yq(c[b>>2]|0,q)|0;if(!s){Rg=0;break}c[M>>2]=q;c[b>>2]=s;Sg=s}else Sg=c[b>>2]|0;c[D>>2]=P;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=H;while(0);H=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[H>>0]=p<<Rg|(d[H>>0]|0);H=(c[m>>2]|0)+1|0;c[m>>2]=H;V=r>>>1&1;C=H&7;do if(!C){H=c[D>>2]|0;P=H+1|0;if((c[M>>2]|0)>>>0<P>>>0){s=P<<1;q=yq(c[b>>2]|0,s)|0;if(!q){Tg=0;break}c[M>>2]=s;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=P;a[Ug+H>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Tg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;p=r>>>2&1;H=C&7;do if(!H){C=c[D>>2]|0;P=C+1|0;if((c[M>>2]|0)>>>0<P>>>0){q=P<<1;s=yq(c[b>>2]|0,q)|0;if(!s){Vg=0;break}c[M>>2]=q;c[b>>2]=s;Wg=s}else Wg=c[b>>2]|0;c[D>>2]=P;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=H;while(0);H=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[H>>0]=p<<Vg|(d[H>>0]|0);H=(c[m>>2]|0)+1|0;c[m>>2]=H;V=r>>>3&1;C=H&7;do if(!C){H=c[D>>2]|0;P=H+1|0;if((c[M>>2]|0)>>>0<P>>>0){s=P<<1;q=yq(c[b>>2]|0,s)|0;if(!q){Xg=0;break}c[M>>2]=s;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=P;a[Yg+H>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Xg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{r=C;C=0;while(1){p=c[vg+(C<<2)>>2]|0;H=p&1;P=r&7;do if(!P){q=c[D>>2]|0;s=q+1|0;if((c[M>>2]|0)>>>0<s>>>0){I=s<<1;O=yq(c[b>>2]|0,I)|0;if(!O){_g=0;break}c[M>>2]=I;c[b>>2]=O;$g=O}else $g=c[b>>2]|0;c[D>>2]=s;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<_g|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;q=p>>>1&1;s=P&7;do if(!s){P=c[D>>2]|0;O=P+1|0;if((c[M>>2]|0)>>>0<O>>>0){I=O<<1;R=yq(c[b>>2]|0,I)|0;if(!R){ah=0;break}c[M>>2]=I;c[b>>2]=R;bh=R}else bh=c[b>>2]|0;c[D>>2]=O;a[bh+P>>0]=0;ah=c[m>>2]&7}else ah=s;while(0);s=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[s>>0]=q<<ah|(d[s>>0]|0);s=(c[m>>2]|0)+1|0;c[m>>2]=s;H=p>>>2&1;P=s&7;do if(!P){s=c[D>>2]|0;O=s+1|0;if((c[M>>2]|0)>>>0<O>>>0){R=O<<1;I=yq(c[b>>2]|0,R)|0;if(!I){ch=0;break}c[M>>2]=R;c[b>>2]=I;dh=I}else dh=c[b>>2]|0;c[D>>2]=O;a[dh+s>>0]=0;ch=c[m>>2]&7}else ch=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<ch|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;C=C+1|0;if((C|0)==(wg|0)){Zg=P;break}else r=P}}b:do if(!F){r=c[l+12>>2]|0;C=Zg;V=0;while(1){P=Ma+(V<<2)|0;p=c[P>>2]|0;q=c[r+(p<<2)>>2]|0;s=c[U+(p<<2)>>2]|0;if(!s){eh=C;fh=p}else{p=s+-1|0;O=C;I=0;do{R=q>>>(p-I|0)&1;Q=O&7;do if(!Q){w=c[D>>2]|0;v=w+1|0;if((c[M>>2]|0)>>>0<v>>>0){E=v<<1;y=yq(c[b>>2]|0,E)|0;if(!y){gh=0;break}c[M>>2]=E;c[b>>2]=y;hh=y}else hh=c[b>>2]|0;c[D>>2]=v;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=R<<gh|(d[Q>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;I=I+1|0}while((I|0)!=(s|0));eh=O;fh=c[P>>2]|0}switch(fh|0){case 16:{s=V+1|0;I=c[Ma+(s<<2)>>2]|0;p=I&1;q=eh&7;do if(!q){Q=c[D>>2]|0;Gd=Q+1|0;if((c[M>>2]|0)>>>0<Gd>>>0){w=Gd<<1;v=yq(c[b>>2]|0,w)|0;if(!v){ih=0;break}c[M>>2]=w;c[b>>2]=v;jh=v}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+Q>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<ih|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;P=I>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;Q=q+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){kh=0;break}c[M>>2]=Gd;c[b>>2]=v;lh=v}else lh=c[b>>2]|0;c[D>>2]=Q;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=P<<kh|(d[O>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=O;nh=s;break}case 17:{O=V+1|0;I=c[Ma+(O<<2)>>2]|0;p=I&1;q=eh&7;do if(!q){Q=c[D>>2]|0;v=Q+1|0;if((c[M>>2]|0)>>>0<v>>>0){Gd=v<<1;w=yq(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[M>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=v;a[ph+Q>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<oh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;s=I>>>1&1;P=q&7;do if(!P){q=c[D>>2]|0;Q=q+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;w=yq(c[b>>2]|0,v)|0;if(!w){qh=0;break}c[M>>2]=v;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=Q;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<qh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;p=I>>>2&1;q=P&7;do if(!q){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){w=Q<<1;v=yq(c[b>>2]|0,w)|0;if(!v){sh=0;break}c[M>>2]=w;c[b>>2]=v;th=v}else th=c[b>>2]|0;c[D>>2]=Q;a[th+P>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=p<<sh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=q;nh=O;break}case 18:{q=V+1|0;I=c[Ma+(q<<2)>>2]|0;s=I&1;P=eh&7;do if(!P){Q=c[D>>2]|0;v=Q+1|0;if((c[M>>2]|0)>>>0<v>>>0){w=v<<1;Gd=yq(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[M>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=v;a[vh+Q>>0]=0;uh=c[m>>2]&7}else uh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<uh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>1&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){wh=0;break}c[M>>2]=v;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=Q;a[xh+P>>0]=0;wh=c[m>>2]&7}else wh=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<wh|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>2&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){yh=0;break}c[M>>2]=Gd;c[b>>2]=v;zh=v}else zh=c[b>>2]|0;c[D>>2]=Q;a[zh+p>>0]=0;yh=c[m>>2]&7}else yh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<yh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>3&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){Ah=0;break}c[M>>2]=v;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=Q;a[Bh+P>>0]=0;Ah=c[m>>2]&7}else Ah=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<Ah|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>4&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){Ch=0;break}c[M>>2]=Gd;c[b>>2]=v;Dh=v}else Dh=c[b>>2]|0;c[D>>2]=Q;a[Dh+p>>0]=0;Ch=c[m>>2]&7}else Ch=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<Ch|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;O=I>>>5&1;p=P&7;do if(!p){P=c[D>>2]|0;Q=P+1|0;if((c[M>>2]|0)>>>0<Q>>>0){v=Q<<1;Gd=yq(c[b>>2]|0,v)|0;if(!Gd){Eh=0;break}c[M>>2]=v;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=Q;a[Fh+P>>0]=0;Eh=c[m>>2]&7}else Eh=p;while(0);p=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[p>>0]=O<<Eh|(d[p>>0]|0);p=(c[m>>2]|0)+1|0;c[m>>2]=p;s=I>>>6&1;P=p&7;do if(!P){p=c[D>>2]|0;Q=p+1|0;if((c[M>>2]|0)>>>0<Q>>>0){Gd=Q<<1;v=yq(c[b>>2]|0,Gd)|0;if(!v){Gh=0;break}c[M>>2]=Gd;c[b>>2]=v;Hh=v}else Hh=c[b>>2]|0;c[D>>2]=Q;a[Hh+p>>0]=0;Gh=c[m>>2]&7}else Gh=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=s<<Gh|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;mh=P;nh=q;break}default:{mh=eh;nh=V}}V=nh+1|0;if(V>>>0>=Na>>>0)break b;else C=mh}}while(0);Xp(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=g;X=f;Y=t;Z=La;_=ya;$=ug;aa=64;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;C=U+-1|0;V=c[m>>2]|0;r=0;do{H=F>>>(C-r|0)&1;P=V&7;do if(!P){I=c[D>>2]|0;O=I+1|0;if((c[M>>2]|0)>>>0<O>>>0){p=O<<1;Q=yq(c[b>>2]|0,p)|0;if(!Q){Ih=0;break}c[M>>2]=p;c[b>>2]=Q;Jh=Q}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+I>>0]=0;Ih=c[m>>2]&7}else Ih=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=H<<Ih|(d[P>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;r=r+1|0}while((r|0)!=(U|0));W=g;X=f;Y=t;Z=La;_=ya;$=ug;aa=0}}else{W=g;X=f;Y=t;Z=La;_=ya;$=0;aa=o}}else{W=g;X=f;Y=0;Z=La;_=ya;$=0;aa=9926}}else{W=g;X=f;Y=0;Z=0;_=0;$=0;aa=N}}else{W=g;X=f;Y=0;Z=0;_=0;$=0;aa=e}}else{W=g;X=0;Y=0;Z=0;_=0;$=0;aa=9925}}else{W=0;X=0;Y=0;Z=0;_=0;$=0;aa=9924}}while(0);c[T>>2]=0;c[S>>2]=0;zq(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;zq(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;zq(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;zq(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;zq(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;zq(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;zq(c[l+24>>2]|0);zq(W);zq(X);zq(Y);zq(Z);zq(_);zq($);J=aa;Ia=h;return J|0}default:{J=61;Ia=h;return J|0}}return 0}function Wp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=yq(0,1572864)|0;if(!h){i=9917;return i|0}Wv(h|0,0,786432)|0;j=yq(0,524288)|0;if(!j){k=9918;l=0;m=0}else{Wv(j|0,0,262144)|0;k=0;l=j;m=j}j=yq(0,524288)|0;a:do if(j){Wv(j|0,0,262144)|0;if(!k)if(!f){n=j;o=0;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=z>>>0<g>>>0?z:g;B=f-z|0;C=(z+6|0)>>>0<f>>>0?6:B;if(!C)D=0;else{E=0;F=0;do{F=d[e+(E+z)>>0]<<(E<<1)^F;E=E+1|0}while(E>>>0<C>>>0);D=F&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{E=0;while(1){if(a[e+(E+z)>>0]|0){G=E;break b}E=E+1|0;if(E>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;F=C+4|0;E=c[F>>2]|0;H=E+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=yq(c[C>>2]|0,J)|0;if(!K){n=j;o=u;p=9920;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[F>>2]=H;c[L+(E<<2)>>2]=z;E=(D|0)==0;if(E){H=x+1|0;if(H<<2>>>0>y>>>0){F=H<<3;K=yq(s,F)|0;if(!K){n=j;o=u;p=9920;break a}M=c[C>>2]|0;N=K;O=K;P=K;Q=C;R=K;S=F}else{M=L;N=u;O=t;P=s;Q=C;R=w;S=y}c[R+(x<<2)>>2]=G;T=N;U=O;V=P;W=M;X=Q;Y=R;Z=H;_=S}else{T=u;U=t;V=s;W=L;X=C;Y=w;Z=x;_=y}C=m+(D<<2)|0;H=c[C>>2]|0;F=z-A|0;if((c[W+(H<<2)>>2]|0)>>>0<F>>>0){K=c[X>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[K+(I<<2)>>2]|0)>>>0<F>>>0)J=I;else{$=K;aa=I;break}}}else{$=W;aa=H}K=j+(D<<2)|0;J=c[K>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0<z>>>0){F=J;do{F=F+1|0;c[K>>2]=F}while((c[$+(F<<2)>>2]|0)>>>0<z>>>0);ba=F;ca=c[C>>2]|0}else{ba=J;ca=aa}K=z+258|0;H=K>>>0>f>>>0?f:K;K=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+z|0;da=I;d:do if(E){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=z-ha|0;ja=c[Y+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(K|0))la=K;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(K|0)){la=K;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0<ba>>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(z|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=z-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(K|0)){wa=K;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0<ba>>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=1;I=28;while(1){ga=(da+I|0)>>>1;if((c[29568+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[29568+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=da;Aa=ea}else{Ba=ka;Ca=ea;break}}else{za=ga+1|0;Aa=I}if(za>>>0>Aa>>>0){Ba=258;Ca=28;break}else{da=za;I=Aa}}I=oa-Ba|0;da=1;ga=29;while(1){ea=(da+ga|0)>>>1;if((c[29824+(ea<<2)>>2]|0)>>>0>pa>>>0){ka=ea+-1|0;fa=c[29824+(ka<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=da;Ea=ka}else{Fa=fa;Ga=ka;break}}else{Da=ea+1|0;Ea=ga}if(Da>>>0>Ea>>>0){Fa=24577;Ga=29;break}else{da=Da;ga=Ea}}ga=pa-Fa|0;da=Ca+257|0;ea=c[q>>2]|0;ka=ea+1|0;fa=c[r>>2]|0;do if(ka<<2>>>0>fa>>>0){ma=ka<<3;ja=yq(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=fa;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=ka;c[Ja+(ea<<2)>>2]=da;Ha=ka;Ia=Ka}fa=Ha+1|0;do if(fa<<2>>>0>Ia>>>0){ma=fa<<3;ja=yq(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=fa;c[Na+(Ha<<2)>>2]=I;La=fa;Ma=Oa}ka=La+1|0;do if(ka<<2>>>0>Ma>>>0){da=ka<<3;ea=yq(c[b>>2]|0,da)|0;if(!ea){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ea;Ra=ea;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=ka;c[Ra+(La<<2)>>2]=Ga;Pa=ka;Qa=Sa}fa=Pa+1|0;do if(fa<<2>>>0>Qa>>>0){I=fa<<3;da=yq(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=fa;c[Ta+(Pa<<2)>>2]=ga}ka=oa+-1|0;if(!ka){Ua=T;Va=U;Wa=V;Xa=v;Ya=Y;Za=Z;_a=_;$a=z;break}da=U;I=V;ea=T;ma=Y;ja=Z;ia=_;na=0;ab=z;while(1){bb=ab+1|0;do if(bb>>>0<f>>>0){cb=(ab+7|0)>>>0<f>>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{fb=d[e+(eb+bb)>>0]<<(eb<<1)^fb;eb=eb+1|0}while(eb>>>0<cb>>>0);db=fb&65535}else db=0;while(0);cb=h+(db*12|0)|0;eb=cb+4|0;ha=c[eb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=yq(c[cb>>2]|0,ib)|0;if(!jb){Ua=ea;Va=da;Wa=I;Xa=9922;Ya=ma;Za=ja;_a=ia;$a=bb;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[eb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ja+1|0;if(gb<<2>>>0>ia>>>0){ha=gb<<3;fb=yq(da,ha)|0;if(!fb){Ua=ea;Va=da;Wa=I;Xa=9922;Ya=ma;Za=ja;_a=ia;$a=bb;break c}mb=fb;nb=fb;ob=fb;pb=fb;qb=ha}else{mb=ea;nb=da;ob=I;pb=ma;qb=ia}c[pb+(ja<<2)>>2]=lb;rb=mb;sb=nb;tb=ob;ub=pb;vb=gb;wb=qb}else{rb=ea;sb=da;tb=I;ub=ma;vb=ja;wb=ia}na=na+1|0;if(na>>>0>=ka>>>0){Ua=rb;Va=sb;Wa=tb;Xa=v;Ya=ub;Za=vb;_a=wb;$a=bb;break}else{da=sb;I=tb;ea=rb;ma=ub;ja=vb;ia=wb;ab=bb}}}else ua=54;while(0);if((ua|0)==54){ua=0;K=d[e+z>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;E=yq(c[b>>2]|0,B)|0;if(!E){n=j;o=T;p=9921;break a}c[r>>2]=B;c[b>>2]=E;xb=E}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=K;Ua=T;Va=U;Wa=V;Xa=v;Ya=Y;Za=Z;_a=_;$a=z}z=$a+1|0;if(z>>>0>=f>>>0){n=j;o=Ua;p=Xa;break}else{s=Wa;t=Va;u=Ua;v=Xa;w=Ya;x=Za;y=_a}}}else{n=j;o=0;p=k}}else{n=0;o=0;p=9919}while(0);k=0;do{j=h+(k*12|0)|0;c[j+8>>2]=0;c[j+4>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;k=k+1|0}while((k|0)!=65536);zq(h);zq(l);zq(n);zq(o);i=p;return i|0}function Xp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=c[b>>2]|0;t=0;do{u=p>>>(r-t|0)&1;do if(!(s&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0<w>>>0){x=w<<1;y=yq(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);s=(c[b>>2]|0)+1|0;c[b>>2]=s;t=t+1|0}while((t|0)!=(q|0))}if(o>>>0>256){q=c[29440+(o+-257<<2)>>2]|0;t=c[f>>2]|0;s=c[t+(h+1<<2)>>2]|0;r=c[t+(h+2<<2)>>2]|0;p=c[29696+(r<<2)>>2]|0;v=h+3|0;w=c[t+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){t=c[b>>2]|0;y=0;do{x=s>>>y&1;do if(!(t&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){C=B<<1;D=yq(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;y=y+1|0}while((y|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;y=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(y|0){t=y+-1|0;s=c[b>>2]|0;o=0;do{u=q>>>(t-o|0)&1;do if(!(s&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){D=B<<1;C=yq(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);s=(c[b>>2]|0)+1|0;c[b>>2]=s;o=o+1|0}while((o|0)!=(y|0))}if(r>>>0<4)G=v;else{y=c[b>>2]|0;o=0;do{s=w>>>o&1;do if(!(y&7)){t=c[g>>2]|0;q=t+1|0;if((c[l>>2]|0)>>>0<q>>>0){x=q<<1;A=yq(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+t>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=s<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;o=o+1|0}while((o|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Ia;Ia=Ia+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ia=g;return j|0}k=0;l=0;m=0;do{n=c[b+(k<<2)>>2]|0;m=n+m|0;l=l+((n|0)!=0&1)|0;k=k+1|0}while((k|0)!=(d|0));if(i){j=80;Ia=g;return j|0}i=a+40|0;c[i>>2]=d;k=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=yq(c[k>>2]|0,q)|0;if(!r){j=9905;Ia=g;return j|0}else{c[n>>2]=q;c[k>>2]=r;break}}while(0);c[o>>2]=d;Wv(c[k>>2]|0,0,p|0)|0;switch(l|0){case 0:{c[c[k>>2]>>2]=1;j=Tp(a)|0;Ia=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[k>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=Tp(a)|0;Ia=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=Zp(h,b,c[i>>2]|0,m)|0;do if(!n){if(e){r=0;q=0;s=1;t=0;do{u=r;r=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=t;t=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;zq(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0<u>>>0)}c[p>>2]=0;if(r>>>0>1){u=c[o>>2]|0;y=t;w=v;z=x;A=1;C=0;D=0;while(1){E=C+1|0;F=B(u,E)|0;if(F>>>0>w>>>0){G=F<<1;F=yq(z,G)|0;if(!F){H=z;I=w;J=C;K=9907;break}else{L=F;M=G}}else{L=z;M=w}G=L+(B(u,C)|0)|0;c[G>>2]=0;F=G+8|0;c[F>>2]=0;N=G+4|0;c[N>>2]=0;O=y+(D<<4)|0;P=G+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=yq(0,S)|0;if(T|0){c[F>>2]=S;c[G>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(A<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[F>>2]|0)>>>0){X=W<<3;Y=yq(c[G>>2]|0,X)|0;if(!Y)break;c[F>>2]=X;c[G>>2]=Y;Z=Y;V=37}else{Z=c[G>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];D=D+2|0;A=D|1;if(A>>>0>=r>>>0){H=L;I=M;J=E;K=0;break}else{w=M;z=L;C=E}}c[p>>2]=J;c[d>>2]=I;c[h>>2]=H;_=K}else _=0;if(s>>>0<e>>>0)$=Zp(h,b,c[i>>2]|0,m)|0;else $=_;s=s+1|0}while(s>>>0<=e>>>0&($|0)==0);if(!$){aa=t;ba=r}else{ca=$;da=t;ea=r;V=60;break}}else{aa=0;ba=0}s=l+-1|0;q=c[p>>2]|0;if(q>>>0>s>>>0){C=c[h>>2]|0;z=c[o>>2]|0;w=s;do{A=C+(B(z,w)|0)|0;c[A+8>>2]=0;c[A+4>>2]=0;zq(c[A>>2]|0);c[A>>2]=0;w=w+1|0}while(w>>>0<q>>>0);fa=z}else fa=c[o>>2]|0;z=B(fa,s)|0;if(z>>>0>(c[d>>2]|0)>>>0){w=z<<1;z=yq(c[h>>2]|0,w)|0;if(!z)ga=q;else{c[d>>2]=w;c[h>>2]=z;V=52}}else V=52;if((V|0)==52){c[p>>2]=s;ga=s}if(!ga)ha=0;else{z=c[h>>2]|0;w=0;do{C=z+(B(fa,w)|0)|0;r=c[C+4>>2]|0;if(r|0){t=c[k>>2]|0;A=c[C>>2]|0;C=0;do{D=t+(c[A+(C<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;C=C+1|0}while(C>>>0<r>>>0)}w=w+1|0}while(w>>>0<ga>>>0);ha=ga}ia=ha;ja=ga;ka=Tp(a)|0;la=aa;ma=ba}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=V;ja=V;ka=ca;la=da;ma=ea}ea=c[h>>2]|0;if(ia|0){ia=c[o>>2]|0;o=0;do{da=ea+(B(ia,o)|0)|0;c[da+8>>2]=0;c[da+4>>2]=0;zq(c[da>>2]|0);c[da>>2]=0;o=o+1|0}while(o>>>0<ja>>>0)}ja=p;c[ja>>2]=0;c[ja+4>>2]=0;zq(ea);c[h>>2]=0;h=la;if(ma|0){la=0;do{ea=h+(la<<4)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;zq(c[ea>>2]|0);c[ea>>2]=0;la=la+1|0}while((la|0)!=(ma|0))}zq(h);j=ka;Ia=g;return j|0}}return 0}function Zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=yq(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=c[l>>2]|0;t=q;u=c[h>>2]|0}else{s=m;t=c[a>>2]|0;u=p}c[g>>2]=o;o=t+(B(u,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;p=o+4|0;c[p>>2]=0;f[o+12>>2]=+(s>>>0)/j;m=yq(0,8)|0;if(m|0){c[n>>2]=8;c[o>>2]=m;c[p>>2]=1;c[m>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;zq(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{s=a*10|0;u=(s+-117|0)>>>0<13|(s+-130|0)>>>0<13?11:(s>>>0)/13|0;a=(u|0)==0?1:u;u=d-a|0;if(!u)w=0;else{s=0;t=0;while(1){b=s+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(s<<4)+12|0;x=+f[k>>2];if(j<x){f[e>>2]=x;f[k>>2]=j;k=g+(s<<4)|0;e=g+(b<<4)|0;h=g+(s<<4)+4|0;m=c[h>>2]|0;p=g+(b<<4)+4|0;c[h>>2]=c[p>>2];c[p>>2]=m;m=g+(s<<4)+8|0;p=c[m>>2]|0;h=g+(b<<4)+8|0;c[m>>2]=c[h>>2];c[h>>2]=p;p=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=p;y=1}else y=t;s=s+1|0;if(s>>>0>=u>>>0){w=y;break}else t=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function _p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0<h>>>0){j=h<<1;k=yq(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0<l>>>0){h=l<<1;k=yq(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0<n>>>0){l=n<<1;k=yq(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0<g>>>0){o=g<<1;n=yq(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function $p(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;if(g>>>0<2){k=53;Ia=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Ia=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ia=i;return k|0}if(n&32|0){k=26;Ia=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Qp(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Ia=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=1;p=0}else{h=e;e=b;b=1;f=0;while(1){n=e>>>0<5550?e:5550;e=e-n|0;if(!n){q=h;r=b;s=f}else{l=n;m=h;j=b;t=f;while(1){j=j+(d[m>>0]|0)|0;t=j+t|0;l=l+-1|0;if(!l)break;else m=m+1|0}q=h+n|0;r=j;s=t}b=(r>>>0)%65521|0;f=(s>>>0)%65521|0;if(!e)break;else h=q}o=b;p=f<<16}if((p|o|0)!=(g|0)){k=58;Ia=i;return k|0}}k=0;Ia=i;return k|0}function aq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Ia;Ia=Ia+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=yq(l,q)|0;if(!r){s=m;t=l;u=m;v=p}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=x;t=w;u=p;v=m+2|0}if(s>>>0<v>>>0){s=v<<1;m=yq(t,s)|0;if(m|0){c[o>>2]=s;c[k>>2]=m;z=m;y=8}}else{z=t;y=8}if((y|0)==8){c[n>>2]=v;a[z+u>>0]=1}c[j>>2]=0;u=j+8|0;c[u>>2]=0;z=j+4|0;c[z>>2]=0;v=Vp(j,f,g,h)|0;if(v|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return v|0}if(!g){C=1;D=0}else{h=f;f=g;g=1;t=0;while(1){m=f>>>0<5550?f:5550;f=f-m|0;if(!m){E=h;F=g;G=t}else{s=m;p=h;w=g;x=t;while(1){w=w+(d[p>>0]|0)|0;x=w+x|0;s=s+-1|0;if(!s)break;else p=p+1|0}E=h+m|0;F=w;G=x}g=(F>>>0)%65521|0;t=(G>>>0)%65521|0;if(!f)break;else h=E}C=g;D=t<<16}t=D|C;if(c[z>>2]|0){C=c[k>>2]|0;D=c[n>>2]|0;g=c[o>>2]|0;E=0;while(1){h=a[(c[j>>2]|0)+E>>0]|0;f=D+1|0;if(g>>>0<f>>>0){G=f<<1;F=yq(C,G)|0;if(!F){H=C;I=D;J=g}else{K=F;L=G;y=22}}else{K=C;L=g;y=22}if((y|0)==22){y=0;a[K+D>>0]=h;H=K;I=f;J=L}E=E+1|0;if(E>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;D=I;g=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[u>>2]=0;c[z>>2]=0;zq(c[j>>2]|0);c[j>>2]=0;_p(k,t);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return v|0}function bq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[557119]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1726752+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[557119]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1726752+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function cq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0<i>>>0|j>>>0<h>>>0){k=77;return k|0}i=yq(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=0;p=h;q=i;r=b}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[m>>0]|0;p=a[j>>0]|0;q=a[d>>0]|0;r=a[l>>0]|0}l=(q&255)<<16|(p&255)<<24|(r&255)<<8|o&255;o=bq(n,l+4|0)|0;n=j+8+l|0;a[n>>0]=o>>>24;a[n+1>>0]=o>>>16;a[n+2>>0]=o>>>8;a[n+3>>0]=o;k=0;return k|0}function dq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=yq(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=yq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){zq(g);zq(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=yq(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=bu(d)|0;i=yq(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=yq(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=bu(e)|0;h=yq(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function eq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;zq(h);i=c[e>>2]|0;zq(i);j=c[f>>2]|0;zq(j);k=c[g>>2]|0;zq(k);return}l=d;d=0;while(1){m=l+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[e>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[f>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;m=(c[g>>2]|0)+(d<<2)|0;zq(c[m>>2]|0);c[m>>2]=0;d=d+1|0;m=c[b>>2]|0;if(d>>>0>=(c[a>>2]|0)>>>0){h=m;break}else l=m}zq(h);i=c[e>>2]|0;zq(i);j=c[f>>2]|0;zq(j);k=c[g>>2]|0;zq(k);return}function fq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=yq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=yq(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=yq(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=yq(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){zq(i);zq(k);zq(m);zq(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=yq(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=bu(d)|0;o=yq(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=yq(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=bu(e)|0;h=yq(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=yq(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=bu(f)|0;j=yq(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=yq(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=bu(g)|0;n=yq(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)zq(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=e;e=0;while(1){i=h+(e<<2)|0;zq(c[i>>2]|0);c[i>>2]=0;i=(c[f>>2]|0)+(e<<2)|0;zq(c[i>>2]|0);c[i>>2]=0;e=e+1|0;i=c[d>>2]|0;if(e>>>0>=(c[b>>2]|0)>>>0){g=i;break}else h=i}}zq(g);zq(c[f>>2]|0);eq(a+80|0);zq(c[a+132>>2]|0);zq(c[a+136>>2]|0);zq(c[a+140>>2]|0);return}function hq(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=n;q=0;s=0;while(1){if(!p){v=q;w=0}else{t=q;r=p+-1|0;x=0;while(1){y=t+1|0;z=(((d[e+(t>>>3)>>0]|0)>>>(t&7^7)&1)<<r)+x|0;r=r+-1|0;if(r>>>0>=p>>>0){v=y;w=z;break}else{t=y;x=z}}}a[b+(B(s,f)|0)>>0]=((w*255|0)>>>0)/(((1<<p)+-1|0)>>>0)|0;x=s+1|0;if((x|0)==(j|0)){o=0;break}p=c[h>>2]|0;q=v;s=x}return o|0}s=n;n=0;v=0;while(1){if(!s){A=n;C=0}else{q=n;p=s+-1|0;w=0;while(1){x=q+1|0;t=(((d[e+(q>>>3)>>0]|0)>>>(q&7^7)&1)<<p)+w|0;p=p+-1|0;if(p>>>0>=s>>>0){A=x;C=t;break}else{q=x;w=t}}}w=B(v,f)|0;q=b+(w+1)|0;a[q>>0]=-1;if((C|0)!=0&(c[u>>2]|0)!=0?(p=(1<<c[h>>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[q>>0]=0;a[b+w>>0]=((C*255|0)>>>0)/(((1<<c[h>>2])+-1|0)>>>0)|0;w=v+1|0;if((w|0)==(j|0)){o=0;break}s=c[h>>2]|0;n=A;v=w}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;v=c[i>>2]|0;switch(v|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}A=g+16|0;n=g+20|0;if(!k){h=0;do{s=e+h|0;C=B(h,f)|0;a[b+C>>0]=a[s>>0]|0;a[b+(C+1)>>0]=a[s>>0]|0;a[b+(C+2)>>0]=a[s>>0]|0;h=h+1|0}while((h|0)!=(j|0));o=0;return o|0}h=0;do{s=B(h,f)|0;C=b+(s+3)|0;a[C>>0]=-1;m=e+h|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[A>>2]|0?(c[n>>2]|0)==(d[m>>0]|0|0):0)a[C>>0]=0;h=h+1|0}while((h|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}h=(k|0)!=0;n=g+16|0;A=g+20|0;C=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(h)a[b+(u+3)>>0]=-1;w=s*3|0;q=e+w|0;a[b+u>>0]=a[q>>0]|0;p=e+(w+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;t=e+(w+2)|0;a[b+(u+2)>>0]=a[t>>0]|0;if((((h?(c[n>>2]|0)==1:0)?(c[A>>2]|0)==(d[q>>0]|0|0):0)?(c[C>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[t>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;C=g+8|0;A=(f|0)==1;if(!k){n=0;while(1){h=e+n|0;u=a[h>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(t=B(n,f)|0,a[b+t>>0]=a[(c[C>>2]|0)+((u&255)<<2)>>0]|0,!A):0){u=1;do{a[b+(u+t)>>0]=a[(c[C>>2]|0)+(((d[h>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}n=n+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{n=0;while(1){u=B(n,f)|0;a[b+(u+3)>>0]=-1;h=e+n|0;t=a[h>>0]|0;if((c[s>>2]|0)>>>0<=(t&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[C>>2]|0)+((t&255)<<2)>>0]|0,!A):0){t=1;do{a[b+(t+u)>>0]=a[(c[C>>2]|0)+(((d[h>>0]|0)<<2)+t)>>0]|0;t=t+1|0}while((t|0)!=(f|0))}n=n+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){n=0;do{C=e+(n<<1)|0;A=B(n,f)|0;a[b+A>>0]=a[C>>0]|0;a[b+(A+1)>>0]=a[C>>0]|0;a[b+(A+2)>>0]=a[C>>0]|0;n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}else{n=0;do{C=n<<1;A=e+C|0;m=B(n,f)|0;a[b+m>>0]=a[A>>0]|0;a[b+(m+1)>>0]=a[A>>0]|0;a[b+(m+2)>>0]=a[A>>0]|0;a[b+(m+3)>>0]=a[e+(C|1)>>0]|0;n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}n=0;do{C=n<<2;m=B(n,f)|0;A=0;do{a[b+(A+m)>>0]=a[e+(A+C)>>0]|0;A=A+1|0}while((A|0)!=(f|0));n=n+1|0}while((n|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}n=g+16|0;A=g+20|0;if(!k){C=0;do{m=e+(C<<1)|0;s=B(C,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}C=0;while(1){m=B(C,f)|0;s=b+(m+3)|0;a[s>>0]=-1;t=e+(C<<1)|0;a[b+m>>0]=a[t>>0]|0;a[b+(m+1)>>0]=a[t>>0]|0;a[b+(m+2)>>0]=a[t>>0]|0;if(c[n>>2]|0){t=C+1|0;if(((d[e+C>>0]|0)<<8|(d[e+t>>0]|0)|0)==(c[A>>2]|0)){a[s>>0]=0;E=t}else E=t}else E=C+1|0;if((E|0)==(j|0)){o=0;break}else C=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;C=g+16|0;A=g+20|0;n=g+24|0;t=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;h=s*6|0;u=e+h|0;a[b+m>>0]=a[u>>0]|0;p=e+(h+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;q=e+(h+4)|0;a[b+(m+2)>>0]=a[q>>0]|0;if((((E?c[C>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(h|1)>>0]|0)|0)==(c[A>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(h+3)>>0]|0)|0)==(c[n>>2]|0):0)?((d[q>>0]|0)<<8|(d[e+(h+5)>>0]|0)|0)==(c[t>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{t=e+(s<<2)|0;n=B(s,f)|0;a[b+n>>0]=a[t>>0]|0;a[b+(n+1)>>0]=a[t>>0]|0;a[b+(n+2)>>0]=a[t>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{t=s<<2;n=e+t|0;A=B(s,f)|0;a[b+A>>0]=a[n>>0]|0;a[b+(A+1)>>0]=a[n>>0]|0;a[b+(A+2)>>0]=a[n>>0]|0;a[b+(A+3)>>0]=a[e+(t|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{t=s<<3;A=B(s,f)|0;n=0;do{a[b+(n+A)>>0]=a[e+((n<<1)+t)>>0]|0;n=n+1|0}while((n|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;n=g+20|0;t=v;A=0;C=0;while(1){if(!t){F=A;G=0}else{E=A;m=t+-1|0;h=0;while(1){q=E+1|0;p=(((d[e+(E>>>3)>>0]|0)>>>(E&7^7)&1)<<m)+h|0;m=m+-1|0;if(m>>>0>=t>>>0){F=q;G=p;break}else{E=q;h=p}}}h=B(C,f)|0;if((!l?(E=b+(h+3)|0,a[E>>0]=-1,(G|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<<c[i>>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[n>>2]|0))):0)a[E>>0]=0;E=(((G*255|0)>>>0)/(((1<<c[i>>2])+-1|0)>>>0)|0)&255;a[b+h>>0]=E;a[b+(h+1)>>0]=E;a[b+(h+2)>>0]=E;E=C+1|0;if((E|0)==(j|0)){o=0;break}t=c[i>>2]|0;A=F;C=E}return o|0}case 3:{if(!j){o=0;return o|0}C=(k|0)==0;k=g+12|0;F=(f|0)==0;A=g+8|0;g=v;v=0;t=0;while(1){if(!g){H=v;I=0}else{G=v;n=g+-1|0;s=0;while(1){l=G+1|0;E=(((d[e+(G>>>3)>>0]|0)>>>(G&7^7)&1)<<n)+s|0;n=n+-1|0;if(n>>>0>=g>>>0){H=l;I=E;break}else{G=l;s=E}}}if(!C)a[b+((B(t,f)|0)+3)>>0]=-1;if(I>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!F){s=I<<2;G=B(t,f)|0;n=0;do{a[b+(n+G)>>0]=a[(c[A>>2]|0)+(n+s)>>0]|0;n=n+1|0}while((n|0)!=(f|0))}n=t+1|0;if(n>>>0>=j>>>0){o=0;D=179;break}g=c[i>>2]|0;v=H;t=n}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function iq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;gq(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(bq(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function jq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ia;Ia=Ia+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;iq(b,g,h);u=b+208|0;if(c[u>>2]|0){Ia=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=45;da=g+33|0;ea=1;fa=0;ga=0;ha=0;ia=0;b:while(1){ja=da+1|0;ka=da+2|0;la=da+3|0;ma=d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ca|0)>>>0>h>>>0){ba=9;break}if((da+ma+12|0)>>>0<g>>>0){ba=9;break}na=da+8|0;oa=da+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[da+5>>0]|0){case 68:break;case 69:{if((a[da+6>>0]|0)!=78){ba=187;break b}if((a[da+7>>0]|0)==68){qa=1;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[da+6>>0]|0)!=65){ba=187;break b}if((a[da+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0<wa>>>0){xa=wa<<1;ya=yq(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=3;sa=za;ta=Aa;ua=wa;va=ia}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=3;sa=za;ta=Aa;ua=wa;va=ia}break}case 80:{if((a[da+5>>0]|0)!=76){ba=187;break b}if((a[da+6>>0]|0)!=84){ba=187;break b}if((a[da+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)zq(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=xq(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia}else{wa=xa;xa=0;ya=0;while(1){Ba=xa<<2;a[wa+Ba>>0]=a[na+ya>>0]|0;a[(c[x>>2]|0)+(Ba|1)>>0]=a[na+(ya+1)>>0]|0;a[(c[x>>2]|0)+(Ba|2)>>0]=a[na+(ya+2)>>0]|0;a[(c[x>>2]|0)+(Ba|3)>>0]=-1;Ba=xa+1|0;if(Ba>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=2;sa=fa;ta=ga;ua=ha;va=ia;break c}wa=c[x>>2]|0;xa=Ba;ya=ya+3|0}}break}case 116:{switch(a[da+5>>0]|0){case 82:{if((a[da+6>>0]|0)!=78){ba=188;break c}if((a[da+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}ya=0;do{a[(c[x>>2]|0)+(ya<<2|3)>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(ma|0));qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;ya=d[na>>0]<<8|d[da+9>>0];c[C>>2]=ya;c[D>>2]=ya;c[E>>2]=ya;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[da+9>>0];c[D>>2]=d[da+10>>0]<<8|d[da+11>>0];c[C>>2]=d[da+12>>0]<<8|d[da+13>>0];qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{ba=51;break b}}break}case 69:{if((a[da+6>>0]|0)!=88){ba=188;break c}if((a[da+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{ya=0;while(1){xa=ya+1|0;if(!(a[na+ya>>0]|0)){Da=xa;Ea=ya;break d}if(xa>>>0<ma>>>0)ya=xa;else{Ca=xa;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca+1|0;Ea=Ca}do if(ma>>>0>Da>>>0){ya=xq(Da)|0;if(ya){a[ya+Ea>>0]=0;if(Ea|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(Ea|0))}if(ma>>>0<Da>>>0){Fa=75;Ga=ya;Ha=0}else{xa=ma-Da|0;wa=xq(xa+1|0)|0;if(!wa){Fa=9939;Ga=ya;Ha=0;break}a[wa+xa>>0]=0;if(xa|0){Ba=0;do{a[wa+Ba>>0]=a[na+(Ba+Da)>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(xa|0))}Fa=dq(_,ya,wa)|0;Ga=ya;Ha=wa}}else{Fa=9938;Ga=0;Ha=0}}else{Fa=75;Ga=0;Ha=0}while(0);c[u>>2]=Fa;Ja=Ga;Ka=Ha}else{Ja=0;Ka=0}zq(Ja);zq(Ka);qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 73:{if((a[da+6>>0]|0)!=77){ba=188;break c}if((a[da+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[da+9>>0];a[R>>0]=a[da+10>>0]|0;a[S>>0]=a[da+11>>0]|0;a[T>>0]=a[da+12>>0]|0;a[U>>0]=a[da+13>>0]|0;a[V>>0]=a[da+14>>0]|0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[da+5>>0]|0)==75?(a[da+6>>0]|0)==71:0)?(a[da+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;xa=d[na>>0]|0;c[H>>2]=xa;c[I>>2]=xa;c[J>>2]=xa;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;xa=d[na>>0]<<8|d[da+9>>0];c[H>>2]=xa;c[I>>2]=xa;c[J>>2]=xa;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[da+9>>0];c[I>>2]=d[da+10>>0]<<8|d[da+11>>0];c[H>>2]=d[da+12>>0]<<8|d[da+13>>0];qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c;break}default:{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia;break c}}else ba=188;break}case 122:{if(((a[da+5>>0]|0)==84?(a[da+6>>0]|0)==88:0)?(a[da+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{xa=0;while(1){if(!(a[na+xa>>0]|0)){La=xa;break e}Ba=xa+1|0;if(Ba>>>0<ma>>>0)xa=Ba;else{La=Ba;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}ya=La+1|0;xa=xq(ya)|0;if(!xa){c[u>>2]=9940;Ma=0;Na=0;break}a[xa+La>>0]=0;if(La|0){Ba=0;do{a[xa+Ba>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(La|0))}if(a[na+ya>>0]|0){c[u>>2]=72;Ma=0;Na=xa;break}if(ma>>>0<wa>>>0){c[u>>2]=75;Ma=0;Na=xa;break}Ba=$p(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=Ba;if(Ba|0){Ma=c[j>>2]|0;Na=xa;break}Ba=c[L>>2]|0;Oa=Ba+1|0;do if((c[K>>2]|0)>>>0<Oa>>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=yq(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+Ba>>0]=0;Sa=Ta}c[u>>2]=dq(_,xa,Sa)|0;Ma=Sa;Na=xa}else{Ma=0;Na=0}while(0);zq(Na);zq(Ma);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}case 105:{if(((a[da+5>>0]|0)==84?(a[da+6>>0]|0)==88:0)?(a[da+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}ya=wa+1|0;if(ya>>>0<ma>>>0)wa=ya;else{Za=ya;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}xa=Za+1|0;Ba=xq(xa)|0;if(!Ba){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[Ba+Za>>0]=0;if(Za|0){Oa=0;do{a[Ba+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+xa>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=Ba;Xa=0;Ya=0;break}ya=Za+3|0;g:do if(ya>>>0<ma>>>0){Ra=ya;Pa=0;while(1){if(!(a[na+Ra>>0]|0)){_a=Pa;break g}Qa=Pa+1|0;Ra=Ra+1|0;if(Ra>>>0>=ma>>>0){_a=Qa;break}else Pa=Qa}}else _a=0;while(0);wa=_a+1|0;xa=wa+ya|0;if(xa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=0;Ya=0;break}Pa=xq(wa)|0;if(!Pa){c[u>>2]=9942;Va=0;Wa=Ba;Xa=0;Ya=0;break}a[Pa+_a>>0]=0;if(_a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=xa;ya=0;while(1){if(!(a[na+wa>>0]|0)){$a=ya;break}Ra=ya+1|0;wa=wa+1|0;if(wa>>>0>=ma>>>0){$a=Ra;break}else ya=Ra}ya=$a+1|0;wa=ya+xa|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=Pa;Ya=0;break}Ra=xq(ya)|0;if(!Ra){c[u>>2]=9943;Va=0;Wa=Ba;Xa=Pa;Ya=0;break}a[Ra+$a>>0]=0;if($a|0){ya=0;do{a[Ra+ya>>0]=a[na+(ya+xa)>>0]|0;ya=ya+1|0}while((ya|0)!=($a|0))}if(ma>>>0<wa>>>0){c[u>>2]=75;Va=0;Wa=Ba;Xa=Pa;Ya=Ra;break}ya=ma-wa|0;h:do if(!(Oa<<24>>24)){xa=ya+1|0;do if(xa){Qa=xa<<1;ab=yq(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=xa;a[ab+ya>>0]=0;if(!ya){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=0;Wa=Ba;Xa=Pa;Ya=Ra;break f}}else{c[O>>2]=0;a[0+ya>>0]=0;cb=0}while(0);xa=0;do{a[cb+xa>>0]=a[na+(xa+wa)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0));bb=cb}else{xa=$p(j,O,na+wa|0,ya,b)|0;c[u>>2]=xa;if(xa|0){Va=c[j>>2]|0;Wa=Ba;Xa=Pa;Ya=Ra;break f}xa=c[O>>2]|0;ab=xa+1|0;if((c[N>>2]|0)>>>0<ab>>>0){Qa=ab<<1;db=c[j>>2]|0;eb=yq(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+xa>>0]=0;bb=fb}while(0);c[u>>2]=fq($,Ba,Pa,Ra,bb)|0;Va=bb;Wa=Ba;Xa=Pa;Ya=Ra}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);zq(Wa);zq(Xa);zq(Ya);zq(Va);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}}else{qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}case 112:{if(((a[da+5>>0]|0)==72?(a[da+6>>0]|0)==89:0)?(a[da+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[da+9>>0]<<16|d[na>>0]<<24|d[da+10>>0]<<8|d[da+11>>0];c[Y>>2]=d[da+13>>0]<<16|d[da+12>>0]<<24|d[da+14>>0]<<8|d[da+15>>0];a[Z>>0]=a[da+16>>0]|0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=ia}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=1}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;ya=b+196+(pa<<2)|0;pa=ma+12|0;wa=c[ya>>2]|0;Oa=wa+pa|0;if(Oa>>>0<pa>>>0|Oa>>>0<wa>>>0){gb=77;ba=193;break}xa=yq(c[na>>2]|0,Oa)|0;if(!xa){gb=9929;ba=193;break}c[na>>2]=xa;c[ya>>2]=Oa;Oa=xa+wa|0;wa=0;do{a[Oa+wa>>0]=a[da+wa>>0]|0;wa=wa+1|0}while((wa|0)!=(pa|0));c[u>>2]=0;qa=0;ra=ea;sa=fa;ta=ga;ua=ha;va=1}}if((c[w>>2]|va|0)==0?(pa=d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0],wa=da+(pa+8)|0,Oa=d[wa+1>>0]<<16|d[wa>>0]<<24|d[wa+2>>0]<<8|d[wa+3>>0],(Oa|0)!=(bq(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}da=da+((d[ja>>0]<<16|d[da>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ca=da-v+12|0;if(da>>>0<g>>>0|ca>>>0>h>>>0){aa=sa;ba=4;break a}else{ea=ra;fa=sa;ga=ta;ha=ua;ia=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=sa;break a;break}case 200:{if(c[u>>2]|0){Ua=sa;break a}c[t>>2]=0;ia=t+8|0;c[ia>>2]=0;ha=t+4|0;c[ha>>2]=0;ga=b+52|0;ea=c[ga>>2]|0;ca=b+56|0;da=c[ca>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}wa=((B((B(B(Oa,da)|0,hb)|0)+7|0,ea)|0)>>>3)+da|0;do if(wa){da=wa<<1;ea=yq(0,da)|0;if(ea){c[ia>>2]=da;c[t>>2]=ea;ea=c[u>>2]|0;c[ha>>2]=wa;if(!ea){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ha>>2]=0;ba=211}while(0);if((ba|0)==211?(wa=$p(t,ha,sa,ua,b)|0,c[u>>2]=wa,(wa|0)==0):0){wa=c[ca>>2]|0;fa=c[ga>>2]|0;ea=c[z>>2]|0;da=c[pa>>2]|0;switch(ea|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,wa)|0,da)|0,ib)|0)+7|0)>>>3;if(Oa){wa=yq(0,Oa<<1)|0;if(wa){Wv(wa|0,0,Oa|0)|0;fa=wa;if(!(c[u>>2]|0)){jb=c[z>>2]|0;kb=c[pa>>2]|0;lb=fa;ba=221}else{mb=fa;nb=Oa}}else{ob=0;pb=0;qb=9946;ba=286}}else{jb=ea;kb=da;lb=0;ba=221}i:do if((ba|0)==221){da=lb;ea=c[t>>2]|0;switch(jb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,kb)|0;wa=c[ga>>2]|0;ma=c[ca>>2]|0;if(!fa){ob=lb;pb=Oa;qb=31;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=kq(da,ea,wa,ma,fa)|0;break}xa=B(wa,fa)|0;ya=xa+7&-8;if((xa|0)==(ya|0)){sb=kq(da,ea,wa,ma,fa)|0;break}na=kq(ea,ea,wa,ma,fa)|0;if(na|0){ob=lb;pb=Oa;qb=na;ba=286;break i}if((ma|0)==0|(xa|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=na;db=ab;tb=0;while(1){ub=1<<(db&7^7);if(!(1<<(Qa&7^7)&d[ea+(Qa>>>3)>>0])){vb=da+(db>>>3)|0;wb=(ub^255)&d[vb>>0];xb=vb}else{vb=da+(db>>>3)|0;wb=ub|d[vb>>0];xb=vb}a[xb>>0]=wb;tb=tb+1|0;if((tb|0)==(xa|0))break;else{Qa=Qa+1|0;db=db+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+xa|0}}}}else{lq(o,p,q,r,s,wa,ma,fa);j:do if(fa>>>0>=8){xa=kq(ea+(c[r>>2]|0)|0,ea+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!xa){ab=kq(ea+(c[r+4>>2]|0)|0,ea+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=kq(ea+(c[r+8>>2]|0)|0,ea+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=kq(ea+(c[r+12>>2]|0)|0,ea+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=kq(ea+(c[r+16>>2]|0)|0,ea+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){db=kq(ea+(c[r+20>>2]|0)|0,ea+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(db|0){yb=0;zb=db;Ab=db;break}db=kq(ea+(c[r+24>>2]|0)|0,ea+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!db)ba=255;else{yb=0;zb=db;Ab=db}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=xa;Ab=xa}}else{xa=0;while(1){ab=ea+(c[r+(xa<<2)>>2]|0)|0;ya=c[o+(xa<<2)>>2]|0;na=c[p+(xa<<2)>>2]|0;eb=kq(ab,ea+(c[q+(xa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=ea+(c[s+(xa<<2)>>2]|0)|0;db=B(ya,fa)|0;ya=db+7&-8;if(!((na|0)==0|(db|0)==0)){Qa=0;tb=0;Ra=0;while(1){Pa=Qa;Ba=tb;vb=0;while(1){ub=1<<(Ba&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(Ba>>>3)|0;Cb=(ub^255)&d[Bb>>0];Db=Bb}else{Bb=eb+(Ba>>>3)|0;Cb=ub|d[Bb>>0];Db=Bb}a[Db>>0]=Cb;vb=vb+1|0;if((vb|0)==(db|0))break;else{Pa=Pa+1|0;Ba=Ba+1|0}}Ra=Ra+1|0;if((Ra|0)==(na|0))break;else{Qa=Qa+ya|0;tb=tb+db|0}}}xa=xa+1|0;if(xa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){lq(j,k,l,m,n,wa,ma,fa);if(fa>>>0>7){xa=fa>>>3;if(xa|0){db=0;do{tb=c[k+(db<<2)>>2]|0;do if(tb|0){ya=c[j+(db<<2)>>2]|0;if(!ya)break;Qa=c[n+(db<<2)>>2]|0;na=c[30048+(db<<2)>>2]|0;Ra=c[30016+(db<<2)>>2]|0;eb=c[29984+(db<<2)>>2]|0;ab=c[29952+(db<<2)>>2]|0;Ba=0;do{Pa=(B((B(Ba,Ra)|0)+na|0,wa)|0)+eb|0;vb=B(Ba,ya)|0;Bb=0;do{ub=(B(Bb+vb|0,xa)|0)+Qa|0;Eb=B(Pa+(B(Bb,ab)|0)|0,xa)|0;Fb=0;do{a[da+(Fb+Eb)>>0]=a[ea+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(xa|0));Bb=Bb+1|0}while((Bb|0)!=(ya|0));Ba=Ba+1|0}while((Ba|0)!=(tb|0))}while(0);db=db+1|0}while((db|0)!=7)}}else{db=0;do{xa=c[j+(db<<2)>>2]|0;tb=c[k+(db<<2)>>2]|0;if(!((xa|0)==0|(tb|0)==0)){Ba=c[30048+(db<<2)>>2]|0;ya=c[30016+(db<<2)>>2]|0;ab=c[29984+(db<<2)>>2]|0;Qa=c[29952+(db<<2)>>2]|0;eb=c[n+(db<<2)>>2]<<3;na=0;do{Ra=B(na,xa)|0;Bb=(B((B(na,ya)|0)+Ba|0,wa)|0)+ab|0;Pa=0;do{vb=0;Fb=(B(Pa+Ra|0,fa)|0)+eb|0;ub=B(Bb+(B(Pa,Qa)|0)|0,fa)|0;while(1){Eb=(d[ea+(Fb>>>3)>>0]|0)>>>(Fb&7^7)&1;if(Eb|0){Gb=da+(ub>>>3)|0;a[Gb>>0]=Eb<<(ub&7^7)|d[Gb>>0]}vb=vb+1|0;if((vb|0)==(fa|0))break;else{Fb=Fb+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(xa|0));na=na+1|0}while((na|0)!=(tb|0))}db=db+1|0}while((db|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=zb;else{ob=lb;pb=Oa;qb=Ab;ba=286;break i}}while(0);ob=lb;pb=Oa;qb=sb;ba=286}}while(0);if((ba|0)==286){c[u>>2]=qb;mb=ob;nb=pb}c[e>>2]=mb;c[f>>2]=nb}c[ia>>2]=0;c[ha>>2]=0;zq(c[t>>2]|0);Ua=sa;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}zq(Ua);if(c[u>>2]|0){Ia=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;sa=c[ba>>2]|0;if(sa|0)zq(sa);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];sa=xq(c[y>>2]<<2)|0;c[ba>>2]=sa;t=c[y>>2]|0;if(!sa){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Ia=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}a[sa>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}sa=1;do{a[(c[ba>>2]|0)+sa>>0]=a[(c[x>>2]|0)+sa>>0]|0;sa=sa+1|0}while(sa>>>0<c[y>>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Ia=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Ia=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Ia=i;return}}sa=b+52|0;x=c[sa>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=xq(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=hq(Ib,y,Ua,aa,c[sa>>2]|0,c[ba>>2]|0)|0;zq(y);Ia=i;return}function kq(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0<i>>>0;o=0;p=0;a:while(1){q=B(p,i)|0;r=B(p,e)|0;s=o;o=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[o+t>>0]=(d[o+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[o+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=((d[o+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[o+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=(((d[s+t>>0]|0)+(d[o+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[o+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[o+t>>0]=(d[o+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[o+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[o+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[o+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);p=p+1|0;if(p>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function lq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=B(a,j+1|0)|0;w=j;x=b}b=d+4|0;c[b>>2]=v;v=e+4|0;c[v>>2]=(B(a,w)|0)+(c[e>>2]|0);w=f+4|0;c[w>>2]=(((B(x,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=B(k,a+1|0)|0;z=a;A=l}l=d+8|0;c[l>>2]=y+(c[b>>2]|0);b=e+8|0;c[b>>2]=(B(k,z)|0)+(c[v>>2]|0);v=f+8|0;c[v>>2]=(((B(A,k)|0)+7|0)>>>3)+(c[w>>2]|0);w=c[m>>2]|0;m=c[n>>2]|0;if(!w){C=0;D=0;E=0}else{n=B(w,i)|0;w=(n+7|0)>>>3;C=B(m,w+1|0)|0;D=w;E=n}n=d+12|0;c[n>>2]=C+(c[l>>2]|0);l=e+12|0;c[l>>2]=(B(m,D)|0)+(c[b>>2]|0);b=f+12|0;c[b>>2]=(((B(E,m)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[o>>2]|0;o=c[p>>2]|0;if(!v){F=0;G=0;H=0}else{p=B(v,i)|0;v=(p+7|0)>>>3;F=B(o,v+1|0)|0;G=v;H=p}p=d+16|0;c[p>>2]=F+(c[n>>2]|0);n=e+16|0;c[n>>2]=(B(o,G)|0)+(c[l>>2]|0);l=f+16|0;c[l>>2]=(((B(H,o)|0)+7|0)>>>3)+(c[b>>2]|0);b=c[q>>2]|0;q=c[r>>2]|0;if(!b){I=0;J=0;K=0}else{r=B(b,i)|0;b=(r+7|0)>>>3;I=B(q,b+1|0)|0;J=b;K=r}r=d+20|0;c[r>>2]=I+(c[p>>2]|0);p=e+20|0;c[p>>2]=(B(q,J)|0)+(c[n>>2]|0);n=f+20|0;c[n>>2]=(((B(K,q)|0)+7|0)>>>3)+(c[l>>2]|0);l=c[s>>2]|0;s=c[t>>2]|0;if(!l){L=0;M=0;N=0}else{t=B(l,i)|0;l=(t+7|0)>>>3;L=B(s,l+1|0)|0;M=l;N=t}t=d+24|0;c[t>>2]=L+(c[r>>2]|0);r=e+24|0;c[r>>2]=(B(s,M)|0)+(c[p>>2]|0);p=f+24|0;c[p>>2]=(((B(N,s)|0)+7|0)>>>3)+(c[n>>2]|0);n=c[t>>2]|0;t=c[u>>2]|0;u=c[h>>2]|0;if(!t){O=0;P=0;Q=0;R=O+n|0;S=d+28|0;c[S>>2]=R;T=c[r>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[p>>2]|0;Y=B(Q,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(t,i)|0;i=(h+7|0)>>>3;O=B(u,i+1|0)|0;P=i;Q=h;R=O+n|0;S=d+28|0;c[S>>2]=R;T=c[r>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[p>>2]|0;Y=B(Q,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function mq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ia;Ia=Ia+224|0;j=i+212|0;k=i;if(!f){l=100;Ia=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;Zu(n,0,2)|0;o=sv(n)|0;if(o>>>0>268435456){l=333;Ia=i;return l|0}uv(n);p=xq(o)|0;tv(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;jq(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)zq(t);c[s>>2]=0;gq(k+52|0);zq(p);z=c[f>>2]|0;A=o}else{z=m;A=0}if((z|0)!=1){l=A;Ia=i;return l|0}c[f+20>>2]=0;A=c[f+12>>2]|0;z=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;jq(k,b,j,A,z);z=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)zq(s);c[p>>2]=0;gq(k+52|0);l=z;Ia=i;return l|0}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mq(a,b,c,d,6,8)|0} 149 + function yu(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0,qb=0.0;i=Ia;Ia=Ia+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+104|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Yt(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Yt(a)|0;if((y|0)==48){x=0;o=0;while(1){w=Hv(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=Yt(a)|0;if((C|0)==48){x=w;o=z}else{q=w;r=z;s=C;t=1;v=1;break}}}else{q=0;r=0;s=y;t=b;v=1}}c[j>>2]=0;b=s+-48|0;y=(s|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=q;x=r;z=0;w=0;A=s;D=y;E=t;F=v;H=0;I=0;J=0;K=b;c:while(1){do if(D)if(!F){L=z;M=w;N=z;O=w;P=E;Q=1;R=H;S=I;T=J}else break c;else{U=Hv(z|0,w|0,1,0)|0;V=G()|0;W=(A|0)!=48;if((I|0)>=125){if(!W){L=o;M=x;N=U;O=V;P=E;Q=F;R=H;S=I;T=J;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=U;O=V;P=E;Q=F;R=H;S=I;T=J;break}X=j+(I<<2)|0;if(!H)Y=K;else Y=A+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=H+1|0;Z=(X|0)==9;L=o;M=x;N=U;O=V;P=1;Q=F;R=Z?0:X;S=I+(Z&1)|0;T=W?U:J}while(0);U=c[m>>2]|0;if(U>>>0<(c[n>>2]|0)>>>0){c[m>>2]=U+1;_=d[U>>0]|0}else _=Yt(a)|0;K=_+-48|0;D=(_|0)==46;if(!(D|K>>>0<10)){$=N;aa=L;ba=O;ca=M;da=_;ea=P;fa=Q;ga=R;ha=S;ia=T;p=31;break b}else{o=L;x=M;z=N;w=O;A=_;E=P;F=Q;H=R;I=S;J=T}}ja=z;ka=w;la=o;ma=x;na=H;oa=I;pa=J;qa=(E|0)!=0;p=39}else{$=0;aa=q;ba=0;ca=r;da=s;ea=t;fa=v;ga=0;ha=0;ia=0;p=31}while(0);do if((p|0)==31){v=(fa|0)==0;t=v?$:aa;s=v?ba:ca;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=ba;la=t;ma=s;na=ga;oa=ha;pa=ia;qa=v;p=39;break}else{ra=$;sa=ba;ta=t;ua=s;va=ga;wa=ha;xa=ia;ya=v;p=41;break}v=zu(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Wt(a,0,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=Hv(Aa|0,Ba|0,t|0,s|0)|0;Ca=r;Da=$;Ea=G()|0;Fa=ba;Ga=ga;Ha=ha;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=la;Da=ja;Ea=ma;Fa=ka;Ga=na;Ha=oa;Ja=pa;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;p=41}if((p|0)==41)if(ya){Ca=ta;Da=ra;Ea=ua;Fa=sa;Ga=va;Ha=wa;Ja=xa;p=43}else p=42;do if((p|0)==42){c[(gt()|0)>>2]=22;Wt(a,0,0);za=0.0}else if((p|0)==43){xa=c[j>>2]|0;if(!xa){za=+(g|0)*0.0;break}if(((Fa|0)<0|(Fa|0)==0&Da>>>0<10)&((Ca|0)==(Da|0)&(Ea|0)==(Fa|0))?(e|0)>30|(xa>>>e|0)==0:0){za=+(g|0)*+(xa>>>0);break}xa=(f|0)/-2|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)>(wa|0)|(Ea|0)==(wa|0)&Ca>>>0>xa>>>0){c[(gt()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}xa=f+-106|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)<(wa|0)|(Ea|0)==(wa|0)&Ca>>>0<xa>>>0){c[(gt()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ga)Ka=Ha;else{if((Ga|0)<9){xa=j+(Ha<<2)|0;wa=Ga;va=c[xa>>2]|0;while(1){va=va*10|0;if((wa|0)>=8)break;else wa=wa+1|0}c[xa>>2]=va}Ka=Ha+1|0}if((Ja|0)<9?(Ja|0)<=(Ca|0)&(Ca|0)<18:0){if((Ca|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ca|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[34544+(8-Ca<<2)>>2]|0);break}wa=e+27+(B(Ca,-3)|0)|0;E=c[j>>2]|0;if((wa|0)>30|(E>>>wa|0)==0){za=+(g|0)*+(E>>>0)*+(c[34544+(Ca+-10<<2)>>2]|0);break}}E=(Ca|0)%9|0;if(!E){La=0;Ma=Ca;Na=Ka}else{wa=(Ca|0)>-1?E:E+9|0;E=c[34544+(8-wa<<2)>>2]|0;if(Ka){J=1e9/(E|0)|0;I=0;H=0;x=0;o=Ca;do{w=j+(x<<2)|0;z=c[w>>2]|0;sa=(z>>>0)/(E>>>0)|0;ua=z-(B(sa,E)|0)|0;z=sa+H|0;c[w>>2]=z;H=B(J,ua)|0;ua=(x|0)==(I|0)&(z|0)==0;o=ua?o+-9|0:o;I=ua?I+1&127:I;x=x+1|0}while((x|0)!=(Ka|0));if(!H){Oa=I;Pa=o;Qa=Ka}else{c[j+(Ka<<2)>>2]=H;Oa=I;Pa=o;Qa=Ka+1|0}}else{Oa=0;Pa=Ca;Qa=0}La=Oa;Ma=9-wa+Pa|0;Na=Qa}x=La;J=0;E=Ma;va=Na;d:while(1){xa=(E|0)<18;ua=(E|0)==18;z=j+(x<<2)|0;Ra=J;Sa=va;while(1){if(!xa){if(!ua){Ta=E;break d}if((c[z>>2]|0)>>>0>=9007199){Ta=18;break d}}w=0;sa=Sa+127|0;Ua=Sa;while(1){ra=sa&127;ta=j+(ra<<2)|0;ya=Rv(c[ta>>2]|0,0,29)|0;qa=Hv(ya|0,G()|0,w|0,0)|0;ya=G()|0;if(ya>>>0>0|(ya|0)==0&qa>>>0>1e9){pa=Ov(qa|0,ya|0,1e9,0)|0;oa=Nv(pa|0,G()|0,1e9,0)|0;na=Iv(qa|0,ya|0,oa|0,G()|0)|0;G()|0;Va=na;Wa=pa}else{Va=qa;Wa=0}c[ta>>2]=Va;ta=(ra|0)==(x|0);Xa=(ra|0)!=(Ua+127&127|0)|ta?Ua:(Va|0)==0?ra:Ua;if(ta)break;else{w=Wa;sa=ra+-1|0;Ua=Xa}}Ya=Ra+-29|0;if(!Wa){Ra=Ya;Sa=Ua}else break}z=x+127&127;ua=Xa+127&127;xa=j+((Xa+126&127)<<2)|0;if((z|0)==(Xa|0)){c[xa>>2]=c[xa>>2]|c[j+(ua<<2)>>2];Za=ua}else Za=Ua;c[j+(z<<2)>>2]=Wa;x=z;J=Ya;E=E+9|0;va=Za}va=x;E=Ra;J=Ta;wa=Sa;e:while(1){o=wa+1&127;I=j+((wa+127&127)<<2)|0;H=va;z=E;ua=J;while(1){xa=(ua|0)==18;sa=(ua|0)>27?9:1;_a=H;$a=z;while(1){w=0;while(1){ra=w+_a&127;if((ra|0)==(wa|0)){p=92;break}ta=c[j+(ra<<2)>>2]|0;ra=c[35232+(w<<2)>>2]|0;if(ta>>>0<ra>>>0){p=92;break}if(ta>>>0>ra>>>0)break;if((w+1|0)>>>0<2)w=1;else{p=92;break}}if((p|0)==92?(p=0,xa):0)break e;ab=sa+$a|0;if((_a|0)==(wa|0)){_a=wa;$a=ab}else break}xa=(1<<sa)+-1|0;w=1e9>>>sa;bb=_a;cb=0;ra=_a;db=ua;do{ta=j+(ra<<2)|0;qa=c[ta>>2]|0;pa=(qa>>>sa)+cb|0;c[ta>>2]=pa;cb=B(qa&xa,w)|0;qa=(ra|0)==(bb|0)&(pa|0)==0;db=qa?db+-9|0:db;bb=qa?bb+1&127:bb;ra=ra+1&127}while((ra|0)!=(wa|0));if(cb|0){if((o|0)!=(bb|0))break;c[I>>2]=c[I>>2]|1}H=bb;z=ab;ua=db}c[j+(wa<<2)>>2]=cb;va=bb;E=ab;J=db;wa=o}J=0;eb=0.0;E=wa;while(1){va=J+_a&127;x=E+1&127;if((va|0)==(E|0)){c[j+(x+-1<<2)>>2]=0;fb=x}else fb=E;eb=eb*1.0e9+ +((c[j+(va<<2)>>2]|0)>>>0);J=J+1|0;if((J|0)==2)break;else E=fb}gb=+(g|0);hb=eb*gb;E=$a+53|0;J=E-f|0;wa=(J|0)<(e|0);va=wa?((J|0)>0?J:0):e;if((va|0)<53){ib=+nt(+lt(1.0,105-va|0),hb);jb=+rt(hb,+lt(1.0,53-va|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}x=_a+2&127;if((x|0)!=(fb|0)){ua=c[j+(x<<2)>>2]|0;do if(ua>>>0>=5e8){if((ua|0)!=5e8){nb=gb*.75+lb;break}if((_a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ua|0)==0?(_a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-va|0)>1?!(+rt(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((E&2147483647|0)>(-2-k|0)){ua=!(+u(+gb)>=9007199254740992.0);x=$a+((ua^1)&1)|0;eb=ua?gb:gb*.5;if((x+50|0)<=(l|0)?!(ob!=0.0&(wa&((va|0)!=(J|0)|ua))):0){pb=x;qb=eb;break}c[(gt()|0)>>2]=34;pb=x;qb=eb}else{pb=$a;qb=gb}while(0);za=+st(qb,pb)}while(0);Ia=i;return +za}function zu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+104|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Yt(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Yt(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=j;o=f;p=i;m=12}break}default:{n=h;o=0;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=n;n=0;while(1){n=p+-48+(n*10|0)|0;h=c[e>>2]|0;if(h>>>0<(c[g>>2]|0)>>>0){c[e>>2]=h+1;q=d[h>>0]|0}else q=Yt(a)|0;r=q+-48|0;if(!(r>>>0<10&(n|0)<214748364))break;else p=q}p=((n|0)<0)<<31>>31;if(r>>>0<10){r=n;h=p;i=q;while(1){q=Nv(r|0,h|0,10,0)|0;f=G()|0;j=Hv(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;r=Hv(j|0,G()|0,q|0,f|0)|0;h=G()|0;f=c[e>>2]|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;s=d[f>>0]|0}else s=Yt(a)|0;t=s+-48|0;if(!(t>>>0<10&((h|0)<21474836|(h|0)==21474836&r>>>0<2061584302)))break;else i=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Yt(a)|0}while((u+-48|0)>>>0<10);v=r;w=h}else{v=r;w=h}}else{v=n;w=p}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;p=(o|0)==0;o=Iv(0,0,v|0,w|0)|0;n=G()|0;k=p?w:n;l=p?v:o}if((m|0)==14)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;k=-2147483648;l=0}F(k|0);return l|0}function Au(a,b){a=a|0;b=b|0;return +(+vu(a,b,1))}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Wv(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=h;h=d;do{j=i&255;k=f+(j>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(j&31);h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0)}i=a[b>>0]|0;if(!(i<<24>>24))l=b;else{h=i;i=b;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=uu(b,g<<24>>24)|0;Ia=e;return l-b|0}function Cu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+16|0;i=h;j=(g|0)==0?3196360:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(Du()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[33584+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=o;r=n;s=e+1|0;l=11}}else{q=g;r=f;s=e;l=11}b:do if((l|0)==11){n=d[s>>0]|0;o=n>>>3;if((o+-16|o+(q>>26))>>>0>7){l=19;break a}o=n+-128|q<<6;n=r+-1|0;if((o|0)<0){t=n;u=o;v=s;while(1){v=v+1|0;if(!t){p=u;break b}w=a[v>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=t+-1|0;if((x|0)>=0){y=w;z=x;break}else{t=w;u=x}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(gt()|0)>>2]=84;k=-1}Ia=h;return k|0}function Du(){return Rt()|0}function Eu(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Fu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(nu(104882,a[d>>0]|0)|0){i=Gu(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=ft(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=Hu(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(gt()|0)>>2]=22;j=0}Ia=e;return j|0}function Gu(b){b=b|0;var c=0,d=0,e=0,f=0;c=(nu(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(nu(b,120)|0)==0;f=c?e:e|128;e=(nu(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Hu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(nu(104882,a[d>>0]|0)|0){k=Ys(1176)|0;if(!k)l=0;else{Wv(k|0,0,144)|0;if(!(nu(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(nu(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+152;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=5;c[k+36>>2]=4;c[k+40>>2]=1;c[k+12>>2]=1;if(!(c[799075]|0))c[k+76>>2]=-1;Iu(k)|0;l=k}}else{c[(gt()|0)>>2]=22;l=0}Ia=e;return l|0}function Iu(a){a=a|0;var b=0,d=0;b=Ju()|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;Ku();return a|0}function Ju(){W(3196364);return 3196372}function Ku(){fa(3196364);return}function Lu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=Et(a)|0;else b=0;Mu(a);d=(c[a>>2]&1|0)!=0;if(!d){e=Ju()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;Ku()}h=Nu(a)|0;e=La[c[a+12>>2]&255](a)|0|h;h=c[a+96>>2]|0;if(h|0)Zs(h);if(d){if(b|0)Ft(a)}else Zs(a);return e|0}function Mu(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;d=a+128|0;if(b|0)c[b+128>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(Pu()|0)+232|0;else e=a+132|0;c[e>>2]=b}return}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Ou(a)|0;break}d=(Et(a)|0)==0;e=Ou(a)|0;if(d)b=e;else{Ft(a);b=e}}else{if(!(c[8746]|0))f=0;else f=Nu(c[8746]|0)|0;e=c[(Ju()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Et(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Ou(d)|0|e;else i=e;if(h|0)Ft(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Ku();b=g}while(0);return b|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0){j=g-i|0;Pa[c[a+40>>2]&3](a,j,((j|0)<0)<<31>>31,1)|0;G()|0}c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Pu(){return Rt()|0}function Qu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Et(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)Ft(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Mt(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0?r:k;Vv(l|0,m|0,p|0)|0;m=(c[i>>2]|0)+p|0;c[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){q=_t(f)|0;if((q|0)<0)break;else v=q}else{c[i>>2]=m+1;v=d[m>>0]|0}m=s+1|0;a[s>>0]=v;k=r+-1|0;if((v&255|0)==10|(k|0)==0){t=m;u=17;break a}else l=m}if((s|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=b;u=17}while(0);if((u|0)==17)if(!b)w=0;else{a[t>>0]=0;w=b}if(!g)j=w;else{Ft(f);j=w}}return j|0}function Ru(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{Ft(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function Su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=Tu(a,b,f)|0;Ia=e;return d|0}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+144|0;f=e;Wv(f|0,0,144)|0;c[f+32>>2]=6;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Vu(f,b,d)|0;Ia=e;return a|0}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;return Yu(a,b,c)|0}function Vu(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;j=Ia;Ia=Ia+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=Et(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+104|0;s=e+120|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=0;A=p;B=0;C=0;D=0;E=h;F=0;b:while(1){c:do if(!(Zt(A&255)|0)){H=(a[E>>0]|0)==37;d:do if(H){I=E+1|0;J=a[I>>0]|0;e:do switch(J<<24>>24){case 37:{break d;break}case 42:{K=0;L=E+2|0;break}default:{if(vt(J&255)|0?(a[E+2>>0]|0)==36:0){K=Wu(i,(d[I>>0]|0)+-48|0)|0;L=E+3|0;break e}M=(c[i>>2]|0)+(4-1)&~(4-1);N=c[M>>2]|0;c[i>>2]=M+4;K=N;L=I}}while(0);if(!(vt(d[L>>0]|0)|0)){O=L;P=0}else{I=L;J=0;while(1){N=(J*10|0)+-48+(d[I>>0]|0)|0;M=I+1|0;if(!(vt(d[M>>0]|0)|0)){O=M;P=N;break}else{I=M;J=N}}}J=a[O>>0]|0;I=O+1|0;if(J<<24>>24==109){Q=0;R=a[I>>0]|0;S=(K|0)!=0&1;T=O+2|0;U=I;V=0}else{Q=z;R=J;S=0;T=I;U=O;V=F}switch(R<<24>>24){case 104:{I=(a[T>>0]|0)==104;W=I?U+2|0:T;X=I?-2:-1;break}case 108:{I=(a[T>>0]|0)==108;W=I?U+2|0:T;X=I?3:1;break}case 106:{W=T;X=3;break}case 116:case 122:{W=T;X=1;break}case 76:{W=T;X=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{W=U;X=0;break}default:{Y=Q;Z=V;_=143;break b}}I=d[W>>0]|0;J=(I&47|0)==3;N=J?I|32:I;I=J?1:X;J=N&255;switch(J<<24>>24){case 99:{$=B;aa=C;ba=(P|0)>1?P:1;break}case 91:{$=B;aa=C;ba=P;break}case 110:{Xu(K,I,B,C);ca=Q;da=B;ea=C;fa=D;ga=W;ha=V;break c;break}default:{Wt(e,0,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;ia=d[M>>0]|0}else ia=Yt(e)|0}while((Zt(ia)|0)!=0);if(!(c[r>>2]|0))ja=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ja=M}M=s;ka=ja-(c[t>>2]|0)|0;la=Hv(c[M>>2]|0,c[M+4>>2]|0,B|0,C|0)|0;M=Hv(la|0,G()|0,ka|0,((ka|0)<0)<<31>>31|0)|0;$=M;aa=G()|0;ba=P}}M=((ba|0)<0)<<31>>31;Wt(e,ba,M);ka=c[q>>2]|0;la=c[r>>2]|0;if(ka>>>0<la>>>0){c[q>>2]=ka+1;ma=la}else{if((Yt(e)|0)<0){Y=Q;Z=V;_=143;break b}ma=c[r>>2]|0}if(ma|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(J<<24>>24){case 91:case 99:case 115:{la=(N|0)==99;g:do if((N|16|0)==115){Wv(l|0,-1,257)|0;a[l>>0]=0;if((N|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;na=W}else na=W}else{ka=W+1|0;oa=(a[ka>>0]|0)==94;pa=oa&1;qa=oa?W+2|0:ka;Wv(l|0,pa|0,257)|0;a[l>>0]=0;switch(a[qa>>0]|0){case 45:{ka=(pa^1)&255;a[w>>0]=ka;ra=ka;sa=qa+1|0;break}case 93:{ka=(pa^1)&255;a[x>>0]=ka;ra=ka;sa=qa+1|0;break}default:{ra=(pa^1)&255;sa=qa}}qa=sa;while(1){pa=a[qa>>0]|0;h:do switch(pa<<24>>24){case 0:{Y=Q;Z=V;_=143;break b;break}case 93:{na=qa;break g;break}case 45:{ka=qa+1|0;oa=a[ka>>0]|0;switch(oa<<24>>24){case 93:case 0:{ta=45;ua=qa;break h;break}default:{}}va=a[qa+-1>>0]|0;if((va&255)<(oa&255)){wa=va&255;do{wa=wa+1|0;a[l+wa>>0]=ra;va=a[ka>>0]|0}while(wa>>>0<(va&255)>>>0);ta=va;ua=ka}else{ta=oa;ua=ka}break}default:{ta=pa;ua=qa}}while(0);a[l+((ta&255)+1)>>0]=ra;qa=ua+1|0}}while(0);qa=la?ba+1|0:31;pa=(I|0)==1;wa=(S|0)!=0;i:do if(pa){if(wa){va=Ys(qa<<2)|0;if(!va){Y=0;Z=0;_=143;break b}else xa=va}else xa=K;c[k>>2]=0;c[y>>2]=0;va=xa;ya=0;za=qa;j:while(1){Aa=(va|0)==0;Ba=ya;while(1){k:while(1){Ca=c[q>>2]|0;if(Ca>>>0<(c[r>>2]|0)>>>0){c[q>>2]=Ca+1;Da=d[Ca>>0]|0}else Da=Yt(e)|0;if(!(a[l+(Da+1)>>0]|0))break j;a[n>>0]=Da;switch(Cu(m,n,1,k)|0){case -1:{Y=va;Z=0;_=143;break b;break}case -2:break;default:break k}}if(Aa)Ea=Ba;else{c[va+(Ba<<2)>>2]=c[m>>2];Ea=Ba+1|0}if(wa&(Ea|0)==(za|0))break;else Ba=Ea}za=za<<1|1;Aa=$s(va,za<<2)|0;if(!Aa){Y=va;Z=0;_=143;break b}else{va=Aa;ya=Ea}}if(!(Eu(k)|0)){Y=va;Z=0;_=143;break b}else{Fa=va;Ga=Ba;Ha=0;Ja=va}}else{if(wa){ya=Ys(qa)|0;if(!ya){Y=0;Z=0;_=143;break b}za=0;Aa=qa;ka=ya;while(1){ya=za;do{oa=c[q>>2]|0;if(oa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=oa+1;Ka=d[oa>>0]|0}else Ka=Yt(e)|0;if(!(a[l+(Ka+1)>>0]|0)){Fa=0;Ga=ya;Ha=ka;Ja=0;break i}oa=ya;ya=ya+1|0;a[ka+oa>>0]=Ka}while((ya|0)!=(Aa|0));Aa=Aa<<1|1;oa=$s(ka,Aa)|0;if(!oa){Y=0;Z=ka;_=143;break b}else{za=ya;ka=oa}}}if(!K)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;La=d[ka>>0]|0}else La=Yt(e)|0;if(!(a[l+(La+1)>>0]|0)){Fa=0;Ga=0;Ha=0;Ja=0;break i}}ka=0;while(1){za=c[q>>2]|0;if(za>>>0<(c[r>>2]|0)>>>0){c[q>>2]=za+1;Ma=d[za>>0]|0}else Ma=Yt(e)|0;if(!(a[l+(Ma+1)>>0]|0)){Fa=0;Ga=ka;Ha=K;Ja=0;break i}a[K+ka>>0]=Ma;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Na=c[q>>2]|0;else{qa=(c[q>>2]|0)+-1|0;c[q>>2]=qa;Na=qa}qa=s;ka=Na-(c[t>>2]|0)|0;za=Hv(c[qa>>2]|0,c[qa+4>>2]|0,ka|0,((ka|0)<0)<<31>>31|0)|0;ka=G()|0;if((za|0)==0&(ka|0)==0){Oa=Fa;Pa=S;Qa=D;Ra=Ha;break b}if(!((za|0)==(ba|0)&(ka|0)==(M|0)|la^1)){Oa=Fa;Pa=S;Qa=D;Ra=Ha;break b}do if(wa)if(pa){c[K>>2]=Ja;break}else{c[K>>2]=Ha;break}while(0);if(la){Sa=Fa;Ta=na;Ua=Ha}else{if(Ja|0)c[Ja+(Ga<<2)>>2]=0;if(!Ha){Sa=Fa;Ta=na;Ua=0;break f}a[Ha+Ga>>0]=0;Sa=Fa;Ta=na;Ua=Ha}break}case 120:case 88:case 112:{Va=16;_=131;break}case 111:{Va=8;_=131;break}case 117:case 100:{Va=10;_=131;break}case 105:{Va=0;_=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Wa=+wu(e,I,0);pa=s;wa=c[pa>>2]|0;ka=c[pa+4>>2]|0;pa=(c[q>>2]|0)-(c[t>>2]|0)|0;za=Iv(0,0,pa|0,((pa|0)<0)<<31>>31|0)|0;if((wa|0)==(za|0)&(ka|0)==(G()|0)){Oa=Q;Pa=S;Qa=D;Ra=V;break b}if(!K){Sa=Q;Ta=W;Ua=V}else switch(I|0){case 0:{f[K>>2]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}case 1:{g[K>>3]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}case 2:{g[K>>3]=Wa;Sa=Q;Ta=W;Ua=V;break f;break}default:{Sa=Q;Ta=W;Ua=V;break f}}break}default:{Sa=Q;Ta=W;Ua=V}}while(0);do if((_|0)==131){_=0;M=Xt(e,Va,0,-1,-1)|0;J=G()|0;ka=s;za=c[ka>>2]|0;wa=c[ka+4>>2]|0;ka=(c[q>>2]|0)-(c[t>>2]|0)|0;pa=Iv(0,0,ka|0,((ka|0)<0)<<31>>31|0)|0;if((za|0)==(pa|0)&(wa|0)==(G()|0)){Oa=Q;Pa=S;Qa=D;Ra=V;break b}if((K|0)!=0&(N|0)==112){c[K>>2]=M;Sa=Q;Ta=W;Ua=V;break}else{Xu(K,I,M,J);Sa=Q;Ta=W;Ua=V;break}}while(0);I=s;N=(c[q>>2]|0)-(c[t>>2]|0)|0;J=Hv(c[I>>2]|0,c[I+4>>2]|0,$|0,aa|0)|0;I=Hv(J|0,G()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=Sa;da=I;ea=G()|0;fa=D+((K|0)!=0&1)|0;ga=Ta;ha=Ua;break c}while(0);I=E+(H&1)|0;Wt(e,0,0);N=c[q>>2]|0;if(N>>>0<(c[r>>2]|0)>>>0){c[q>>2]=N+1;Xa=d[N>>0]|0}else Xa=Yt(e)|0;if((Xa|0)!=(d[I>>0]|0)){_=23;break b}N=Hv(B|0,C|0,1,0)|0;ca=z;da=N;ea=G()|0;fa=D;ga=I;ha=F}else{I=E;while(1){N=I+1|0;if(!(Zt(d[N>>0]|0)|0))break;else I=N}Wt(e,0,0);do{H=c[q>>2]|0;if(H>>>0<(c[r>>2]|0)>>>0){c[q>>2]=H+1;Ya=d[H>>0]|0}else Ya=Yt(e)|0}while((Zt(Ya)|0)!=0);if(!(c[r>>2]|0))Za=c[q>>2]|0;else{H=(c[q>>2]|0)+-1|0;c[q>>2]=H;Za=H}H=s;N=Za-(c[t>>2]|0)|0;J=Hv(c[H>>2]|0,c[H+4>>2]|0,B|0,C|0)|0;H=Hv(J|0,G()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=z;da=H;ea=G()|0;fa=D;ga=I;ha=F}while(0);E=ga+1|0;A=a[E>>0]|0;if(!(A<<24>>24)){_a=fa;break a}else{z=ca;B=da;C=ea;D=fa;F=ha}}if((_|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((D|0)!=0|(Xa|0)>-1){_a=D;break}else{$a=z;ab=0;bb=F;_=144}}else if((_|0)==143)if(!D){$a=Y;ab=S;bb=Z;_=144}else{Oa=Y;Pa=S;Qa=D;Ra=Z}if((_|0)==144){Oa=$a;Pa=ab;Qa=-1;Ra=bb}if(!Pa)_a=Qa;else{Zs(Ra);Zs(Oa);_a=Qa}}else _a=0;while(0);if(o|0)Ft(e);Ia=j;return _a|0}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Ia=d;return f|0}function Xu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=Mt(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;Vv(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;return $u(a,b,((b|0)<0)<<31>>31,c)|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=zt(a,b,f)|0;Ia=e;return d|0}function $u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((c[a+76>>2]|0)>-1){f=(Et(a)|0)==0;g=av(a,b,d,e)|0;if(f)h=g;else{Ft(a);h=g}}else h=av(a,b,d,e)|0;return h|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)==1){f=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;g=Iv(b|0,d|0,f|0,((f|0)<0)<<31>>31|0)|0;h=g;i=G()|0}else{h=b;i=d}d=a+20|0;b=a+28|0;if((c[d>>2]|0)>>>0>(c[b>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[d>>2]|0)==0):0)j=-1;else{c[a+16>>2]=0;c[b>>2]=0;c[d>>2]=0;Pa[c[a+40>>2]&3](a,h,i,e)|0;if((G()|0)<0)j=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;j=0}}return j|0}function bv(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=nu(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=cv(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=dv(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=ev(e,c)|0;break}else{f=fv(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function cv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=c;i=(d[b>>0]|0)<<8|f&255;while(1){j=i&65535;if((j|0)==(e|0))break;k=h+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=k;i=j<<8|l&255}}g=h+-1|0}while(0);return g|0}function dv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function ev(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function fv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ia;Ia=Ia+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=i;k=0;do{if(!(a[b+k>>0]|0)){l=0;break a}m=j&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);k=k+1|0;c[h+(m<<2)>>2]=k;j=a[e+k>>0]|0}while(j<<24>>24!=0);j=k>>>0>1;if(j){m=1;n=-1;o=0;p=1;q=1;while(1){r=a[e+(p+n)>>0]|0;s=a[e+m>>0]|0;do if(r<<24>>24==s<<24>>24)if((p|0)==(q|0)){t=n;u=q+o|0;v=1;w=q;break}else{t=n;u=o;v=p+1|0;w=q;break}else if((r&255)>(s&255)){t=n;u=m;v=1;w=m-n|0;break}else{t=o;u=o+1|0;v=1;w=1;break}while(0);m=v+u|0;if(m>>>0>=k>>>0)break;else{n=t;o=u;p=v;q=w}}if(j){q=1;p=-1;o=0;n=1;m=1;while(1){s=a[e+(n+p)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((n|0)==(m|0)){x=p;y=m+o|0;z=1;A=m;break}else{x=p;y=o;z=n+1|0;A=m;break}else if((s&255)<(r&255)){x=p;y=q;z=1;A=q-p|0;break}else{x=o;y=o+1|0;z=1;A=1;break}while(0);q=z+y|0;if(q>>>0>=k>>>0){B=t;C=x;D=k;E=w;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=-1;D=k;E=w;F=1;G=25}}else{B=-1;C=-1;D=k;E=1;F=1;G=25}}else{B=-1;C=-1;D=0;E=1;F=1;G=25}while(0);b:do if((G|0)==25){w=(C+1|0)>>>0>(B+1|0)>>>0;t=w?F:E;A=w?C:B;w=A+1|0;if(!(tt(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0<D>>>0){m=Mt(u,0,t)|0;if(m)if((m-i|0)>>>0<D>>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=D;M=0}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=y&(v|0)!=0&m>>>0<I>>>0?J:m;M=0;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=o;q=n;while(1){if(p<<24>>24!=(a[x+q>>0]|0))break;j=q+1|0;p=a[e+j>>0]|0;if(!(p<<24>>24))break d;else q=j}L=q-A|0;M=0;break c}while(0);if(!m){l=x;break b}n=w;while(1){n=n+-1|0;if((a[e+n>>0]|0)!=(a[x+n>>0]|0)){L=I;M=H;break c}if(n>>>0<=v>>>0){l=x;break b}}}while(0);x=x+L|0;v=M;u=K}}while(0);Ia=f;return l|0}function gv(a,b){a=a|0;b=b|0;var c=0;c=bu(a)|0;return ((hv(a,1,c,b)|0)!=(c|0))<<31>>31|0}function hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(Et(e)|0)==0;h=St(a,f,e)|0;if(d)i=h;else{Ft(e);i=h}}else i=St(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function iv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Tt(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((Oa[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ia=f;return m|0}function jv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=b;i=e;j=d;while(1){k=a[j>>0]|0;a[h>>0]=k;if(!(k<<24>>24)){l=h;m=i;break a}k=i+-1|0;n=j+1|0;o=h+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=o;i=k;j=n}else{q=o;r=k;s=n;t=p;break}}}else{q=b;r=e;s=d;t=g}if(t)if(!(a[s>>0]|0)){l=q;m=r}else{b:do if(r>>>0>3){j=r;i=q;h=s;while(1){p=c[h>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=j;v=i;w=h;break b}c[i>>2]=p;p=j+-4|0;n=h+4|0;k=i+4|0;if(p>>>0>3){j=p;i=k;h=n}else{u=p;v=k;w=n;break}}}else{u=r;v=q;w=s}while(0);x=v;y=u;z=w;A=13}else{l=q;m=0}}else{x=b;y=e;z=d;A=13}while(0);c:do if((A|0)==13)if(!y){l=x;m=0}else{d=x;e=y;b=z;while(1){q=a[b>>0]|0;a[d>>0]=q;if(!(q<<24>>24)){l=d;m=e;break c}e=e+-1|0;q=d+1|0;if(!e){l=q;m=0;break}else{d=q;b=b+1|0}}}while(0);Wv(l|0,0,m|0)|0;return l|0}function kv(a,b,c){a=a|0;b=b|0;c=c|0;jv(a,b,c)|0;return a|0}function lv(b,c){b=b|0;c=c|0;var d=0;d=b+(Bu(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function mv(a){a=a|0;return nv(a,c[8745]|0)|0}function nv(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?(Et(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=iv(d,b)|0;Ft(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=iv(d,b)|0}while(0);return j|0}function ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;d=pv(a)|0;e=G()|0;if(b){f=e;g=d}else{Ft(a);f=e;g=d}}else{d=pv(a)|0;f=G()|0;g=d}F(f|0);return g|0}function pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=Pa[c[a+40>>2]&3](a,0,0,b)|0;b=G()|0;if((b|0)<0){e=b;f=d}else{g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;h=Iv(d|0,b|0,g|0,((g|0)<0)<<31>>31|0)|0;g=G()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;a=Hv(h|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;e=G()|0;f=a}F(e|0);return f|0}function qv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8745]|0;if((c[d+76>>2]|0)>-1)e=Et(d)|0;else e=0;do if((gv(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(iv(d,10)|0)>>31}while(0);if(e|0)Ft(d);return f|0}function rv(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Et(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=_t(a)|0;Ft(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=_t(a)|0;break}}while(0);return g|0}function sv(a){a=a|0;var b=0,d=0;b=ov(a)|0;a=G()|0;if((a|0)>0|(a|0)==0&b>>>0>2147483647){c[(gt()|0)>>2]=75;d=-1}else d=b;return d|0}function tv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=Et(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;Vv(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=b+l|0;n=g-l|0}else{m=b;n=g}a:do if(!n)o=13;else{b=f+32|0;l=m;j=n;while(1){if($t(f)|0)break;e=Oa[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)Ft(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Ft(f);p=h}return p|0}function uv(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Et(a)|0)==0;av(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Ft(a)}else{av(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;b=zt(c[8745]|0,a,e)|0;Ia=d;return b|0}function wv(a,b,c){a=a|0;b=b|0;c=c|0;return au(a,b)|0}function xv(a,b){a=a|0;b=b|0;yv()|0;return wv(a,b,0)|0}function yv(){return Rt()|0}function zv(a){a=a|0;var b=0;if(!(Av(a)|0))b=(vt(a)|0)!=0&1;else b=1;return b|0}function Av(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Bv(){return 35240}function Cv(){V(3196392);return}function Dv(){return 3196376}function Ev(){return 3196384}function Fv(){return 3196388}function Gv(){return 3196392}function Hv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function Iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function Jv(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function Kv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=Jv(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Jv(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=Hv(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Iv(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Iv(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function Lv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Iv(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return Iv((Kv(i,b,Iv(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function Mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Mv(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function Ov(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kv(a,b,c,d,0)|0}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(((b|0)<0?-1:0)|0);return b>>c-32|0}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(0);return b>>>c-32|0}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}F(a<<c-32|0);return 0}function Sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=$s(d|0,8*(e+1|0)|0)|0;d=Sv(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Uv(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Vv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ta(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Xv(a){a=a|0;var b=0,d=0,e=0;b=ra()|0;d=c[i>>2]|0;e=d+a|0;if((a|0)>0&(e|0)<(d|0)|(e|0)<0){Ha(e|0)|0;X(12);return -1}if((e|0)>(b|0))if(!(ua(e|0)|0)){X(12);return -1}c[i>>2]=e;return d|0}function Yv(a,b){a=a|0;b=b|0;return La[a&255](b|0)|0}function Zv(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 Ma[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function _v(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&3](b|0,c|0)|0}function $v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&7](b|0,c|0,d|0)|0}function aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pa[a&3](b|0,c|0,d|0,e|0)|0}function bw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0)|0}function cw(a){a=a|0;Ra[a&1]()}function dw(a,b){a=a|0;b=b|0;Sa[a&7](b|0)}function ew(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&15](b|0,c|0)}function fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&3](b|0,c|0,d|0)}function gw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&0](b|0,c|0,d|0,e|0,f|0)}function hw(a){a=a|0;E(0);return 0}function iw(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;E(1);return 0}function jw(a,b){a=a|0;b=b|0;E(2);return 0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;E(3);return 0}function lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(4);return 0}function mw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(5);return 0}function nw(){E(6)}function ow(a){a=a|0;E(7)}function pw(a,b){a=a|0;b=b|0;E(8)}function qw(a,b,c){a=a|0;b=b|0;c=c|0;E(9)}function rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(10)} 150 + 151 + // EMSCRIPTEN_END_FUNCS 152 + var La=[hw,ct,bb,cb,Xf,_f,di,Yf,$f,ei,$h,fi,gi,hi,ii,cg,Wf,bg,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,qg,pg,rg,sg,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,Rf,Qf,Sf,Tf,Uf,Vf,ag,kg,fk,mg,ug,tg,ng,gk,hk,ik,jk,kk,lk,mk,nk,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw];var Ma=[iw,At];var Na=[jw,Mf,Lm,Mm];var Oa=[kw,it,Vt,Hf,jt,dt,Uu,kw];var Pa=[lw,et,Yk,lw];var Qa=[mw,xk,Bk,mw];var Ra=[nw,Gn];var Sa=[ow,eb,Dm,Em,ls,ow,ow,ow];var Ta=[pw,nn,wc,ce,ge,Nf,gg,hg,Bt,pw,pw,pw,pw,pw,pw,pw];var Ua=[qw,db,ks,qw];var Va=[rw];return{___divdi3:Lv,___emscripten_environ_constructor:Cv,___errno_location:gt,___muldi3:Nv,___udivdi3:Ov,__get_daylight:Ev,__get_environ:Gv,__get_timezone:Fv,__get_tzname:Dv,_bitshift64Ashr:Pv,_bitshift64Lshr:Qv,_bitshift64Shl:Rv,_codo_mixer_callback:Iq,_free:Zs,_i64Add:Hv,_i64Subtract:Iv,_main:Jb,_malloc:Ys,_memcpy:Vv,_memset:Wv,_mix_0:Jr,_realloc:$s,_saveSetjmp:Sv,_sbrk:Xv,_setThrew:Uv,_testSetjmp:Tv,dynCall_ii:Yv,dynCall_iidiiii:Zv,dynCall_iii:_v,dynCall_iiii:$v,dynCall_iiiii:aw,dynCall_iiiiii:bw,dynCall_v:cw,dynCall_vi:dw,dynCall_vii:ew,dynCall_viii:fw,dynCall_viiiii:gw,establishStackSpace:Za,stackAlloc:Wa,stackRestore:Ya,stackSave:Xa}}) 153 + 154 + 155 + // EMSCRIPTEN_END_ASM 156 + (asmGlobalArg,asmLibraryArg,buffer);var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _codo_mixer_callback=Module["_codo_mixer_callback"]=asm["_codo_mixer_callback"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memset=Module["_memset"]=asm["_memset"];var _mix_0=Module["_mix_0"]=asm["_mix_0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_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_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["getValue"]=getValue;Module["getMemory"]=getMemory;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); 157 +
+503
picosky.p8
··· 1 + pico-8 cartridge // http://www.pico-8.com 2 + version 42 3 + __lua__ 4 + -- picosky 5 + -- made by vinnymac ♥ 6 + function r(n)return peek(24448+n)end function h(n,e)poke(24448+n,e)end nt,eu,nc,nl,ni,nf,N,q,nE,e6,nq,dx,dm,d8,e7,es,d9,dy,dp,db,dg,ex,em,e8,e9,ey,ep,eb,dk,dv,dw,dz,eg,ek,ev,na,C,dj,dJ=0,1,2,3,4,5,6,7,119,0,1,16,17,18,19,20,32,33,34,35,36,48,49,50,51,52,65,66,53,54,55,56,57,255,254,{},"",{},{}function nV(o,t,n)n=n or""local e=max(1,ceil(#n/nE))for c=1,e do local d=sub(n,1,nE)n=sub(n,#d+1)add(na,{E=o,q=t or 0,V=c,R=e,k=d})end end function ew(n)h(nf,n.E)h(N,n.q)h(nc,n.V)h(nl,n.R)h(ni,#n.k)for e=1,#n.k do local n=sub(n.k,e,e)local d=ord(n)or 32if(n=="\n")d=0 7 + h(q+e-1,d)end end function ez()h(nf,0)h(N,0)h(nc,0)h(nl,0)h(ni,0)end function ej()local e=r(nf)if(e==0)return 8 + if(e==eb)eJ(r(q),r(q+1),r(q+2),r(q+3),r(q+4),r(N))return 9 + local d,o,t,n=r(nc),r(nl),r(ni),""for e=1,t do local e=r(q+e-1)if e==0do n=n.."\n"elseif e==ek do n=n.."¹"elseif e==ev do n=n.."²"else n=n..chr(e)end end C=C..n if(d>=o)local n=C C=""eP(e,r(N),n) 10 + end function eL()if(r(nt)~=e6)return 11 + ej()if(#na>0)ew(deli(na,1))else ez() 12 + h(eu,i)h(nt,nq)end n2,V,z,A,G,H,n=0,1,2,3,4,5,6i,nr,e,n4,nR,nT,o,j=n,-1,-1,1,false,false,{},{}l,c,m,nB,nA,n5,I,K,p,n3,nh,nO,nS,u,nu,n6,nQ,n7,d,nN,nC,nG,x,ns,s,nx,nm,nH,nI=o,1,0,1,0,false,false,0,true,false,"connecting to bluesky...",0,0,"",0,0,"",300,0,-1,-1,-1,{"following"},{"following"},1,1,-1,0,0function n8(n)nh,nO=n,time()end function eF(n)local n=split(n,"¹",false)return{g=n[1]or"?",z=n[2]or"",j=n[3]or"",v=n[4]or"",J=n[5]or"0",P=n[6]or"0",m=n[7]or"0",c=tonum(n[8])or 0,l=tonum(n[9])or 0,h=(tonum(n[10])or 0)==1and 1or 0,u=n[11]or"",f=(tonum(n[12])or 0)==1,y=n[13]or"",x=(tonum(n[14])or 0)==1,o=nil}end function M(e,d)for n in all{o,j}do for n in all(n)do if(n.c==e)d(n) 13 + end end end function nK(e)local n={}for e in all(e)do add(n,e>>4&15)add(n,e&15)end return n end function dP(e,d)local n M(e,function(e)n=n or nK(d)e.p,e.h=n,2end)end function dL(n)M(n,function(n)n.h=0end)end function dF(e,d)local n M(e,function(e)n=n or nK(d)e.o=n end)end function eP(n,d,e)if(n==ep)nM()return 14 + do return end if n==ex do if(not I)add(l,eF(e))p=false 15 + elseif n==em do if I do I=false else p,n3=false,d~=0if(#l>0)sfx(8) 16 + if i==z and K>0do for n=1,#j do if(j[n].c==K)c,m=n,max(0,n-2)break 17 + end K=0end end elseif n==e9 do n8"posted!"n9()sfx(6)b(true)elseif n==e8 do p=false n8(sub(e,1,40))sfx(7)if(#u>0)i=A poke(24365,1) 18 + elseif n==eg do local n=split(e,"¹",false)x,ns={},{}for e=1,#n,2do add(x,n[e])add(ns,n[e+1])end s=mid(1,s,#x)nx,nm=s,-1elseif n==ey do i=G end end function b(n)i,l=V,o if(n)o={}l,c,m,p=o,1,0,true eD()else c,m,n5=nB,nA,true 19 + end function ny(n,e)nB,nA=c,m if(p)I=true 20 + K,i,j=e or 0,z,{}l,c,m,p=j,1,0,true eE(n)end function O(n,e,d)i,nu,n6,nQ,u=A,n or 0,e or 0,d or"",""poke(24365,1)end function n9()u,nu,n6="",0,0end function eq()if(#u==0)return 21 + eV()end function eR()end do function eT(e)local n M(e,function(e)n=n or e end)return n end function g(e,d)local n={}for o=0,15do for t=0,15do add(n,sget(e+t,d+o))end end return n end function U(n,e,d,o,t,c,l,i)return{g=n,z=e,j=d,v=o,J=t,P=c,m=l,c=i,l=0,h=0,i=false,s=0,L=3,f=false,x=false,o=nil,u="",y=""}end local n,e="cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcddc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cc6cdcddcdcdcdcdcdcdcdcddcdcdcdcdcdc6cd4dc6cdc6cdc6c6cd4c6c6cdc6cdcdcdc44dc6cdc6cdcdc44dcdcdc6cdcc6c6c6d445c6cdcdc6c44dc6c6cdcdc6dcdcdcc4442dc6c6cd424cdcdcdc6cdcc6c6cd6d445ddd444444dc6c6c6cdc6cdcdcdccddcdd49489444ddcdcdcdc6cdc6cdc6c6cd9444444494446c6cdc6cdcdcdc6cdcd4454494984544dcdc6cdcdcc6cdcdc6d40652444406529dcdcdc6cddc6c6cdc492004494420044dc6c6cdc6cdcdcdc64444449849444444cdcdc6cdc6c6c6cd444444405444494ec6c6cdc6dcdcdcdc494947100df4444ddcdcdcdcc6cdc6c6d4847f7d6f7f494c6c6c6c6cdcdc6cdcc49477f7777444d6cdcdcdcdc6cdcdc6dc44f7767f7494dcdc6cdc6cdc6c6cdcce494f67f6f4449c6cdc6cdccdcdcdc6d44444f77f69448dcdcdcdcdc6cdc6cdc4944776767f4944444ec6c6dc6cdcdc6448f777f767444949444cdccdcdc6cdc449767677f7f448444984cd353535353494f77f777649494984495333b5b35b55444f776749444444977f535b535b53b34944f77f4449894476776335b5b5b5354444f6f44944444f77f77d35335335b59fff4774ffe4949767767d3b5b5b5b5b67776d6f777e444f77677d535b533535f767db3f767d449477f7633b5335b33b567db5b567db3454df7633","00000000000000000000000000000000000000000000000000000000000000000000010010010010010010010010000000010000000000000000000000000100000000010010010010010015d500000000100100000000000000005771001000000000001005001005001067d00000100001001000000000000005771001000000000000500010050010067d000001000010050000100000000057750010000000000000000005000100d7d000005000000100010010000000057750010000000000010000001001050d7600000001000010000500500000001f750001010000000010000000010010d76001000000100010000100010000007750000010000000000500010000500d7610010000500000010000000050001f7500000010000000000010050000005761001000000100001000055510000077d00000100500000000100555500105770010000000001000100005551000067d00001050001000000010051510005771001000001000000000000000001067d0000000000001000010100000000577100101010105000000000050010101510000000000000010000100000000000000100500500000000000001001000000100000000001001000101000000500100005000010000000000000105000000001000010000500000000100000001005000010001000000000000000000000000000000000000000"function nU(n)local e={}for d=1,#n do add(e,tonum("0x"..sub(n,d,d)))end return e end function eD()o={}local d=[[Vincent|vinnymac.dev|1m|welcome to picosky! these posts live right inside the cart. press d for the credits. tap the tv icon to toggle crt. this text is intentionally long so you can test expand and collapse.|42|7|3|1 22 + Jay|jay.bsky.team|31m|custom feeds are the best thing we shipped. lexicon composability makes it possible.|203|37|14|5 23 + Vincent|vinnymac.dev|30m|this is why i built picosky :)|8|1|0|5001 24 + Bluesky|bsky.app|17m|the firehose flows even when you're not watching.|894|201|76|4 25 + zep.p8|lexaloffle.bsky.social|4m|pico-8 + bluesky. who would've thought.|128|19|11|2 26 + Emily Liu|emilyliu.me|3m|agreed - tiny client. big protocol.|4|0|0|2001 27 + Paul Frazee|pfrazee.com|9m|atproto keeps getting more interesting the deeper you go.|311|48|22|3 28 + Jay|jay.bsky.team|8m|this is why we open-sourced everything from day one.|6|1|0|3001 29 + Emily Liu|emilyliu.me|45m|just finished this little illustration. fall feels.|167|29|8|6 30 + Danabra|danabra.mov|1h|motion is the message|88|12|5|7 31 + Daniel Roe|danielroe.dev|1h 20m|once you go npmx it is hard to go back. dont get me started on the graphs.|112|18|9|10 32 + npmx|npmx.dev|2h|the ecosystem is finally growing up. everyone's shipping smaller and faster.|88|14|7|9 33 + bnewbold|bnewbold.net|2h 30m|lexicon design is hard. every field name you pick haunts you.|74|9|6|8]]for n in all(split(d,"\n"))do local n=split(n,"|",false)n[8]+=0add(o,U(unpack(n)))end o[3].l=1o[6].l=1o[6].o=g(0,80)o[8].l=1o[8].o=g(0,64)o[4].u="AT Protocol Overview"o[9].h=2o[9].p=nU(n)o[9].y="a small red fox curled up in a pile of autumn leaves"o[11].h=2o[11].p=nU(e)o[11].y="the npmx logo"o[2].o=g(0,64)o[5].o=g(0,16)o[7].o=g(0,32)o[9].o=g(0,80)o[10].o=g(0,48)o[11].o=g(0,96)o[12].o,l,p,n3=g(0,112),o,false,false end local n=[[1|Jay|jay.bsky.team|3m|love this. a social client on a fantasy console.|9|1|0|101|3 34 + 1|Emily Liu|emilyliu.me|2m|the crt mode. instant follow.|5|0|0|102|4 35 + 2|Paul Frazee|pfrazee.com|5m|and we almost didn't ship it. glad we did.|11|1|0|201|1 36 + 2|Danabra|danabra.mov|4m|the crossover i didn't know i needed.|7|0|0|202|2 37 + 3|bnewbold|bnewbold.net|4m|jetstream is right there if you want it.|8|1|0|301|-1 38 + 3|Paul Frazee|pfrazee.com|3m|subscribe at events.feeds.bsky.app|5|0|0|302|1 39 + 4|Vincent|vinnymac.dev|2m|you're looking at it :)|11|2|0|401|-1 40 + 4|Danabra|danabra.mov|1m|the crossover i needed.|7|0|0|402|2 41 + 5|bnewbold|bnewbold.net|3m|wait until you hit lexicon design.|8|1|0|501|-1 42 + 5|Jay|jay.bsky.team|2m|this is why we open-sourced everything.|6|0|0|502|3 43 + 6|Jay|jay.bsky.team|3m|every shipped thing counts.|9|1|0|601|3 44 + 6|Danabra|danabra.mov|2m|the palette. perfection.|8|0|0|602|2 45 + 7|Paul Frazee|pfrazee.com|2m|mcluhan was right.|6|1|0|701|1 46 + 7|Emily Liu|emilyliu.me|1m|motion as narrative. i feel it.|5|0|0|702|4 47 + 8|Paul Frazee|pfrazee.com|3m|still have regrets about 'cid'.|8|1|0|801|1 48 + 8|Jay|jay.bsky.team|2m|every field name is a long-term commitment.|6|0|0|802|3 49 + 9|bnewbold|bnewbold.net|4m|the ecosystem never stops shipping.|5|0|0|901|-1 50 + 9|Emily Liu|emilyliu.me|3m|as a js dev i feel this deeply.|7|1|0|902|4 51 + 10|Paul Frazee|pfrazee.com|4m|i have not looked at npm.im since.|7|1|0|1001|1 52 + 10|Jay|jay.bsky.team|3m|the dependency graph view is genuinely good.|5|0|0|1002|3]]function eE(e)local d=eT(e)j={d or U("?","?","","this post left the demo feed.","0","0","0",e)}for n in all(split(n,"\n"))do local n=split(n,"|",false)if n[1]+0==e do local e=U(n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]+0)e.l=1local n=n[10]+0if(n>=0)e.o=g(0,n*16+16) 53 + add(j,e)end end l,p=j,false end function eV()add(o,U("you","you.demo","now",u,"0","0","0",9000+#o),1)n9()n8"posted!"sfx(6)b(false)end end function eB()poke(22016,4,4,7)local n=split("0x0000.0000,0x0000.0000,0x0202.0202,0x0000.0200,0x0000.0505,0x0000.0000,0x0505.0705,0x0000.0507,0x0407.0106,0x0000.0203,0x0204.0100,0x0000.0401,0x0102.0502,0x0000.0305,0x0000.0102,0x0000.0000,0x0101.0102,0x0000.0201,0x0202.0201,0x0000.0102,0x0205.0000,0x0000.0005,0x0702.0000,0x0000.0002,0x0000.0000,0x0000.0102,0x0700.0000,0x0000.0000,0x0000.0000,0x0000.0200,0x0202.0404,0x0000.0101,0x0505.0506,0x0000.0305,0x0202.0302,0x0000.0702,0x0204.0403,0x0000.0701,0x0403.0403,0x0000.0304,0x0406.0505,0x0000.0404,0x0403.0107,0x0000.0304,0x0503.0106,0x0000.0605,0x0204.0407,0x0000.0202,0x0502.0506,0x0000.0305,0x0605.0503,0x0000.0304,0x0002.0000,0x0000.0002,0x0002.0000,0x0000.0102,0x0102.0400,0x0000.0402,0x0007.0000,0x0000.0007,0x0402.0100,0x0000.0102,0x0204.0403,0x0000.0200,0x0505.0506,0x0000.0601,0x0604.0300,0x0000.0705,0x0505.0301,0x0000.0705,0x0101.0600,0x0000.0701,0x0505.0604,0x0000.0705,0x0705.0600,0x0000.0601,0x0702.0204,0x0000.0202,0x0705.0600,0x0000.0304,0x0505.0301,0x0000.0505,0x0202.0002,0x0000.0202,0x0202.0002,0x0000.0102,0x0305.0101,0x0000.0505,0x0202.0202,0x0000.0402,0x0707.0300,0x0000.0507,0x0505.0300,0x0000.0505,0x0505.0600,0x0000.0305,0x0305.0700,0x0000.0101,0x0705.0600,0x0000.0404,0x0101.0600,0x0000.0101,0x0701.0600,0x0000.0304,0x0207.0202,0x0000.0202,0x0505.0500,0x0000.0705,0x0505.0500,0x0000.0205,0x0705.0500,0x0000.0507,0x0205.0500,0x0000.0505,0x0605.0500,0x0000.0304,0x0204.0700,0x0000.0701,0x0101.0103,0x0000.0301,0x0202.0101,0x0000.0404,0x0202.0203,0x0000.0302,0x0000.0502,0x0000.0000,0x0000.0000,0x0000.0403,0x0000.0201,0x0000.0000,0x0507.0506,0x0000.0505,0x0507.0503,0x0000.0705,0x0101.0106,0x0000.0701,0x0505.0503,0x0000.0305,0x0103.0107,0x0000.0701,0x0301.0106,0x0000.0101,0x0501.0106,0x0000.0705,0x0507.0505,0x0000.0505,0x0202.0207,0x0000.0702,0x0404.0407,0x0000.0304,0x0503.0505,0x0000.0505,0x0101.0101,0x0000.0701,0x0507.0705,0x0000.0505,0x0505.0503,0x0000.0505,0x0505.0506,0x0000.0305,0x0103.0507,0x0000.0101,0x0505.0506,0x0000.0403,0x0503.0507,0x0000.0505,0x0407.0106,0x0000.0304,0x0202.0207,0x0000.0202,0x0505.0505,0x0000.0705,0x0505.0505,0x0000.0205,0x0705.0505,0x0000.0507,0x0202.0505,0x0000.0505,0x0205.0505,0x0000.0202,0x0202.0407,0x0000.0701,0x0302.0204,0x0000.0402,0x0202.0202,0x0000.0202,0x0602.0201,0x0000.0102,0x0704.0000,0x0000.0001,0x0205.0200,0x0000.0000",",",false)for e=0,#n-1do poke4(22272+e*4,tonum(n[e+1]))end for n=520,727do local n=22016+n local e=peek(n)poke(n,peek(n+256))poke(n+256,e)end end function S(n)local e=""for d=1,#n do local o=ord(n,d)e=e..(o>=97and o<=122and chr(o-32)or sub(n,d,d))end return e end function _init()eB()poke(24365,1)d=r(126)>>1&1pal(13,140,1)menuitem(4,"refresh feed",function()b(true)end)menuitem(5,"credits",function()np()end)h(nt,nq)b(true)i=n end function eA()nS+=1if(nS>132or btnp(4)or btnp(5))i=n2 54 + end function _update()eL()if i==n do eA()elseif i==A do eO()elseif i==H do eS()else eQ()end if(i==n2 and#o>0)i=V sfx(9) 55 + local n=r(126)>>1&1if(n~=nN)d,nN=n,n 56 + if(y~=nC)nC=y menuitem(1,nW(),eN) 57 + if(d~=nG)nG=d menuitem(2,nX(),eC) 58 + if(#x>1and s~=nm)nm=s menuitem(3,nY(),eG) 59 + if(s~=nx and i==V)nx=s b(true) 60 + if(i~=e)nr,n4,nR,nT,e=time(),i>e and 1or-1,e==z,e==A,i 61 + h(127,eH()|d<<1)end k,J,W,nZ=false,1,split"reply,repost,quote,like,post,credits",{8,9,14,11,12,15}function X()return r(126)&1>0end function n_()return X()and"🅾️"or"z"end function dD(n)local e,n=W[n],l[c]if(e=="like")return n and n.f and"unlike"or"like" 62 + if(e=="repost")return n and n.x and"unrepost"or"repost" 63 + return e end function e0(e,d,o)local n=tonum(e[d])if(n and n==flr(n))e[d]=tostr(flr(n+o)) 64 + end function en(n)if(not n)return 65 + n.f=not n.f e0(n,"likes",n.f and 1or-1)sfx(n.f and 3or 1)end function ee(n)if(not n)return 66 + n.x=not n.x e0(n,"reposts",n.x and 1or-1)sfx(n.x and 3or 1)end function nb()k=not k if(k)J=1 67 + sfx(0)end function e1()local e,n=W[J],l[c]k=false if e=="reply"do if(n)O(n.c)sfx(3) 68 + elseif e=="like"do en(n)elseif e=="repost"do ee(n)elseif e=="quote"do if(n)O(0,n.c,n.g)sfx(3) 69 + elseif e=="post"do O(0)sfx(3)elseif e=="credits"do np()end end function eH()if i==V or i==z do if(k)local n=W[J]return(n=="post"or n=="quote"or n=="reply")and 1or 0 70 + return 0end return 0end function eQ()local e=i==V or i==z while stat(30)do local n=stat(31)if e and k do if n=="\r"do e1()return elseif n=="•"do nb()return end elseif e and n=="•"and i==z do b(false)sfx(1)return elseif e and(n=="l"or n=="L")do en(l[c])elseif e and(n=="s"or n=="S")do ee(l[c])elseif e and(n=="q"or n=="Q")do local n=l[c]if(n)O(0,n.c,n.g)sfx(3) 71 + elseif n=="t"or n=="T"do d=1-d sfx(0)elseif n=="r"or n=="R"do b(true)elseif n=="d"or n=="D"do np()elseif n=="n"or n=="N"do O(0)sfx(3)end end if e do if k do if(btnp(0))J=max(1,J-1)sfx(0) 72 + if(btnp(1))J=min(#W,J+1)sfx(0) 73 + if(btnp(4))e1() 74 + if(btnp(5))k=false sfx(1) 75 + return end local n=l[c]local e=n and n.i if e do if(btnp(2))if((n.s or 0)>0)n.s-=1sfx(0)else c=max(1,c-1)sfx(0) 76 + if(btnp(3))local e,d=n.a and#n.a or 0,n.L or 3if((n.s or 0)<max(0,e-d))n.s+=1sfx(0)else c=min(max(1,#l),c+1)sfx(0) 77 + else if(btnp(2))c=max(1,c-1)sfx(0) 78 + if(btnp(3))c=min(max(1,#l),c+1)sfx(0) 79 + end if btnp(1)do if n do if(not n.a)n.a=ng(n.v,flr((118-n.l*4)/4)) 80 + local e=#n.a>3if(e and not n.i)n.i,n.s,m=true,0,c-1sfx(0) 81 + end end if(btnp(0))if(n and n.i)n.i,n.s=false,0sfx(0) 82 + if i==V do if(btnp(4))nb() 83 + if btnp(5)and l[c]do local n=l[c]if n.l>0do local e=nil for d=c-1,1,-1do if(l[d].l<n.l)e=l[d]break 84 + end if e do ny(e.c,n.c)sfx(2)elseif n.m~="0"do ny(n.c)sfx(2)end elseif n.m~="0"do ny(n.c)sfx(2)end end elseif i==z do if(btnp(4))nb() 85 + if(btnp(5))b(false)sfx(1) 86 + end if(i==V and c>=max(1,#l-2))eR() 87 + elseif i==G do end if n5 do n5=false else local n=l[c]if n and n.i do m=c-1elseif n do local o,e,d=nk()and 111or 118,12,c>m for n=m+1,c-1do local n=l[n]and l[n].F if(not n)d=false break 88 + e+=n end local n=n.F if(not d or c<=m or e<11or not n or e+n-2>o)m=c-1 89 + end end end function ed()n9()sfx(1)b(false)end function eO()poke(24368,1)if(btnp(4)and btn(5)or btn(4)and btnp(5))poke(24365,1) 90 + while stat(30)do local n=stat(31)if n=="\r"do eq()return elseif n=="•"do ed()return elseif n=="⁸"do if(#u>0)u=sub(u,1,#u-1)sfx(5)else ed()return 91 + elseif n>=" "and#u<n7 do u=u..n sfx(4)end end end function _draw()if(i==H)eI()return 92 + if(i==n)eK()return 93 + if(d==1)pal(0,129,1) 94 + cls(Y())if i==n2 or i==G do eM()elseif i==A do local n=mid(0,(time()-nr)*3,1)local n=1-n*n*(3-2*n)nv(0,0)camera(0,-flr(n*64))rectfill(0,0,127,127,Y())eU()camera()else local n=mid(0,(time()-nr)*3,1)local n=1-n*n*(3-2*n)if(nT)nv(0,0)camera(0,-flr((1-n)*128))rectfill(0,0,127,127,Y())line(0,9,127,9,R())camera()else nv(flr(n*128)*n4,flr((1-n)*8)) 95 + end eW()if(d==1)pal(0,0,1) 96 + end function T(n,e)return d==0and n or e end function Z()return T(1,7)end function R()return T(13,6)end function Y()return T(7,0)end function eX(e,d)for n=0,127do pset(n,e+sin(n/24+time()/3),d)end end function eo()return k and 110or nk()and 111or 118end et={0,4,6,4}function eY()return et[flr(time()*6)%4+1]end function nw(n,e,d,o)if(d)spr(o and eY()or 0,n,e,2,2)else spr(2,n,e) 97 + end function ng(c,d)d=max(1,d)local o,n,e={},"",""local function t()if(#e==0)return 98 + if(#n+#e>d and#n>0)add(o,n)n="" 99 + while#e>d do add(o,sub(e,1,d))e=sub(e,d+1)end n,e=n..e,""end for l=1,#c do local c=sub(c,l,l)if c=="\n"do t()add(o,n)n=""elseif c==" "do t()if(#n<d)n=n.." " 100 + else e=e..c end end t()add(o,n)return o end function ec(e,d,o,n)pal(12,1)pal(13,1)sspr(e,0,16,16,d+1,o+1,n,n)pal(12,12)pal(13,1)sspr(e,0,16,16,d,o,n,n)pal(13,13)end function eK()cls(0)local n=sin(time()/2)*2local n=44+n-12ec(el(6),52,n,24)a("⁶ppicosky",73,7)local n="@vinnymac.dev"?n,127-print(n,0,200),120,6 101 + end function eM()local n=sin(time()/2)*2nw(56,40+n,true,true)local n=i==G and"session lost - sign in on the page"or nh a(n,80,Z())end function nk()return time()-nO<3end function eW()if(not nk())return 102 + rectfill(0,113,127,119,12)?sub(nh,1,31),2,114,7 103 + end function ei()if(#x<=1)return"picosky" 104 + return"picosky - "..x[s]end function nv(d,e)d,e=d or 0,e or 0local n=R()clip(0,0,128,9)?nR and"thread"or ei(),2,1-e,12 105 + ?i==z and"thread"or ei(),2,9-e,12 106 + clip()nw(118,0,false)eX(9,T(6,1))local e=eo()clip(0,11,128,e-11)if d~=0do local o=l==o and j or o camera(128*n4-d,0)local n=12for d in all(o)do if(n>e+8)break 107 + n=ef(d,n,false)end camera()end if(#l==0)camera(-d,0)nw(56,46,true,true)a(p and"loading..."or"nothing here yet",70,n)camera()clip()return 108 + camera(-d,0)local d=12for n=m+1,#l do if(d>e-2)break 109 + d=ef(l[n],d,n==c)end if(d<=e-6)if p and#l>0do a("loading...",d+1,n)elseif n3 do a("⬇️ more",d+1,n)elseif#l>0do a("-- end --",d+1,n)end 110 + camera()clip()line(0,e,127,e,T(6,1))line(0,e+1,127,e+1,0)if(k)eZ()return 111 + local e=l[c]local d,c=e and e.i,e and(e.m~="0"or e.l>0)local o,e,l,t=e and e.a and#e.a>3and not d,n_(),"⬅️","➡️"if(i==z)if d do a(l.."▶collapse ❎▶back "..e.."▶menu",121,n)elseif o do a(t.."▶expand ❎▶back "..e.."▶menu",121,n)else a("❎▶back "..e.."▶menu",121,n)end else if d do a(l.."▶collapse "..e.."▶menu",121,n)elseif o and c do a(t.."▶expand ❎▶thread "..e.."▶menu",121,n)elseif o do a(t.."▶expand "..e.."▶menu",121,n)elseif c do a("❎▶thread "..e.."▶menu",121,n)else a(e.."▶menu",121,n)end 112 + end function eZ()local e=l[c]rectfill(0,112,127,127,Y())local t,d=R(),#nZ local n=62-d*6for d=1,d do if(d==5)rectfill(n+1,116,n+2,117,t)n+=8 113 + local o=nZ[d]if o==11and e and e.f do o=10pal(7,8)elseif o==9and e and e.x do pal(7,11)else pal(7,d==J and 7or t)end if(d==J)rectfill(n-2,112,n+9,121,12) 114 + spr(o,n,113)n+=12end pal(7,7)a(n_().."▶sel x▶back",123,t)end function ea(n,e,d,l,o,t)if(t~=nH)nH,nI=t,time() 115 + local t=#n*4+24local c=(time()-nI)%(2+t/14)local c=c<2and 0or flr((c-2)*14)clip(e,d,l,7)?n,e-c,d,o 116 + ?n,e-c+t,d,o 117 + clip(0,11,128,eo()-11)end function ef(n,o,a)local d,t=2+n.l*4,R()local e=flr((120-d)/4)n.a=n.a or ng(n.v,e)local l,e=#n.a,0if n.h==2and n.p do e=35elseif n.h==1do e=11end local e=max(1,flr((68-e)/7))local e=n.i and e or 3n.L=e local c=n.i and(n.s or 0)or 0c=mid(0,c,max(0,l-e))if(n.i)n.s=c 118 + local r=min(e,l-c)if n.o do for e=1,256do local t,c=(e-1)%16,(e-1)\16local l,i=t-7.5,c-7.5if(l*l+i*i<=64)pset(d+t,o+c,n.o[e]) 119 + end else sspr(0,0,16,16,d+1,o+1,13,13)end local f,i=S(n.j),123if#f>0do i=123-#f*4?f,i,o,t 120 + pset(i-3,o+2,t)end local f=d+18poke(24408,129)?sub(n.g,1,flr((i-f-2)/4)),f,o,Z() 121 + ?"@"..S(sub(n.z,1,flr((121-f)/4))),f,o+7,t 122 + poke(24408,0)poke(24408,129)local i=o+17for e=1,r do local o=c+e local n=print(S(n.a[o]),d,i,Z())if(e==r and c+r<l)?"...",n,i,t 123 + i+=7end poke(24408,0)if(n.i and l>e)local n,d=o+17,e*7local o=max(2,d*e\l)local e=n+(d-o)*c\(l-e)rectfill(126,n,126,n+d-1,t)rectfill(126,e,126,e+o-1,12) 124 + local c=i+3pal(7,t)local e=d spr(8,e,c)e=print(n.m,e+9,c+1,7)+4spr(9,e,c)e=print(n.P,e+9,c+1,7)+4if(n.f)pal(7,8) 125 + spr(n.f and 10or 11,e,c)if(n.f)pal(7,t) 126 + ?n.J,e+9,c+1,7 127 + pal(7,7)local e=c+9if n.h==1do?"loading...",d,e+3,t 128 + e+=11elseif n.h==2and n.p do local o=e+3for e=1,1024do pset(d+(e-1)%32,o+(e-1)\32,n.p[e])end e=o+32if#n.y>0do poke(24408,129)local o,c,l=S("alt: "..n.y),120-d,e+2if(a and#o*4>c)ea(o,d,l,c,t,n.c)else?sub(o,1,flr(c/4)),d,l,t 129 + poke(24408,0)e=l+7end end if n.u and#n.u>0do local o=120-d if(a and#n.u*4>o-4)rectfill(d,e+2,d+o,e+9,1)ea(n.u,d+2,e+3,o-4,6,n.c)else local o=min(#n.u,flr((o-4)/4))rectfill(d,e+2,d+o*4+4,e+9,1)?sub(n.u,1,o),d+2,e+3,6 130 + e+=11end if(a)line(0,o,0,e-2,12) 131 + if(n.l>0)line(2,o,2,e-2,t) 132 + line(0,e,127,e,T(6,1))n.F=e+2-o return e+2end function eU()?n6>0and sub("quote: "..nQ,1,31)or nu>0and"reply"or"new post",2,1,12 133 + line(0,9,127,9,R())local n,e,d=ng(u,30),14,2poke(24408,129)for o=1,#n do?S(n[o]),2,e,Z() 134 + if(o==#n)d=2+#n[o]*4 135 + e+=7end poke(24408,0)if(sin(time()*2)>0)rectfill(d,e-7,d+2,e-2,12) 136 + local n=#u?n.."/"..n7,2,118,n<=n7 and R()or 8 137 + local n=X()and"🅾️▶send ❎▶back 🅾️+❎▶kbd"or"enter▶send esc▶back"?n,124-print(n,0,200),118,R() 138 + end function a(n,e,d)?n,64-print(n,0,200)\2,e,d 139 + end v,B,nz,Q,f,_,L,F,n0,nn,ne,nj,n1,y,nJ,e_,e2={},{},{},{},0,0,0,0,0,0,87,0,0,1,0,{0,4,8,-1},split"gymnopedie,clair de lune,canon in d,music off"function w(n,e,d)return n+(e-n)*d end function D(n)return n*n*(3-2*n)end function nP(n)return mid(0,n,1)end function P()return D(nP((f-16)/34))end function er()return w(312,0,P())end function nd(n,e)if(n>0)return n.."."..e\100 .."k" 140 + return""..e end function e4()if(L>=1000)n0+=L\1000L%=1000 141 + if(F>=1000)nn+=F\1000F%=1000 142 + end function nL()local n=e_[y]if(n>=0)music(n)else music(-1) 143 + nJ=time()+2end function nW()return chr(141).." "..e2[y]end function nX()return"theme: "..T("day","night")end function eN(n)if(n&1>0)y=(y+2)%4+1else y=y%4+1 144 + if(i==H)nL() 145 + menuitem(nil,nW())return true end function eC()d=1-d sfx(0)menuitem(nil,nX())return true end function nY()return"feed: "..ns[s]end function eG(n)if(#x<2)return true 146 + if(n&1>0)s=(s-2+#x)%#x+1else s=s%#x+1 147 + sfx(0)menuitem(nil,nY())return true end function np()i,f,_,v,B,L,F,n0,nn,nz=H,0,0,{},{},0,0,0,0,{}for n=1,40do add(nz,{d=rnd(128),e=rnd(120),T=rnd(1)})end d0()dn()nV(e7)nj,n1=0,time()nL()nJ=time()+5end function nM()v={}pal()music(-1)b(false)sfx(1)end function e5()nV(es)nM()end de={{-4,.4,.5,8},{132,-.5,-.6,12},{132,-.4,-.5,11}}function E(e,n)if(f>=72)return 148 + local d=P()>.8and 14or 46for n=1,min(n,4)do if(#v>=d)return 149 + local n={w=e,D=rnd(1),d=rnd(128)}if e<4do local d=de[e]n.e=d[1]n.t=d[2]+d[3]*rnd(1)n.b=d[4]if(e==1and rnd(1)<.5)n.b=14 150 + else n.e,n.t,n.b=20+rnd(90),-.2-rnd(.3),10end add(v,n)end end function eJ(n,e,d,o,t)if(n+e+d+o>0)n1=time() 151 + L+=e F+=n e4()E(1,e)E(2,n)E(3,d)E(4,o)for n=1,min(t,4)do if(#v>0)deli(v,1) 152 + end end function d1()local n,e=flr(rnd(3)),rnd(1)<.35and 1or 0L+=n F+=e e4()E(1,n)E(2,e)E(3,rnd(1)<.12and 1or 0)E(4,rnd(1)<.25and 1or 0)end function eS()local n,e,d=stat(32),stat(33),stat(34)&1local n=d==1and nj==0and n>=116and n<=127and e>=1and e<=12nj=d while stat(30)do local n=stat(31)if n=="m"do y=y%4+1nL()elseif n=="x"or n=="v"do e5()return end end if(n or X()and btnp(5))e5()return 153 + f+=.03333_=(_+1)%2if(f>=ne)f-=ne 154 + dd()if(time()-n1>1.5)d1() 155 + if(P()>.85and rnd(1)<.06and#B<3)add(B,{d=rnd(110),e=rnd(50),r=2.5+rnd(2),t=1+rnd(1.5)}) 156 + for n in all(B)do n.d+=n.r n.e+=n.t if(n.d>134or n.e>80)del(B,n) 157 + end for n in all(v)do n.D+=.03333n.e+=n.t n.d+=sin(n.D*.4)*.5if n.w==1do if(n.e>134)del(v,n) 158 + elseif n.e<-6do del(v,n)end end end function dt()local e,n=sin(time()*.8)*3,P()if f<75do return w(-20,64,D(nP(f/24))),w(108,30,n)+e,w(.8,1,n)elseif f<81do local n=(f-75)/6return 64,w(30,56,D(n)),w(1,5,D(n))else local n=(f-81)/6return w(64,-20,D(n)),w(56,108,D(n)),w(5,.8,D(n))end end function el(n)return et[flr(time()*n)%4+1]*8end function dc()local e,d,n=dt()local n=16*n local e,d=e-n/2,d-n/2ec(el(f>75and 2.5or 6),e,d,n)end function dl(n,e)for d=0,7do local o,d=d/8+time()*.1,8+sin(time()*3+d)*1.5pset(n+cos(o)*d,e+sin(o)*d,9)end circfill(n,e,7,9)circfill(n,e,5,10)circfill(n,e,3,7)end di={0,41120,42405,62965,-1}function no(n,e,o,t)local d=(e-n)/5for e=1,5do fillp(di[e])rectfill(0,n+(e-1)*d,127,n+e*d,o+t*16)end fillp()end function df()rectfill(0,0,127,150,0)no(150,212,1,0)no(212,274,13,1)no(274,372,12,13)no(372,440,7,12)end function nF(n,e)circfill(n,e,6,7)circfill(n+7,e+1,7,7)circfill(n+14,e,5,7)rectfill(n,e,n+14,e+5,7)end function da()local n=f*10nF(n*.6%190-30,272)nF((-n*.42+120)%190-30,300)nF((n*.3+50)%190-30,332)end function d2()local e=f*14for n=0,127do rectfill(n,402+sin((n+e*.3)/40)*7,n,440,3)rectfill(n,410+sin((n+e*.7)/30)*8,n,440,11)local d=424+sin((n+e)/46)*4rectfill(n,d,n,d+5,1)pset(n,d,sin((n+e)/8)>.55and 12or 1)end for n=0,11do pset((12+n*12-e)%150-8,434+sin(n)*3,8+n%2*6)end end function dr()if(P()<.3)return 159 + for n in all(nz)do if(sin(time()*.6+n.T)>-.2)pset(n.d,n.e,rnd(1)<.3and 6or 7) 160 + end local n=18+max(0,f-34)*.4circfill(n,24,8,7)circfill(n+3,22,7,0)for n in all(B)do line(n.d,n.e,n.d-n.r*3,n.e-n.t*3,7)pset(n.d,n.e,10)end end function d4()local n=nP((f-54)/3)local n=w(132,52,D(n))a("picosky",n,12)a("by vinnymac",n+9,7)a(nd(n0,L).." likes "..nd(nn,F).." posts",n+22,12)a("live stats provided by",n+31,6)a("bluesky firehose",n+38,6)a("thanks to bluesky, zep,",n+50,6)a("and daniel linssen for m3x6",n+58,6)end function d5()spr(10,4,3)spr(8,42,3)?nd(n0,L),13,4,7 161 + ?nd(nn,F),51,4,7 162 + if(time()-n1>1.5)?"sim",102,4,9 163 + end function d3()circfill(122,6,3,6)line(121,5,123,7,5)line(121,7,123,5,5)?"esc",104,4,6 164 + end function dh(n,e,d)circfill(n-1,e,1,d)circfill(n+1,e,1,d)line(n-2,e+1,n+2,e+1,d)line(n-1,e+2,n+1,e+2,d)pset(n,e+3,d)end function du()for n in all(v)do if n.w==1do dh(n.d,n.e,n.b)elseif n.w==4do pset(n.d,n.e,n.b)pset(n.d,n.e-1,10)else circ(n.d,n.e,2,n.b)pset(n.d-1,n.e-1,7)end end end function d0()Q={}for n=1,6do add(Q,{d=rnd(120),e=34+rnd(24),r=.3+rnd(.3),t=rnd(.4)-.2})end end function dd()if(P()>.6)return 165 + for n in all(Q)do local c,l,i,f,d=0,0,0,0,0for e in all(Q)do local o,t=e.d-n.d,e.e-n.e local a=o*o+t*t if(e~=n and a<400)c+=e.d l+=e.e i+=e.r f+=e.t d+=1if(a<144)n.r-=o*.025n.t-=t*.025 166 + end if(d>0)n.r+=(c/d-n.d)*.002+(i/d-n.r)*.06n.t+=(l/d-n.e)*.002+(f/d-n.t)*.06 167 + n.r,n.t=mid(.2,n.r,1),mid(-.5,n.t,.5)n.d+=n.r n.e+=n.t n.e=mid(22,n.e,74)if(n.d>134)n.d,n.e=-6-rnd(16),34+rnd(24) 168 + end end function d6()if(P()>.55)return 169 + for n in all(Q)do local e=sin(time()*4+n.d)>0and 1or 0line(n.d-2,n.e-e,n.d,n.e,5)line(n.d,n.e,n.d+2,n.e-e,5)end end nD=split"0,0,1,1,2,1,5,6,2,4,9,3,13,1,2,5"function e3(d)for e=0,15do local n=e for e=1,d do n=nD[n+1]end pal(e,n,1)end end function dn()for o=0,6do for n=0,255do local e,d=n%16,n\16for n=1,o do e,d=nD[e+1],nD[d+1]end poke(17152+o*256+n,e+d*16)end end end function d7(e,o,n)local d=e\2for e=0,127do local o=e-o local t,e=o*o,24576+e*64if(t>=1600)local d=17152+n*256for n=e,e+63do poke(n,peek(d+peek(n)))end else local o={[0]=0,[n+1]=64}for e=1,n do local n=40*e/n*(40*e/n)-t o[e]=n>0and sqrt(n)\2or 0end for n=0,n do local t,n,o=17152+n*256,o[n],o[n+1]for n=e+mid(0,d+n,63),e+mid(0,d+o-1,63)do poke(n,peek(t+peek(n)))end for n=e+mid(0,d-o+1,63),e+mid(0,d-max(n,1),63)do poke(n,peek(t+peek(n)))end end 170 + end end function eh()if(f>=ne-3)return flr((f-ne+3)/3*6+.5) 171 + if(f<3)return flr((1-f/3)*6+.5) 172 + return 0end function ds()local n=f if(n<20)return 0 173 + if(n<28)return flr((n-20)/8*2+.5) 174 + if(P()<.55)return 2 175 + return flr(max(0,(.66-P())/.11)*2+.5)end function eI()local n,e,d=ds(),eh(),340-er()local o=e==0and n>0and d<134if(o and _~=0)return 176 + cls(0)camera(0,er())df()dr()dl(96-f*.4,340)da()d2()camera()d6()du()dc()if(f>54and f<75)d4() 177 + if(f<53)d5() 178 + if(o)e3(0)d7(96-f*.4,d,n)else e3(max(n,e)) 179 + if(time()<nJ and eh()==0)a(e2[y],100,7)a(X()and"pause to change track"or"m: change music",108,6) 180 + d3()end 181 + __gfx__ 182 + 00cc00000000cc000c0000c000000000000c00000000c00000000000000000000777777000000070077007700770077000000770007770000000000077000077 183 + 0cccc000000cccc0ccc00ccc0000000000ccc000000ccc00000cc000000cc0007000000777777777777777777007700700007770070007700770077070077707 184 + cccccc0000cccccccccddccc000000000ccccc0000ccccc000cccc0000cccc007000000700000070777777777000000700077700700007770770077077000077 185 + ccccccc00ccccccc0cdccdc0000000000cccccc00cccccc000ccccc00ccccc007000000707000000077777700700007000777000700000770770077070077007 186 + ccccccd00dcccccc0cdccdc0000000000cccccd00dccccc000ccccd00dcccc000777777077777777007777000070070007770000700000070070007077000077 187 + cccccdd00ddccccccccddccc000000000ccccdd00ddcccc000cccdd00ddccc000077000007000000000770000007700077700000070000700700070070777007 188 + 0ccccddccddcccc0ccc00ccc0000000000cccddccddccc00000ccddccddcc0000070000000000000000000000000000070000000007777000000000077000077 189 + 00cccddccddccc000c0000c000000000000ccddccddcc0000000cddccddc00000000000000000000000000000000000000000000000000000000000000000000 190 + 000ccddccddcc00000000000000000000000cddccddc000000000ddccdd000000000000000000000000000000000000000000000000000000000000000000000 191 + 00ccccddddcccc000000000000000000000cccddddccc0000000ccddddcc00000000000000000000000000000000000000000000000000000000000000000000 192 + 0cccccddddccccc0000000000000000000ccccddddcccc00000cccddddccc0000000000000000000000000000000000000000000000000000000000000000000 193 + ccccccddddcccccc00000000000000000cccccddddccccc000ccccddddcccc000000000000000000000000000000000000000000000000000000000000000000 194 + ccccccddddcccccc00000000000000000cccccddddccccc000ccccddddcccc000000000000000000000000000000000000000000000000000000000000000000 195 + 0cccccddddccccc0000000000000000000ccccddddcccc00000cccddddccc0000000000000000000000000000000000000000000000000000000000000000000 196 + 00cccc0000cccc000000000000000000000ccc0000ccc0000000cc0000cc00000000000000000000000000000000000000000000000000000000000000000000 197 + 0000cc0000cc0000000000000000000000000c0000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 198 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 199 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 200 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 201 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 202 + 88888ccccc88f8880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 203 + 88888ccccc2ff8880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 204 + 88888c1ff12888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 205 + 88888c66f62888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 206 + 8888fccccc6f88880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 207 + 888f8ccccce888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 208 + 888e88c8e88888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 209 + 8884f2f2228888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 210 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 211 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 212 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 213 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 214 + 66665665565665660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 215 + 655f6554454555650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 216 + ff5565455445f5550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 217 + 5665554ff45f55f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 218 + 6ff554ffffff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 219 + f66554f6ffff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 220 + f6f54f656fff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 221 + 66f3ff555655f5550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 222 + 6ff54f655f5555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 223 + 66654fff4f4f55050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 224 + f66655f4fff555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 225 + 66f5f4ffff4555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 226 + 6665f554f45555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 227 + 6f65fff4545555050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 228 + 665507fff55055550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 229 + 55005167f55556660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 230 + 6d66d6dd66d66d6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 231 + 6dc661d1d5dc666d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 232 + 66cd5dd555d56cc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 233 + d6515000000056d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 234 + c6d505656660556d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 235 + 6dd005f66665006c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 236 + 6cd055d6f6600d660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 237 + d6655504405556cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 238 + 66dd5555d5656dd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 239 + 666655456f6d6d660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 240 + 66d6554554fddd6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 241 + 66d6d554255d6cd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 242 + 7d776555565d6dd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 243 + 76766505555dd6c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 244 + 7667445055652ddd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 245 + 77542545556522660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 246 + f4455555556f55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 247 + f455455f45f555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 248 + 4ff34555555533530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 249 + f6455050555454530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 250 + 55f505fff053ff570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 251 + 455505ffff0566660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 252 + 66555445555f33550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 253 + 55504f6ff4554f530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 254 + 555054fff45555f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 255 + f5000445f05563340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 256 + a30405fff055ff530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 257 + 34400554005fff430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 258 + 5450055500556fff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 259 + 550550050555f6ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 260 + 505555555045f6650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 261 + 5545550005555f660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 262 + ccccccc666666ccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 263 + ccccccc66676666c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 264 + ccccccdccccccc6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 265 + ccccccf7ff7ff6cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 266 + ccccdcff665f7fc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 267 + c6c6ccff656765560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 268 + 66766666ff6f55f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 269 + 6676667ff65055570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 270 + 55366335755555570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 271 + f55f6553355555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 272 + 763f677f544505530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 273 + 3556677555f003550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 274 + 53566676505055550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 275 + faa5566665505f530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 276 + 355366f775505ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 277 + 353a36f775554ff30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 278 + 11111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 279 + 11101144401101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 280 + 11110055445111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 281 + 1100504fff5110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 282 + 1110044ff7f011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 283 + 1110044f544101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 284 + 1100044044f111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 285 + 1112044ff4f511110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 286 + 10144544444510110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 287 + 11104054444110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 288 + 110104044ff110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 289 + 11111450055011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 290 + 10115440051011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 291 + 1100ff44541101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 292 + 1d420400551101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 293 + dd1f44110145d2110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 294 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 295 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 296 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 297 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 298 + 00000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 299 + 00000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 300 + 00000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 301 + 00000000007500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 302 + 00000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 303 + 00055000065000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 304 + 00055000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 305 + 00000000560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 306 + __sfx__ 307 + 00060000284502d445000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 308 + 00060000244501f443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 309 + 000700002b36032365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 310 + 00060000284502d450344650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 311 + 000400003043500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 312 + 000400002643500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 313 + 0005000024460284602b4703047030465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 314 + 00070000223601e3601a3630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 315 + 000800003055637547000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 316 + 000800002b46030460344703747034450374650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 317 + 015a0000070201702017025020201502015025070201702017025020201502015025070202a0302d0302b0202a020250202302025030260300202015030150350702017020170250202015020150250702017020 318 + 015a0000000001a0201a025000001902019025000001a0201a0250000019020190250000017020170250202015020150250702017020170252102019030190351e0201a0201a025000001902019025000001a020 319 + 015a0000000001e0201e025000001e0201e025000001e0201e025000001e0201e025000001a0201a0252d0351902019025250251a0201a025260351e0301e035000001e0201e0201e0251e0201e0201e0251e020 320 + 015a0000000000702007025000000202002025000000702007025000000202002025000001e0201e025000001e0201e025000001e0201e0250000002020020250000007020070250000002020020250000007020 321 + 015a000017025020201502015025070202a0202d0302b0302a0202502023020250302602002020150201502506020150301503500020170201702504020130201302504020170201702502020110201102521030 322 + 015a00001a0250000019020190250000017020170250202015020150250702017030170352102019020190252503019030190352a0301a0201a0251c0201702017025000001a0201a02500000150201502500020 323 + 015a00001e0201e0251e0201e025000001a0201a0252d0351902019025250251a0301a035260251e0201e025000001e0301e035000001e0201e025000000402004025000001f0201f025000001a0201a02500000 324 + 015a000007025000000202002025000001e0201e025000001e0201e025000001e0301e035000000202002025000000602006025000000002000025000001c0201c0201c0201c0201c0201c0201c0201c02500000 325 + 015a00002303024030280302603023020260202403023030020201a0201a025020201a0202603028030290302b0302d0302402026030280302602023020020201a0201a025020201a02026030040201702017025 326 + 015a00001502015025020201302013025020200e0200e025260300c0300c035000000c0200c025020201502015025020201502015025020200e0200e025260300c0200c025000000c0200c0252b0301c0201c025 327 + 015a000018020180252403517020170252302513020130252303510030100350000012020120252603518020180252b0351802018025260351302013025230251002010025000001202012025260351f0201f025 328 + 015a00001c0201c025000001c0201c025000001c0201c0201c0251503015035000001502015025000001d0201d025000001c0201c025000001c0201c0201c0251502015025000001502015025000000402004025 329 + 015a0000060201502015025230202102023020250302603028030250302603028030040200b020100302103021030210351a0301a0301a0350701017020170250202015020150250702017020170250202015020 330 + 015a00002a03019020190250002017030170350402019030190350402015020150251e02015020170300902009020090251e0301e0301e035000001a0201a025000001902019025000001a0201a0250000019020 331 + 015a0000000001e0201e025000001a0301a035230251c0301c035280351902019025280351a0201a030130201302013025210302103021035000001e0201e025000001e0201e025000001e0201e025000001e020 332 + 015a0000000000602006025000001e0301e03500000210302103500000210202102500000040251f0202403024030240352603026030260350000007010070150000002020020250000007020070250000002020 333 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d02529020290202902029020290202902029020290202902029020290202902029020290202902029020 334 + 01050000200202002020020200202002020020200202002020020200202002020020200202002020020200252c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c020 335 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d020 336 + 010500002002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020 337 + 010500002902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020 338 + 010500002c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c020 339 + 010500002902029020290202902029020290202902029020290202902029020290202902029020290202902525020250202502025020250202502025020250202502025020250202502025020250202502025020 340 + 010500002c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c02529020290202902029020290202902029020290202902029020290202902029020290202902029020 341 + 010500002502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020 342 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d025 343 + 010500002002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020025 344 + 011600001e5201e5201e5201e5201e5201e5201e5201e52521520215202152021520215202152021520215251a5201a5201a5201a5201a5201a5201a5201a5251e5201e5201e5201e5201e5201e5201e5201e525 345 + 011600000e5340e5300e5300e5300e5300e5300e5300e53509534095300953009530095300953009530095350b5340b5300b5300b5300b5300b5300b5300b5350653406530065300653006530065300653006535 346 + 011600002652026520265202652026520265202652026525255202552025520255202552025520255202552523520235202352023520235202352023520235252152021520215202152021520215202152021525 347 + 011600001552015520155201552015520155201552015525105201052010520105201052010520105201052512520125201252012520125201252012520125250d5200d5200d5200d5200d5200d5200d5200d525 348 + 0116000017520175201752017520175201752017520175251e5201e5201e5201e5201e5201e5201e5201e5251a5201a5201a5201a5201a5201a5201a5201a5251c5201c5201c5201c5201c5201c5201c5201c525 349 + 011600000753407530075300753007530075300753007535025340253002530025300253002530025300253507534075300753007530075300753007530075350952409520095200952009520095200952009525 350 + 011600001f5201f5201f5201f5201f5201f5201f5201f525215202152021520215202152021520215202152523520235202352023520235202352023520235252552025520255202552025520255202552025525 351 + 011600000e5200e5200e5200e5200e5200e5200e5200e5250e5200e5200e5200e5200e5200e5200e5200e52513520135201352013520135201352013520135251552015520155201552015520155201552015525 352 + 011600001e5201e5201e5201e5201e5201e5201e5201e5251c5201c5201c5201c5201c5201c5201c5201c5251a5201a5201a5201a5201a5201a5201a5201a5251952019520195201952019520195201952019525 353 + 011600000e5240e5200e5200e5200e5200e5200e5200e52509524095200952009520095200952009520095250b5240b5200b5200b5200b5200b5200b5200b5250652406520065200652006520065200652006525 354 + 011600002a5302a5302a5302a5302a5302a5302a5302a535285202852028520285202852028520285202852526530265302653026530265302653026530265352553025530255302553025530255302553025535 355 + 011600001752017520175201752017520175201752017525155201552015520155201552015520155201552517520175201752017520175201752017520175251952019520195201952019520195201952019525 356 + 011600000752407520075200752007520075200752007525025240252002520025200252002520025200252507524075200752007520075200752007520075250953409530095300953009530095300953009535 357 + 011600002353023530235302353023530235302353023535215302153021530215302153021530215302153523530235302353023530235302353023530235352553025530255302553025530255302553025535 358 + 011600001f5201f5201f5201f5201f5201f5201f5201f5251e5201e5201e5201e5201e5201e5201e5201e5251f5201f5201f5201f5201f5201f5201f5201f5252152021520215202152021520215202152021525 359 + __music__ 360 + 01 0a0b0c0d 361 + 00 0e0f1011 362 + 00 12131415 363 + 02 16171819 364 + 01 1a1b1c1d 365 + 00 1e1f1c1d 366 + 00 20211c1d 367 + 02 221e2324 368 + 01 25262728 369 + 00 292a2b2c 370 + 00 2d2e2f27 371 + 02 30313233 372 + __label__ 373 + cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 374 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 375 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 376 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 377 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 378 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 379 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 380 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 381 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 382 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 383 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 384 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 385 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 386 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 387 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 388 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 389 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 390 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 391 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 392 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 393 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 394 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 395 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 396 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 397 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 398 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 399 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 400 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 401 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 402 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 403 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 404 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 405 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 406 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 407 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 408 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 409 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 410 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 411 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 412 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 413 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 414 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 415 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 416 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 417 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 418 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 419 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 420 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 421 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 422 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 423 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 424 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 425 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 426 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 427 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 428 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 429 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 430 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 431 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 432 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 433 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 434 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 435 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 436 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 437 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 438 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 439 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 440 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 441 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 442 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 443 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 444 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 445 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 446 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 447 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 448 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 449 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 450 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 451 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 452 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 453 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 454 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 455 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 456 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 457 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 458 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 459 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 460 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 461 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 462 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 463 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 464 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 465 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 466 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 467 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 468 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 469 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 470 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 471 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 472 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 473 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 474 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 475 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 476 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 477 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 478 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 479 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 480 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 481 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 482 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 483 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 484 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 485 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 486 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 487 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 488 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 489 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 490 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 491 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 492 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 493 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 494 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 495 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 496 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 497 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 498 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 499 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 500 + cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 501 + __meta:title__ 502 + keep: picosky 503 + keep: made by vinnymac ♥
picosky.p8.png

This is a binary file and will not be displayed.

+358
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + devDependencies: 11 + canvas: 12 + specifier: ^3.2.3 13 + version: 3.2.3 14 + happy-dom: 15 + specifier: ^20.10.0 16 + version: 20.10.0 17 + 18 + packages: 19 + 20 + '@types/node@25.9.1': 21 + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} 22 + 23 + '@types/whatwg-mimetype@3.0.2': 24 + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} 25 + 26 + '@types/ws@8.18.1': 27 + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} 28 + 29 + base64-js@1.5.1: 30 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 31 + 32 + bl@4.1.0: 33 + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 34 + 35 + buffer-image-size@0.6.4: 36 + resolution: {integrity: sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ==} 37 + engines: {node: '>=4.0'} 38 + 39 + buffer@5.7.1: 40 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 41 + 42 + canvas@3.2.3: 43 + resolution: {integrity: sha512-PzE5nJZPz72YUAfo8oTp0u3fqqY7IzlTubneAihqDYAUcBk7ryeCmBbdJBEdaH0bptSOe2VT2Zwcb3UaFyaSWw==} 44 + engines: {node: ^18.12.0 || >= 20.9.0} 45 + 46 + chownr@1.1.4: 47 + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 48 + 49 + decompress-response@6.0.0: 50 + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 51 + engines: {node: '>=10'} 52 + 53 + deep-extend@0.6.0: 54 + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 55 + engines: {node: '>=4.0.0'} 56 + 57 + detect-libc@2.1.2: 58 + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 59 + engines: {node: '>=8'} 60 + 61 + end-of-stream@1.4.5: 62 + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} 63 + 64 + entities@7.0.1: 65 + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} 66 + engines: {node: '>=0.12'} 67 + 68 + expand-template@2.0.3: 69 + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 70 + engines: {node: '>=6'} 71 + 72 + fs-constants@1.0.0: 73 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 74 + 75 + github-from-package@0.0.0: 76 + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 77 + 78 + happy-dom@20.10.0: 79 + resolution: {integrity: sha512-JP6AMWV4ZBl0EaS9B/4Ocbz/4P8uypTwqxL/MDpbeMl4qbAzbsye+X1Jw38jLqZLPrtaFkvANKfJweW7upM3PQ==} 80 + engines: {node: '>=20.0.0'} 81 + 82 + ieee754@1.2.1: 83 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 84 + 85 + inherits@2.0.4: 86 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 87 + 88 + ini@1.3.8: 89 + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 90 + 91 + mimic-response@3.1.0: 92 + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 93 + engines: {node: '>=10'} 94 + 95 + minimist@1.2.8: 96 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 97 + 98 + mkdirp-classic@0.5.3: 99 + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 100 + 101 + napi-build-utils@2.0.0: 102 + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} 103 + 104 + node-abi@3.92.0: 105 + resolution: {integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==} 106 + engines: {node: '>=10'} 107 + 108 + node-addon-api@7.1.1: 109 + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} 110 + 111 + once@1.4.0: 112 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 113 + 114 + prebuild-install@7.1.3: 115 + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} 116 + engines: {node: '>=10'} 117 + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. 118 + hasBin: true 119 + 120 + pump@3.0.4: 121 + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} 122 + 123 + rc@1.2.8: 124 + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 125 + hasBin: true 126 + 127 + readable-stream@3.6.2: 128 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 129 + engines: {node: '>= 6'} 130 + 131 + safe-buffer@5.2.1: 132 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 133 + 134 + semver@7.8.1: 135 + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} 136 + engines: {node: '>=10'} 137 + hasBin: true 138 + 139 + simple-concat@1.0.1: 140 + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 141 + 142 + simple-get@4.0.1: 143 + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 144 + 145 + string_decoder@1.3.0: 146 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 147 + 148 + strip-json-comments@2.0.1: 149 + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 150 + engines: {node: '>=0.10.0'} 151 + 152 + tar-fs@2.1.4: 153 + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} 154 + 155 + tar-stream@2.2.0: 156 + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 157 + engines: {node: '>=6'} 158 + 159 + tunnel-agent@0.6.0: 160 + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 161 + 162 + undici-types@7.24.6: 163 + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} 164 + 165 + util-deprecate@1.0.2: 166 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 167 + 168 + whatwg-mimetype@3.0.0: 169 + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} 170 + engines: {node: '>=12'} 171 + 172 + wrappy@1.0.2: 173 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 174 + 175 + ws@8.21.0: 176 + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} 177 + engines: {node: '>=10.0.0'} 178 + peerDependencies: 179 + bufferutil: ^4.0.1 180 + utf-8-validate: '>=5.0.2' 181 + peerDependenciesMeta: 182 + bufferutil: 183 + optional: true 184 + utf-8-validate: 185 + optional: true 186 + 187 + snapshots: 188 + 189 + '@types/node@25.9.1': 190 + dependencies: 191 + undici-types: 7.24.6 192 + 193 + '@types/whatwg-mimetype@3.0.2': {} 194 + 195 + '@types/ws@8.18.1': 196 + dependencies: 197 + '@types/node': 25.9.1 198 + 199 + base64-js@1.5.1: {} 200 + 201 + bl@4.1.0: 202 + dependencies: 203 + buffer: 5.7.1 204 + inherits: 2.0.4 205 + readable-stream: 3.6.2 206 + 207 + buffer-image-size@0.6.4: 208 + dependencies: 209 + '@types/node': 25.9.1 210 + 211 + buffer@5.7.1: 212 + dependencies: 213 + base64-js: 1.5.1 214 + ieee754: 1.2.1 215 + 216 + canvas@3.2.3: 217 + dependencies: 218 + node-addon-api: 7.1.1 219 + prebuild-install: 7.1.3 220 + 221 + chownr@1.1.4: {} 222 + 223 + decompress-response@6.0.0: 224 + dependencies: 225 + mimic-response: 3.1.0 226 + 227 + deep-extend@0.6.0: {} 228 + 229 + detect-libc@2.1.2: {} 230 + 231 + end-of-stream@1.4.5: 232 + dependencies: 233 + once: 1.4.0 234 + 235 + entities@7.0.1: {} 236 + 237 + expand-template@2.0.3: {} 238 + 239 + fs-constants@1.0.0: {} 240 + 241 + github-from-package@0.0.0: {} 242 + 243 + happy-dom@20.10.0: 244 + dependencies: 245 + '@types/node': 25.9.1 246 + '@types/whatwg-mimetype': 3.0.2 247 + '@types/ws': 8.18.1 248 + buffer-image-size: 0.6.4 249 + entities: 7.0.1 250 + whatwg-mimetype: 3.0.0 251 + ws: 8.21.0 252 + transitivePeerDependencies: 253 + - bufferutil 254 + - utf-8-validate 255 + 256 + ieee754@1.2.1: {} 257 + 258 + inherits@2.0.4: {} 259 + 260 + ini@1.3.8: {} 261 + 262 + mimic-response@3.1.0: {} 263 + 264 + minimist@1.2.8: {} 265 + 266 + mkdirp-classic@0.5.3: {} 267 + 268 + napi-build-utils@2.0.0: {} 269 + 270 + node-abi@3.92.0: 271 + dependencies: 272 + semver: 7.8.1 273 + 274 + node-addon-api@7.1.1: {} 275 + 276 + once@1.4.0: 277 + dependencies: 278 + wrappy: 1.0.2 279 + 280 + prebuild-install@7.1.3: 281 + dependencies: 282 + detect-libc: 2.1.2 283 + expand-template: 2.0.3 284 + github-from-package: 0.0.0 285 + minimist: 1.2.8 286 + mkdirp-classic: 0.5.3 287 + napi-build-utils: 2.0.0 288 + node-abi: 3.92.0 289 + pump: 3.0.4 290 + rc: 1.2.8 291 + simple-get: 4.0.1 292 + tar-fs: 2.1.4 293 + tunnel-agent: 0.6.0 294 + 295 + pump@3.0.4: 296 + dependencies: 297 + end-of-stream: 1.4.5 298 + once: 1.4.0 299 + 300 + rc@1.2.8: 301 + dependencies: 302 + deep-extend: 0.6.0 303 + ini: 1.3.8 304 + minimist: 1.2.8 305 + strip-json-comments: 2.0.1 306 + 307 + readable-stream@3.6.2: 308 + dependencies: 309 + inherits: 2.0.4 310 + string_decoder: 1.3.0 311 + util-deprecate: 1.0.2 312 + 313 + safe-buffer@5.2.1: {} 314 + 315 + semver@7.8.1: {} 316 + 317 + simple-concat@1.0.1: {} 318 + 319 + simple-get@4.0.1: 320 + dependencies: 321 + decompress-response: 6.0.0 322 + once: 1.4.0 323 + simple-concat: 1.0.1 324 + 325 + string_decoder@1.3.0: 326 + dependencies: 327 + safe-buffer: 5.2.1 328 + 329 + strip-json-comments@2.0.1: {} 330 + 331 + tar-fs@2.1.4: 332 + dependencies: 333 + chownr: 1.1.4 334 + mkdirp-classic: 0.5.3 335 + pump: 3.0.4 336 + tar-stream: 2.2.0 337 + 338 + tar-stream@2.2.0: 339 + dependencies: 340 + bl: 4.1.0 341 + end-of-stream: 1.4.5 342 + fs-constants: 1.0.0 343 + inherits: 2.0.4 344 + readable-stream: 3.6.2 345 + 346 + tunnel-agent@0.6.0: 347 + dependencies: 348 + safe-buffer: 5.2.1 349 + 350 + undici-types@7.24.6: {} 351 + 352 + util-deprecate@1.0.2: {} 353 + 354 + whatwg-mimetype@3.0.0: {} 355 + 356 + wrappy@1.0.2: {} 357 + 358 + ws@8.21.0: {}
+8
pnpm-workspace.yaml
··· 1 + # canvas is a trusted native addon (node-canvas); its build script downloads a 2 + # prebuilt binary and is required for test/setup-canvas.js + tools/fetch-avatars.js. 3 + allowBuilds: 4 + canvas: true 5 + # happy-dom@20.10.0 is newer than the global minimum-release-age threshold; this 6 + # records that it's been vetted for this repo (pnpm supply-chain policy). 7 + minimumReleaseAgeExclude: 8 + - happy-dom@20.10.0
+4
requirements.txt
··· 1 + # Python deps for the build tools. Installed into .venv via `mise run deps`. 2 + # Pillow is required by the vendored shrinko8 (tools/shrinko8) to read/write the 3 + # .p8.png cart image (see `make png`). 4 + pillow>=11
+117
serve.js
··· 1 + #!/usr/bin/env node 2 + // Minimal static dev server for picosky. 3 + // 4 + // AT Protocol's loopback OAuth client requires the page to be reached at the 5 + // 127.0.0.1 IP (the hostname "localhost" is rejected as a redirect host), so we 6 + // bind to 127.0.0.1 and print that URL. Dependency-free on purpose. 7 + 8 + const http = require("node:http"); 9 + const fs = require("node:fs"); 10 + const os = require("node:os"); 11 + const path = require("node:path"); 12 + 13 + const ROOT = __dirname; 14 + const args = process.argv.slice(2); 15 + const lanMode = 16 + args.includes("--lan") || 17 + args.some((a) => a.startsWith("--host=")) || 18 + args.includes("--host"); 19 + const HOST = lanMode 20 + ? args.find((a) => a.startsWith("--host="))?.split("=")[1] ?? "0.0.0.0" 21 + : "127.0.0.1"; 22 + const PORT = Number(process.env.PORT) || 8080; 23 + 24 + // IPv4 addresses of non-internal interfaces, for the "open on your phone" URLs. 25 + function lanAddrs() { 26 + return Object.values(os.networkInterfaces()) 27 + .flat() 28 + .filter((i) => i && i.family === "IPv4" && !i.internal) 29 + .map((i) => i.address); 30 + } 31 + 32 + // Returned instead of the real sw.js so the dev server never caches assets. 33 + // Clears any caches left over from a previous production/build session. 34 + const DEV_SW = ` 35 + self.addEventListener("install", () => self.skipWaiting()); 36 + self.addEventListener("activate", (e) => e.waitUntil( 37 + caches.keys() 38 + .then((keys) => Promise.all(keys.map((k) => caches.delete(k)))) 39 + .then(() => self.clients.claim()) 40 + )); 41 + `.trimStart(); 42 + 43 + const TYPES = { 44 + ".html": "text/html; charset=utf-8", 45 + ".js": "text/javascript; charset=utf-8", 46 + ".mjs": "text/javascript; charset=utf-8", 47 + ".json": "application/json; charset=utf-8", 48 + ".wasm": "application/wasm", 49 + ".css": "text/css; charset=utf-8", 50 + ".png": "image/png", 51 + ".svg": "image/svg+xml", 52 + ".ico": "image/x-icon", 53 + ".webmanifest": "application/manifest+json", 54 + ".map": "application/json; charset=utf-8", 55 + }; 56 + 57 + const server = http.createServer((req, res) => { 58 + // Strip query string, normalize, and prevent path traversal. 59 + let urlPath = decodeURIComponent(req.url.split("?")[0]); 60 + if (urlPath === "/") urlPath = "/index.html"; 61 + const filePath = path.join(ROOT, path.normalize(urlPath)); 62 + if (!filePath.startsWith(ROOT)) { 63 + res.writeHead(403).end("forbidden"); 64 + return; 65 + } 66 + 67 + // Serve a no-op SW so the cache never interferes during development. 68 + if (urlPath === "/sw.js") { 69 + res.writeHead(200, { 70 + "content-type": "text/javascript; charset=utf-8", 71 + "cache-control": "no-store", 72 + }).end(DEV_SW); 73 + return; 74 + } 75 + 76 + fs.readFile(filePath, (err, data) => { 77 + if (err) { 78 + res.writeHead(404, { "content-type": "text/plain" }).end("not found"); 79 + return; 80 + } 81 + const type = TYPES[path.extname(filePath)] || "application/octet-stream"; 82 + res.writeHead(200, { 83 + "content-type": type, 84 + "cache-control": "no-store", 85 + }).end(data); 86 + }); 87 + }); 88 + 89 + // Bind PORT; if it's taken, walk up to the next free port automatically. 90 + function start(port, triesLeft) { 91 + server.once("error", (err) => { 92 + if (err.code === "EADDRINUSE" && triesLeft > 0) { 93 + console.log(`port ${port} in use, trying ${port + 1}...`); 94 + start(port + 1, triesLeft - 1); 95 + } else { 96 + console.error(`could not start server: ${err.message}`); 97 + process.exit(1); 98 + } 99 + }); 100 + server.listen(port, HOST, () => { 101 + console.log(`picosky dev server: http://127.0.0.1:${port}/`); 102 + console.log("Open that 127.0.0.1 URL (not localhost) so OAuth works."); 103 + if (lanMode) { 104 + const addrs = lanAddrs(); 105 + if (addrs.length) { 106 + console.log("On your local network, open one of:"); 107 + for (const a of addrs) console.log(` http://${a}:${port}/`); 108 + console.log("Note: AT Protocol OAuth requires the 127.0.0.1 loopback URL for sign-in."); 109 + } else { 110 + console.log(`Listening on ${HOST} - no external IPv4 interface detected.`); 111 + } 112 + } 113 + console.log("(Ctrl+C to stop)"); 114 + }); 115 + } 116 + 117 + start(PORT, 20);
+272
src/actions.lua
··· 1 + -- actions / navigation 2 + 3 + function open_timeline(refresh) 4 + scr=scr_timeline 5 + posts=feed 6 + if refresh then 7 + feed={} posts=feed 8 + sel=1 scroll=0 9 + loading=true 10 + if ONLINE then enqueue(op_req_timeline,active_feed-1) 11 + else seed_mock_feed() end 12 + else 13 + sel=prev_sel scroll=prev_scroll 14 + just_switched=true 15 + end 16 + end 17 + 18 + function open_thread(refid,focus_refid) 19 + prev_sel=sel prev_scroll=scroll 20 + if loading then discard_loading=true end -- discard any in-flight REQ_MORE response 21 + thread_focus=focus_refid or 0 22 + scr=scr_thread 23 + thread={} posts=thread 24 + sel=1 scroll=0 25 + loading=true 26 + if ONLINE then enqueue(op_req_thread,refid) 27 + else mock_thread(refid) end 28 + end 29 + 30 + -- open compose. rt>0 = reply to that refid; q>0 = quote that refid (qn = its 31 + -- author name, shown in the header). rt and q are mutually exclusive in practice. 32 + function open_compose(rt,q,qn) 33 + scr=scr_compose 34 + reply_to=rt or 0 35 + quote_of=q or 0 36 + quote_name=qn or "" 37 + draft="" 38 + poke(0x5f2d,1) -- enable keyboard 39 + end 40 + 41 + -- clear the compose draft + reply/quote target (post sent, or compose cancelled) 42 + function reset_draft() 43 + draft="" reply_to=0 quote_of=0 44 + end 45 + 46 + function send_draft() 47 + if #draft==0 then return end 48 + if ONLINE then 49 + if quote_of>0 then 50 + enqueue(op_post_quote,quote_of,draft) 51 + elseif reply_to>0 then 52 + enqueue(op_post_reply,reply_to,draft) 53 + else 54 + enqueue(op_post_create,0,draft) 55 + end 56 + set_status"posting..." 57 + scr=scr_timeline posts=feed 58 + else 59 + mock_send() 60 + end 61 + end 62 + 63 + function load_more() 64 + if ONLINE and hasmore and not loading then 65 + loading=true 66 + enqueue(op_req_more) 67 + end 68 + end 69 + 70 + -- demo only: mock feed in lua; no js bridge needed. shrinko8 strips on ONLINE true. 71 + if not ONLINE then 72 + -- find a post by refid across the timeline + open thread (demo thread lookup); 73 + -- demo refids are unique, so r=r or p keeps the first match like the old loop. 74 + function find_post(id) 75 + local r 76 + eachpost(id,function(p) r=r or p end) 77 + return r 78 + end 79 + 80 + -- read a 16x16 avatar from the sprite sheet at gfx coords (sx,sy); demo avatars 81 + -- are baked there by tools/bake-avatars.py (online avatars arrive over gpio). 82 + function sget_avatar(sx,sy) 83 + local px={} 84 + for dy=0,15 do 85 + for dx=0,15 do add(px,sget(sx+dx,sy+dy)) end 86 + end 87 + return px 88 + end 89 + 90 + function mock_post(nm,hd,rt,tx,li,rp,re,id) 91 + return {name=nm,handle=hd,reltime=rt,text=tx, 92 + likes=li,reposts=rp,replies=re,refid=id,depth=0, 93 + img_state=0,expanded=false,scroll=0,vis_lines=3, 94 + liked=false,reposted=false,avatar_pixels=nil,linktext="",alt=""} 95 + end 96 + 97 + -- 32x32 post images packed as 1024 hex chars (1 lua token each). generated by 98 + -- tools/gen-image.py; re-run only if the source images in tools/ change. 99 + local fox_hex="cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcddc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cc6cdcddcdcdcdcdcdcdcdcddcdcdcdcdcdc6cd4dc6cdc6cdc6c6cd4c6c6cdc6cdcdcdc44dc6cdc6cdcdc44dcdcdc6cdcc6c6c6d445c6cdcdc6c44dc6c6cdcdc6dcdcdcc4442dc6c6cd424cdcdcdc6cdcc6c6cd6d445ddd444444dc6c6c6cdc6cdcdcdccddcdd49489444ddcdcdcdc6cdc6cdc6c6cd9444444494446c6cdc6cdcdcdc6cdcd4454494984544dcdc6cdcdcc6cdcdc6d40652444406529dcdcdc6cddc6c6cdc492004494420044dc6c6cdc6cdcdcdc64444449849444444cdcdc6cdc6c6c6cd444444405444494ec6c6cdc6dcdcdcdc494947100df4444ddcdcdcdcc6cdc6c6d4847f7d6f7f494c6c6c6c6cdcdc6cdcc49477f7777444d6cdcdcdcdc6cdcdc6dc44f7767f7494dcdc6cdc6cdc6c6cdcce494f67f6f4449c6cdc6cdccdcdcdc6d44444f77f69448dcdcdcdcdc6cdc6cdc4944776767f4944444ec6c6dc6cdcdc6448f777f767444949444cdccdcdc6cdc449767677f7f448444984cd353535353494f77f777649494984495333b5b35b55444f776749444444977f535b535b53b34944f77f4449894476776335b5b5b5354444f6f44944444f77f77d35335335b59fff4774ffe4949767767d3b5b5b5b5b67776d6f777e444f77677d535b533535f767db3f767d449477f7633b5335b33b567db5b567db3454df7633" 100 + local npmx_hex="00000000000000000000000000000000000000000000000000000000000000000000010010010010010010010010000000010000000000000000000000000100000000010010010010010015d500000000100100000000000000005771001000000000001005001005001067d00000100001001000000000000005771001000000000000500010050010067d000001000010050000100000000057750010000000000000000005000100d7d000005000000100010010000000057750010000000000010000001001050d7600000001000010000500500000001f750001010000000010000000010010d76001000000100010000100010000007750000010000000000500010000500d7610010000500000010000000050001f7500000010000000000010050000005761001000000100001000055510000077d00000100500000000100555500105770010000000001000100005551000067d00001050001000000010051510005771001000001000000000000000001067d0000000000001000010100000000577100101010105000000000050010101510000000000000010000100000000000000100500500000000000001001000000100000000001001000101000000500100005000010000000000000105000000001000010000500000000100000001005000010001000000000000000000000000000000000000000" 101 + 102 + -- unpack a 1024-char hex string into a 1024-element pico-8 pixel array (32x32). 103 + function unpack_img(s) 104 + local px={} 105 + for i=1,#s do add(px,tonum("0x"..sub(s,i,i))) end 106 + return px 107 + end 108 + 109 + -- mock feed: name|handle|reltime|text|li|rp|re|refid per line; avatars in gfx rows 16-127. 110 + function seed_mock_feed() 111 + feed={} 112 + -- depth-1 reply posts (refids 5001/2001/3001) are interspersed inline so the 113 + -- feed shows reply indentation naturally, like a real bluesky timeline. 114 + local data=[[Vincent|vinnymac.dev|1m|welcome to picosky! these posts live right inside the cart. press d for the credits. tap the tv icon to toggle crt. this text is intentionally long so you can test expand and collapse.|42|7|3|1 115 + Jay|jay.bsky.team|31m|custom feeds are the best thing we shipped. lexicon composability makes it possible.|203|37|14|5 116 + Vincent|vinnymac.dev|30m|this is why i built picosky :)|8|1|0|5001 117 + Bluesky|bsky.app|17m|the firehose flows even when you're not watching.|894|201|76|4 118 + zep.p8|lexaloffle.bsky.social|4m|pico-8 + bluesky. who would've thought.|128|19|11|2 119 + Emily Liu|emilyliu.me|3m|agreed - tiny client. big protocol.|4|0|0|2001 120 + Paul Frazee|pfrazee.com|9m|atproto keeps getting more interesting the deeper you go.|311|48|22|3 121 + Jay|jay.bsky.team|8m|this is why we open-sourced everything from day one.|6|1|0|3001 122 + Emily Liu|emilyliu.me|45m|just finished this little illustration. fall feels.|167|29|8|6 123 + Danabra|danabra.mov|1h|motion is the message|88|12|5|7 124 + Daniel Roe|danielroe.dev|1h 20m|once you go npmx it is hard to go back. dont get me started on the graphs.|112|18|9|10 125 + npmx|npmx.dev|2h|the ecosystem is finally growing up. everyone's shipping smaller and faster.|88|14|7|9 126 + bnewbold|bnewbold.net|2h 30m|lexicon design is hard. every field name you pick haunts you.|74|9|6|8]] 127 + for r in all(split(data,"\n")) do 128 + local f=split(r,"|",false) 129 + f[8]+=0 130 + add(feed,mock_post(unpack(f))) 131 + end 132 + feed[3].depth=1 -- vincent→jay reply 133 + feed[6].depth=1 feed[6].avatar_pixels=sget_avatar(0,80) -- emily→zep reply 134 + feed[8].depth=1 feed[8].avatar_pixels=sget_avatar(0,64) -- jay→pfrazee reply 135 + feed[4].linktext="AT Protocol Overview" 136 + feed[9].img_state=2 feed[9].pixels=unpack_img(fox_hex) 137 + feed[9].alt="a small red fox curled up in a pile of autumn leaves" 138 + feed[11].img_state=2 feed[11].pixels=unpack_img(npmx_hex) 139 + feed[11].alt="the npmx logo" 140 + feed[2].avatar_pixels=sget_avatar(0,64) -- jay 141 + feed[5].avatar_pixels=sget_avatar(0,16) -- zep 142 + feed[7].avatar_pixels=sget_avatar(0,32) -- pfrazee 143 + feed[9].avatar_pixels=sget_avatar(0,80) -- emily 144 + feed[10].avatar_pixels=sget_avatar(0,48) -- danabra 145 + feed[11].avatar_pixels=sget_avatar(0,96) -- danielroe 146 + feed[12].avatar_pixels=sget_avatar(0,112) -- npmx 147 + posts=feed 148 + loading=false 149 + hasmore=false 150 + end 151 + 152 + -- per-post thread replies: root_refid|name|handle|reltime|text|li|rp|re|reply_refid|avslot 153 + -- avslot: -1=none, else row=slot*16+16 (0=zep,1=pfrazee,2=danabra,3=jay,4=emily,5=danielroe,6=npmx) 154 + local tdat=[[1|Jay|jay.bsky.team|3m|love this. a social client on a fantasy console.|9|1|0|101|3 155 + 1|Emily Liu|emilyliu.me|2m|the crt mode. instant follow.|5|0|0|102|4 156 + 2|Paul Frazee|pfrazee.com|5m|and we almost didn't ship it. glad we did.|11|1|0|201|1 157 + 2|Danabra|danabra.mov|4m|the crossover i didn't know i needed.|7|0|0|202|2 158 + 3|bnewbold|bnewbold.net|4m|jetstream is right there if you want it.|8|1|0|301|-1 159 + 3|Paul Frazee|pfrazee.com|3m|subscribe at events.feeds.bsky.app|5|0|0|302|1 160 + 4|Vincent|vinnymac.dev|2m|you're looking at it :)|11|2|0|401|-1 161 + 4|Danabra|danabra.mov|1m|the crossover i needed.|7|0|0|402|2 162 + 5|bnewbold|bnewbold.net|3m|wait until you hit lexicon design.|8|1|0|501|-1 163 + 5|Jay|jay.bsky.team|2m|this is why we open-sourced everything.|6|0|0|502|3 164 + 6|Jay|jay.bsky.team|3m|every shipped thing counts.|9|1|0|601|3 165 + 6|Danabra|danabra.mov|2m|the palette. perfection.|8|0|0|602|2 166 + 7|Paul Frazee|pfrazee.com|2m|mcluhan was right.|6|1|0|701|1 167 + 7|Emily Liu|emilyliu.me|1m|motion as narrative. i feel it.|5|0|0|702|4 168 + 8|Paul Frazee|pfrazee.com|3m|still have regrets about 'cid'.|8|1|0|801|1 169 + 8|Jay|jay.bsky.team|2m|every field name is a long-term commitment.|6|0|0|802|3 170 + 9|bnewbold|bnewbold.net|4m|the ecosystem never stops shipping.|5|0|0|901|-1 171 + 9|Emily Liu|emilyliu.me|3m|as a js dev i feel this deeply.|7|1|0|902|4 172 + 10|Paul Frazee|pfrazee.com|4m|i have not looked at npm.im since.|7|1|0|1001|1 173 + 10|Jay|jay.bsky.team|3m|the dependency graph view is genuinely good.|5|0|0|1002|3]] 174 + 175 + -- demo thread: open post + unique depth-1 replies looked up from tdat 176 + function mock_thread(refid) 177 + local src=find_post(refid) 178 + thread={src or mock_post("?","?","","this post left the demo feed.","0","0","0",refid)} 179 + for row in all(split(tdat,"\n")) do 180 + local f=split(row,"|",false) 181 + if f[1]+0==refid then 182 + local r=mock_post(f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]+0) 183 + r.depth=1 184 + local av=f[10]+0 185 + if av>=0 then r.avatar_pixels=sget_avatar(0,av*16+16) end 186 + add(thread,r) 187 + end 188 + end 189 + posts=thread 190 + loading=false 191 + end 192 + 193 + -- demo: echo a composed draft into the feed so posting feels real 194 + function mock_send() 195 + add(feed,mock_post("you","you.demo","now",draft,"0","0","0",9000+#feed),1) 196 + reset_draft() 197 + set_status"posted!" sfx(6) 198 + open_timeline(false) 199 + end 200 + end 201 + 202 + -- m3x6 (daniel linssen): 3px-wide true-lowercase at 0x5600; body+draft opt in via 0x5f58. 203 + function load_font() 204 + poke(0x5600,4,4,7) 205 + local f=split("0x0000.0000,0x0000.0000,0x0202.0202,0x0000.0200,0x0000.0505,0x0000.0000,0x0505.0705,0x0000.0507,0x0407.0106,0x0000.0203,0x0204.0100,0x0000.0401,0x0102.0502,0x0000.0305,0x0000.0102,0x0000.0000,0x0101.0102,0x0000.0201,0x0202.0201,0x0000.0102,0x0205.0000,0x0000.0005,0x0702.0000,0x0000.0002,0x0000.0000,0x0000.0102,0x0700.0000,0x0000.0000,0x0000.0000,0x0000.0200,0x0202.0404,0x0000.0101,0x0505.0506,0x0000.0305,0x0202.0302,0x0000.0702,0x0204.0403,0x0000.0701,0x0403.0403,0x0000.0304,0x0406.0505,0x0000.0404,0x0403.0107,0x0000.0304,0x0503.0106,0x0000.0605,0x0204.0407,0x0000.0202,0x0502.0506,0x0000.0305,0x0605.0503,0x0000.0304,0x0002.0000,0x0000.0002,0x0002.0000,0x0000.0102,0x0102.0400,0x0000.0402,0x0007.0000,0x0000.0007,0x0402.0100,0x0000.0102,0x0204.0403,0x0000.0200,0x0505.0506,0x0000.0601,0x0604.0300,0x0000.0705,0x0505.0301,0x0000.0705,0x0101.0600,0x0000.0701,0x0505.0604,0x0000.0705,0x0705.0600,0x0000.0601,0x0702.0204,0x0000.0202,0x0705.0600,0x0000.0304,0x0505.0301,0x0000.0505,0x0202.0002,0x0000.0202,0x0202.0002,0x0000.0102,0x0305.0101,0x0000.0505,0x0202.0202,0x0000.0402,0x0707.0300,0x0000.0507,0x0505.0300,0x0000.0505,0x0505.0600,0x0000.0305,0x0305.0700,0x0000.0101,0x0705.0600,0x0000.0404,0x0101.0600,0x0000.0101,0x0701.0600,0x0000.0304,0x0207.0202,0x0000.0202,0x0505.0500,0x0000.0705,0x0505.0500,0x0000.0205,0x0705.0500,0x0000.0507,0x0205.0500,0x0000.0505,0x0605.0500,0x0000.0304,0x0204.0700,0x0000.0701,0x0101.0103,0x0000.0301,0x0202.0101,0x0000.0404,0x0202.0203,0x0000.0302,0x0000.0502,0x0000.0000,0x0000.0000,0x0000.0403,0x0000.0201,0x0000.0000,0x0507.0506,0x0000.0505,0x0507.0503,0x0000.0705,0x0101.0106,0x0000.0701,0x0505.0503,0x0000.0305,0x0103.0107,0x0000.0701,0x0301.0106,0x0000.0101,0x0501.0106,0x0000.0705,0x0507.0505,0x0000.0505,0x0202.0207,0x0000.0702,0x0404.0407,0x0000.0304,0x0503.0505,0x0000.0505,0x0101.0101,0x0000.0701,0x0507.0705,0x0000.0505,0x0505.0503,0x0000.0505,0x0505.0506,0x0000.0305,0x0103.0507,0x0000.0101,0x0505.0506,0x0000.0403,0x0503.0507,0x0000.0505,0x0407.0106,0x0000.0304,0x0202.0207,0x0000.0202,0x0505.0505,0x0000.0705,0x0505.0505,0x0000.0205,0x0705.0505,0x0000.0507,0x0202.0505,0x0000.0505,0x0205.0505,0x0000.0202,0x0202.0407,0x0000.0701,0x0302.0204,0x0000.0402,0x0202.0202,0x0000.0202,0x0602.0201,0x0000.0102,0x0704.0000,0x0000.0001,0x0205.0200,0x0000.0000",",",false) 206 + for i=0,#f-1 do poke4(0x5700+i*4,tonum(f[i+1])) end 207 + -- m3x6's true lowercase sits at the uppercase code points (pico-8 convention); 208 + -- swap the a-z and a-z glyph banks so standard ascii renders real lowercase. 209 + for i=520,727 do -- 65*8 .. 90*8+7; +256 = matching a-z slot 210 + local a=0x5600+i 211 + local t=peek(a) poke(a,peek(a+256)) poke(a+256,t) 212 + end 213 + end 214 + 215 + -- uppercase ascii (no string.upper in pico-8). the reltime reads best as the 216 + -- native font's short uppercase glyphs, so we force it up before drawing. 217 + function upper(s) 218 + local o="" 219 + for i=1,#s do 220 + local n=ord(s,i) 221 + o=o..(n>=97 and n<=122 and chr(n-32) or sub(s,i,i)) 222 + end 223 + return o 224 + end 225 + 226 + function _init() 227 + load_font() 228 + poke(0x5f2d,1) -- mouse+keyboard 229 + theme=(rpin(126)>>1)&1 -- adopt the page theme set before boot (no light flash) 230 + pal(13,140,1) -- shadow 13 -> bluesky deep blue #065ab5 231 + -- static pause-menu items registered once; music/theme/feed update live in _update. 232 + menuitem(4,"refresh feed",function() open_timeline(true) end) 233 + menuitem(5,"credits",function() enter_demo() end) 234 + wpin(p_turn,their_turn) -- let js go first 235 + open_timeline(true) 236 + scr=scr_splash 237 + end 238 + 239 + function update_splash() 240 + stik+=1 241 + if stik>132 or btnp(4) or btnp(5) then scr=scr_boot end 242 + end 243 + 244 + function _update() 245 + comms_update() 246 + if scr==scr_splash then 247 + update_splash() 248 + elseif scr==scr_compose then 249 + update_compose() 250 + elseif scr==scr_demo then 251 + update_demo() 252 + else 253 + update_nav() 254 + end 255 + if scr==scr_boot and #feed>0 then 256 + scr=scr_timeline 257 + sfx(9) -- boot fanfare 258 + end 259 + -- adopt page theme (pin 126 bit1) on change; local toggle round-trips harmlessly. 260 + local pt=(rpin(126)>>1)&1 261 + if pt~=last_pt then theme=pt last_pt=pt end 262 + -- refresh pause-menu labels from one spot; _update frozen while menu is open. 263 + if demo_track~=mi_track then mi_track=demo_track menuitem(1,music_label(),music_menu) end 264 + if theme~=mi_theme then mi_theme=theme menuitem(2,theme_label(),theme_menu) end 265 + -- feed switcher: appears once js sends >1 feed; reloads timeline after menu closes. 266 + if #feeds>1 and active_feed~=mi_feed then mi_feed=active_feed menuitem(3,feed_label(),feed_menu) end 267 + if active_feed~=loaded_feed and scr==scr_timeline then loaded_feed=active_feed open_timeline(true) end 268 + -- a screen change kicks off the wavy reveal wipe (drawn in _draw). 269 + if scr~=lastscr then scr_wt=time() trans_dir=scr>lastscr and 1 or -1 prev_was_thread=lastscr==scr_thread prev_was_compose=lastscr==scr_compose lastscr=scr end 270 + -- tell js via pin 127: bit0=compose_intent (ios keyboard), bit1=theme (page mirrors). 271 + wpin(127,compose_intent()|(theme<<1)) 272 + end
+340
src/cart.p8
··· 1 + pico-8 cartridge // http://www.pico-8.com 2 + version 42 3 + __lua__ 4 + --keep: picosky 5 + --keep: made by vinnymac ♥ 6 + -- source cart: #includes src/*.lua; `make` to build (ONLINE true|false set by shrinko8) 7 + --lint: ONLINE 8 + 9 + #include comms.lua 10 + #include state.lua 11 + #include actions.lua 12 + #include input.lua 13 + #include render.lua 14 + #include demo.lua 15 + 16 + __gfx__ 17 + 00cc00000000cc000c0000c000000000000c00000000c00000000000000000000777777000000070077007700770077000000770007770000000000077000077 18 + 0cccc000000cccc0ccc00ccc0000000000ccc000000ccc00000cc000000cc0007000000777777777777777777007700700007770070007700770077070077707 19 + cccccc0000cccccccccddccc000000000ccccc0000ccccc000cccc0000cccc007000000700000070777777777000000700077700700007770770077077000077 20 + ccccccc00ccccccc0cdccdc0000000000cccccc00cccccc000ccccc00ccccc007000000707000000077777700700007000777000700000770770077070077007 21 + ccccccd00dcccccc0cdccdc0000000000cccccd00dccccc000ccccd00dcccc000777777077777777007777000070070007770000700000070070007077000077 22 + cccccdd00ddccccccccddccc000000000ccccdd00ddcccc000cccdd00ddccc000077000007000000000770000007700077700000070000700700070070777007 23 + 0ccccddccddcccc0ccc00ccc0000000000cccddccddccc00000ccddccddcc0000070000000000000000000000000000070000000007777000000000077000077 24 + 00cccddccddccc000c0000c000000000000ccddccddcc0000000cddccddc00000000000000000000000000000000000000000000000000000000000000000000 25 + 000ccddccddcc00000000000000000000000cddccddc000000000ddccdd000000000000000000000000000000000000000000000000000000000000000000000 26 + 00ccccddddcccc000000000000000000000cccddddccc0000000ccddddcc00000000000000000000000000000000000000000000000000000000000000000000 27 + 0cccccddddccccc0000000000000000000ccccddddcccc00000cccddddccc0000000000000000000000000000000000000000000000000000000000000000000 28 + ccccccddddcccccc00000000000000000cccccddddccccc000ccccddddcccc000000000000000000000000000000000000000000000000000000000000000000 29 + ccccccddddcccccc00000000000000000cccccddddccccc000ccccddddcccc000000000000000000000000000000000000000000000000000000000000000000 30 + 0cccccddddccccc0000000000000000000ccccddddcccc00000cccddddccc0000000000000000000000000000000000000000000000000000000000000000000 31 + 00cccc0000cccc000000000000000000000ccc0000ccc0000000cc0000cc00000000000000000000000000000000000000000000000000000000000000000000 32 + 0000cc0000cc0000000000000000000000000c0000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 33 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 34 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 35 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 36 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 37 + 88888ccccc88f8880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 38 + 88888ccccc2ff8880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 39 + 88888c1ff12888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 40 + 88888c66f62888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 41 + 8888fccccc6f88880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 42 + 888f8ccccce888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 43 + 888e88c8e88888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 44 + 8884f2f2228888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 45 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 46 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 47 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 48 + 88888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 49 + 66665665565665660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 50 + 655f6554454555650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 51 + ff5565455445f5550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 52 + 5665554ff45f55f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 53 + 6ff554ffffff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 54 + f66554f6ffff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 55 + f6f54f656fff55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 56 + 66f3ff555655f5550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 57 + 6ff54f655f5555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 58 + 66654fff4f4f55050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 59 + f66655f4fff555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 60 + 66f5f4ffff4555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 61 + 6665f554f45555450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 62 + 6f65fff4545555050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 63 + 665507fff55055550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 64 + 55005167f55556660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 65 + 6d66d6dd66d66d6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 66 + 6dc661d1d5dc666d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 67 + 66cd5dd555d56cc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 68 + d6515000000056d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 69 + c6d505656660556d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 70 + 6dd005f66665006c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 71 + 6cd055d6f6600d660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 72 + d6655504405556cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 73 + 66dd5555d5656dd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 74 + 666655456f6d6d660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 75 + 66d6554554fddd6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 76 + 66d6d554255d6cd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 77 + 7d776555565d6dd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 78 + 76766505555dd6c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 79 + 7667445055652ddd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 80 + 77542545556522660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 81 + f4455555556f55550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 82 + f455455f45f555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 83 + 4ff34555555533530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 84 + f6455050555454530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 85 + 55f505fff053ff570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 86 + 455505ffff0566660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 87 + 66555445555f33550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 88 + 55504f6ff4554f530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 89 + 555054fff45555f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 90 + f5000445f05563340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 91 + a30405fff055ff530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 92 + 34400554005fff430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 93 + 5450055500556fff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 94 + 550550050555f6ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 95 + 505555555045f6650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 96 + 5545550005555f660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 97 + ccccccc666666ccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 98 + ccccccc66676666c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 99 + ccccccdccccccc6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 100 + ccccccf7ff7ff6cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 101 + ccccdcff665f7fc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 102 + c6c6ccff656765560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 103 + 66766666ff6f55f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 104 + 6676667ff65055570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 105 + 55366335755555570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 106 + f55f6553355555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 107 + 763f677f544505530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 108 + 3556677555f003550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 109 + 53566676505055550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 110 + faa5566665505f530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 111 + 355366f775505ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 112 + 353a36f775554ff30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 113 + 11111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 114 + 11101144401101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 115 + 11110055445111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 116 + 1100504fff5110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 117 + 1110044ff7f011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 118 + 1110044f544101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 119 + 1100044044f111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 120 + 1112044ff4f511110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 121 + 10144544444510110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 122 + 11104054444110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 123 + 110104044ff110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 124 + 11111450055011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 125 + 10115440051011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 126 + 1100ff44541101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 127 + 1d420400551101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 128 + dd1f44110145d2110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 129 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 130 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 131 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 132 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 133 + 00000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 134 + 00000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 135 + 00000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 136 + 00000000007500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 137 + 00000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 138 + 00055000065000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 139 + 00055000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 140 + 00000000560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 141 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 142 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 143 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 144 + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 145 + __label__ 146 + cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 147 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 148 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 149 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 150 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 151 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 152 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 153 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 154 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 155 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 156 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 157 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 158 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 159 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 160 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 161 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 162 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 163 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 164 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 165 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 166 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 167 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 168 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 169 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 170 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 171 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 172 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 173 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 174 + c777777777777777777777777777777777cccccccccc7777777777777777777777777777777777777777cccccccccc777777777777777777777777777777777c 175 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 176 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 177 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 178 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 179 + c7777777777777777777777777777cccccccccccccccccccc777777777777777777777777777777cccccccccccccccccccc7777777777777777777777777777c 180 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 181 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 182 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 183 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 184 + c77777777777777777777777cccccccccccccccccccccccccccccc77777777777777777777cccccccccccccccccccccccccccccc77777777777777777777777c 185 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 186 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 187 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 188 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 189 + c77777777777777777777777ccccccccccccccccccccccccccccccccccc7777777777ccccccccccccccccccccccccccccccccccc77777777777777777777777c 190 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 191 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 192 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 193 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 194 + c77777777777777777777777cccccccccccccccccccccccccccccc11111777777777711111cccccccccccccccccccccccccccccc77777777777777777777777c 195 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 196 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 197 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 198 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 199 + c77777777777777777777777ccccccccccccccccccccccccc111111111177777777771111111111ccccccccccccccccccccccccc77777777777777777777777c 200 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 201 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 202 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 203 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 204 + c7777777777777777777777777777cccccccccccccccccccc1111111111cccccccccc1111111111cccccccccccccccccccc7777777777777777777777777777c 205 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 206 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 207 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 208 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 209 + c777777777777777777777777777777777ccccccccccccccc1111111111cccccccccc1111111111ccccccccccccccc777777777777777777777777777777777c 210 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 211 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 212 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 213 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 214 + c77777777777777777777777777777777777777cccccccccc1111111111cccccccccc1111111111cccccccccc77777777777777777777777777777777777777c 215 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 216 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 217 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 218 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 219 + c777777777777777777777777777777777cccccccccccccccccccc11111111111111111111cccccccccccccccccccc777777777777777777777777777777777c 220 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 221 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 222 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 223 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 224 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 225 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 226 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 227 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 228 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 229 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 230 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 231 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 232 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 233 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 234 + c77777777777777777777777cccccccccccccccccccccccccccccc11111111111111111111cccccccccccccccccccccccccccccc77777777777777777777777c 235 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 236 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 237 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 238 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 239 + c7777777777777777777777777777ccccccccccccccccccccccccc11111111111111111111ccccccccccccccccccccccccc7777777777777777777777777777c 240 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 241 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 242 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 243 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 244 + c777777777777777777777777777777777cccccccccccccccccccc77777777777777777777cccccccccccccccccccc777777777777777777777777777777777c 245 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 246 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 247 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 248 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 249 + c7777777777777777777777777777777777777777777cccccccccc77777777777777777777cccccccccc7777777777777777777777777777777777777777777c 250 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 251 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 252 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 253 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 254 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 255 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 256 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 257 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 258 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 259 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 260 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 261 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 262 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 263 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 264 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 265 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 266 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 267 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 268 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 269 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 270 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 271 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 272 + c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777c 273 + cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 274 + __sfx__ 275 + 00060000284502d445000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 276 + 00060000244501f443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 277 + 000700002b36032365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 278 + 00060000284502d450344650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 279 + 000400003043500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 280 + 000400002643500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 281 + 0005000024460284602b4703047030465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 282 + 00070000223601e3601a3630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 283 + 000800003055637547000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 284 + 000800002b46030460344703747034450374650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 285 + 015a0000070201702017025020201502015025070201702017025020201502015025070202a0302d0302b0202a020250202302025030260300202015030150350702017020170250202015020150250702017020 286 + 015a0000000001a0201a025000001902019025000001a0201a0250000019020190250000017020170250202015020150250702017020170252102019030190351e0201a0201a025000001902019025000001a020 287 + 015a0000000001e0201e025000001e0201e025000001e0201e025000001e0201e025000001a0201a0252d0351902019025250251a0201a025260351e0301e035000001e0201e0201e0251e0201e0201e0251e020 288 + 015a0000000000702007025000000202002025000000702007025000000202002025000001e0201e025000001e0201e025000001e0201e0250000002020020250000007020070250000002020020250000007020 289 + 015a000017025020201502015025070202a0202d0302b0302a0202502023020250302602002020150201502506020150301503500020170201702504020130201302504020170201702502020110201102521030 290 + 015a00001a0250000019020190250000017020170250202015020150250702017030170352102019020190252503019030190352a0301a0201a0251c0201702017025000001a0201a02500000150201502500020 291 + 015a00001e0201e0251e0201e025000001a0201a0252d0351902019025250251a0301a035260251e0201e025000001e0301e035000001e0201e025000000402004025000001f0201f025000001a0201a02500000 292 + 015a000007025000000202002025000001e0201e025000001e0201e025000001e0301e035000000202002025000000602006025000000002000025000001c0201c0201c0201c0201c0201c0201c0201c02500000 293 + 015a00002303024030280302603023020260202403023030020201a0201a025020201a0202603028030290302b0302d0302402026030280302602023020020201a0201a025020201a02026030040201702017025 294 + 015a00001502015025020201302013025020200e0200e025260300c0300c035000000c0200c025020201502015025020201502015025020200e0200e025260300c0200c025000000c0200c0252b0301c0201c025 295 + 015a000018020180252403517020170252302513020130252303510030100350000012020120252603518020180252b0351802018025260351302013025230251002010025000001202012025260351f0201f025 296 + 015a00001c0201c025000001c0201c025000001c0201c0201c0251503015035000001502015025000001d0201d025000001c0201c025000001c0201c0201c0251502015025000001502015025000000402004025 297 + 015a0000060201502015025230202102023020250302603028030250302603028030040200b020100302103021030210351a0301a0301a0350701017020170250202015020150250702017020170250202015020 298 + 015a00002a03019020190250002017030170350402019030190350402015020150251e02015020170300902009020090251e0301e0301e035000001a0201a025000001902019025000001a0201a0250000019020 299 + 015a0000000001e0201e025000001a0301a035230251c0301c035280351902019025280351a0201a030130201302013025210302103021035000001e0201e025000001e0201e025000001e0201e025000001e020 300 + 015a0000000000602006025000001e0301e03500000210302103500000210202102500000040251f0202403024030240352603026030260350000007010070150000002020020250000007020070250000002020 301 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d02529020290202902029020290202902029020290202902029020290202902029020290202902029020 302 + 01050000200202002020020200202002020020200202002020020200202002020020200202002020020200252c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c020 303 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d020 304 + 010500002002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020 305 + 010500002902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020290202902029020 306 + 010500002c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c020 307 + 010500002902029020290202902029020290202902029020290202902029020290202902029020290202902525020250202502025020250202502025020250202502025020250202502025020250202502025020 308 + 010500002c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c0202c02529020290202902029020290202902029020290202902029020290202902029020290202902029020 309 + 010500002502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020250202502025020 310 + 010500001d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d0201d025 311 + 010500002002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020020200202002020025 312 + 011600001e5201e5201e5201e5201e5201e5201e5201e52521520215202152021520215202152021520215251a5201a5201a5201a5201a5201a5201a5201a5251e5201e5201e5201e5201e5201e5201e5201e525 313 + 011600000e5340e5300e5300e5300e5300e5300e5300e53509534095300953009530095300953009530095350b5340b5300b5300b5300b5300b5300b5300b5350653406530065300653006530065300653006535 314 + 011600002652026520265202652026520265202652026525255202552025520255202552025520255202552523520235202352023520235202352023520235252152021520215202152021520215202152021525 315 + 011600001552015520155201552015520155201552015525105201052010520105201052010520105201052512520125201252012520125201252012520125250d5200d5200d5200d5200d5200d5200d5200d525 316 + 0116000017520175201752017520175201752017520175251e5201e5201e5201e5201e5201e5201e5201e5251a5201a5201a5201a5201a5201a5201a5201a5251c5201c5201c5201c5201c5201c5201c5201c525 317 + 011600000753407530075300753007530075300753007535025340253002530025300253002530025300253507534075300753007530075300753007530075350952409520095200952009520095200952009525 318 + 011600001f5201f5201f5201f5201f5201f5201f5201f525215202152021520215202152021520215202152523520235202352023520235202352023520235252552025520255202552025520255202552025525 319 + 011600000e5200e5200e5200e5200e5200e5200e5200e5250e5200e5200e5200e5200e5200e5200e5200e52513520135201352013520135201352013520135251552015520155201552015520155201552015525 320 + 011600001e5201e5201e5201e5201e5201e5201e5201e5251c5201c5201c5201c5201c5201c5201c5201c5251a5201a5201a5201a5201a5201a5201a5201a5251952019520195201952019520195201952019525 321 + 011600000e5240e5200e5200e5200e5200e5200e5200e52509524095200952009520095200952009520095250b5240b5200b5200b5200b5200b5200b5200b5250652406520065200652006520065200652006525 322 + 011600002a5302a5302a5302a5302a5302a5302a5302a535285202852028520285202852028520285202852526530265302653026530265302653026530265352553025530255302553025530255302553025535 323 + 011600001752017520175201752017520175201752017525155201552015520155201552015520155201552517520175201752017520175201752017520175251952019520195201952019520195201952019525 324 + 011600000752407520075200752007520075200752007525025240252002520025200252002520025200252507524075200752007520075200752007520075250953409530095300953009530095300953009535 325 + 011600002353023530235302353023530235302353023535215302153021530215302153021530215302153523530235302353023530235302353023530235352553025530255302553025530255302553025535 326 + 011600001f5201f5201f5201f5201f5201f5201f5201f5251e5201e5201e5201e5201e5201e5201e5201e5251f5201f5201f5201f5201f5201f5201f5201f5252152021520215202152021520215202152021525 327 + __music__ 328 + 01 0a0b0c0d 329 + 00 0e0f1011 330 + 00 12131415 331 + 02 16171819 332 + 01 1a1b1c1d 333 + 00 1e1f1c1d 334 + 00 20211c1d 335 + 02 221e2324 336 + 01 25262728 337 + 00 292a2b2c 338 + 00 2d2e2f27 339 + 02 30313233 340 +
+138
src/comms.lua
··· 1 + -- comms (gpio bridge) 2 + 3 + function rpin(i) return peek(0x5f80+i) end 4 + function wpin(i,v) poke(0x5f80+i,v) end 5 + 6 + -- pin (byte) map 7 + p_turn=0 8 + p_state=1 9 + p_fid=2 10 + p_flen=3 11 + p_dlen=4 12 + p_op=5 13 + p_arg=6 14 + p_data=7 15 + data_bytes=119 16 + 17 + my_turn=0 18 + their_turn=1 19 + 20 + -- opcodes: cart -> js 21 + op_req_timeline=0x10 22 + op_req_thread=0x11 23 + op_req_more=0x12 24 + op_req_demo=0x13 25 + op_req_demo_stop=0x14 26 + op_post_create=0x20 27 + op_post_reply=0x21 28 + op_like=0x22 -- arg=refid, data "1"=like / "0"=unlike 29 + op_repost=0x23 -- arg=refid, data "1"=repost / "0"=unrepost 30 + op_post_quote=0x24 -- arg=refid (quoted post), data=comment text 31 + -- opcodes: js -> cart 32 + op_resp_post=0x30 33 + op_resp_end=0x31 34 + op_resp_error=0x32 35 + op_resp_ok=0x33 36 + op_resp_auth_lost=0x34 37 + op_demo_stop=0x41 38 + op_resp_fire=0x42 39 + op_resp_image=0x35 -- pixelated 32x32 thumbnail (2px/byte, hi nibble first) 40 + op_resp_image_fail=0x36 -- image fetch failed; arg=refid 41 + op_resp_avatar=0x37 -- pixelated 16x16 avatar (2px/byte, 128 bytes, ~2 frames) 42 + op_resp_avatar_fail=0x38 -- avatar fetch failed; arg=refid 43 + op_resp_feeds=0x39 -- subscribed feed names (\1-joined); idx 1=following 44 + 45 + fsep=255 -- field separator 46 + rsep=254 -- record separator 47 + 48 + outq={} -- outbound frame queue 49 + inbuf="" -- inbound assembly buffer 50 + imgbuf={} -- raw byte accumulator for multi-frame image data 51 + avbuf={} -- raw byte accumulator for avatar data (always 1 frame) 52 + 53 + -- split a string into <=119 byte frames and queue them 54 + function enqueue(op,arg,s) 55 + s=s or "" 56 + local n=max(1,ceil(#s/data_bytes)) 57 + for i=1,n do 58 + local chunk=sub(s,1,data_bytes) 59 + s=sub(s,#chunk+1) 60 + add(outq,{op=op,arg=arg or 0,fid=i,flen=n,data=chunk}) 61 + end 62 + end 63 + 64 + function write_frame(f) 65 + wpin(p_op,f.op) 66 + wpin(p_arg,f.arg) 67 + wpin(p_fid,f.fid) 68 + wpin(p_flen,f.flen) 69 + wpin(p_dlen,#f.data) 70 + for i=1,#f.data do 71 + local c=sub(f.data,i,i) 72 + local b=ord(c) or 32 73 + if c=="\n" then b=0 end 74 + wpin(p_data+i-1,b) 75 + end 76 + end 77 + 78 + function clear_out() 79 + wpin(p_op,0) wpin(p_arg,0) 80 + wpin(p_fid,0) wpin(p_flen,0) wpin(p_dlen,0) 81 + end 82 + 83 + -- decode inbound bytes; field/record seps -> \1 / \2 markers 84 + function read_frame() 85 + local op=rpin(p_op) 86 + if op==0 then return end 87 + -- firehose deltas arrive as raw bytes (no text decode / separators) 88 + if op==op_resp_fire then 89 + on_fire( 90 + rpin(p_data),rpin(p_data+1), 91 + rpin(p_data+2),rpin(p_data+3), 92 + rpin(p_data+4),rpin(p_arg)) 93 + return 94 + end 95 + -- frame id / count / payload length, shared by every remaining branch 96 + local fid,flen,dlen=rpin(p_fid),rpin(p_flen),rpin(p_dlen) 97 + if ONLINE then 98 + if op==op_resp_image then 99 + for i=1,dlen do add(imgbuf,rpin(p_data+i-1)) end 100 + if fid>=flen then on_image(rpin(p_arg),imgbuf) imgbuf={} end 101 + return 102 + end 103 + if op==op_resp_image_fail then on_image_fail(rpin(p_arg)) return end 104 + if op==op_resp_avatar then 105 + for i=1,dlen do add(avbuf,rpin(p_data+i-1)) end 106 + if fid>=flen then on_avatar(rpin(p_arg),avbuf) avbuf={} end 107 + return 108 + end 109 + if op==op_resp_avatar_fail then return end 110 + end 111 + local s="" 112 + for i=1,dlen do 113 + local b=rpin(p_data+i-1) 114 + if b==0 then s=s.."\n" 115 + elseif b==fsep then s=s.."\1" 116 + elseif b==rsep then s=s.."\2" 117 + else s=s..chr(b) end 118 + end 119 + inbuf=inbuf..s 120 + if fid>=flen then 121 + local full=inbuf 122 + inbuf="" 123 + on_message(op,rpin(p_arg),full) 124 + end 125 + end 126 + 127 + function comms_update() 128 + if rpin(p_turn)!=my_turn then return end 129 + read_frame() 130 + if #outq>0 then 131 + write_frame(deli(outq,1)) 132 + else 133 + clear_out() 134 + end 135 + wpin(p_state,scr) 136 + wpin(p_turn,their_turn) 137 + end 138 +
+435
src/demo.lua
··· 1 + -- demoscene (firehose): valley→stream→sky→night, bluesky events rain as particles 2 + 3 + parts={} -- firehose particle rain 4 + shoot={} -- shooting stars 5 + stars={} -- starfield (world space, high up) 6 + birds={} -- boids flock (screen space) 7 + demo_t=0 -- loop clock (s) 8 + df=0 -- frame counter (throttles the costly sun glow) 9 + demo_likes=0 -- cumulative firehose tallies, ones place (persist across loops) 10 + demo_posts=0 11 + demo_lk=0 -- thousands place (16.16 fixed-point caps a single int at ~32767) 12 + demo_pk=0 13 + cycle=87 -- loop length (s) 14 + demo_mb=0 -- prev mouse-button state 15 + fire_t=0 -- time() of last real (nonzero) firehose event 16 + demo_track=1 -- selected tune (persists across demo entries) 17 + track_lbl=0 -- show the tune name until this time() 18 + tunes={0,4,8,-1} -- music start patterns: gym,cdl,canon,off 19 + tunenames=split"gymnopedie,clair de lune,canon in d,music off" 20 + 21 + function lerp(a,b,t) return a+(b-a)*t end 22 + function eio(t) return t*t*(3-2*t) end 23 + function clmp(t) return mid(0,t,1) end 24 + -- altitude 0 (ground) .. 1 (night), eased; drives the upward camera pan 25 + function alt() return eio(clmp((demo_t-16)/34)) end 26 + function camtop() return lerp(312,0,alt()) end 27 + function fmtk(k,o) 28 + if k>0 then return k.."."..(o\100).."k" end 29 + return ""..o 30 + end 31 + 32 + -- carry ones>=1000 into thousands so totals never hit the fixed-point cap 33 + function roll() 34 + if demo_likes>=1000 then demo_lk+=demo_likes\1000 demo_likes%=1000 end 35 + if demo_posts>=1000 then demo_pk+=demo_posts\1000 demo_posts%=1000 end 36 + end 37 + 38 + function play_tune() 39 + local m=tunes[demo_track] 40 + if m>=0 then music(m) else music(-1) end 41 + track_lbl=time()+2 42 + end 43 + 44 + -- pause-menu music (slot 1) + theme (slot 2); music is demo-only, synced via _update change-detect. 45 + function music_label() return chr(141).." "..tunenames[demo_track] end -- 141=♪ 46 + function theme_label() return "theme: "..tc("day","night") end 47 + 48 + function music_menu(b) -- ←=prev, →/🅾/❎=next; "music off" is part of the cycle 49 + if b&1>0 then demo_track=(demo_track+2)%4+1 else demo_track=demo_track%4+1 end 50 + if scr==scr_demo then play_tune() end -- audible only in the demo; elsewhere just arm it 51 + menuitem(nil,music_label()) return true 52 + end 53 + function theme_menu() 54 + theme=1-theme sfx(0) menuitem(nil,theme_label()) return true 55 + end 56 + -- feed switcher (slot 3): mutates active_feed; timeline reloads after menu closes. 57 + function feed_label() return "feed: "..feedsm[active_feed] end 58 + function feed_menu(b) 59 + if #feeds<2 then return true end 60 + if b&1>0 then active_feed=(active_feed-2+#feeds)%#feeds+1 61 + else active_feed=active_feed%#feeds+1 end 62 + sfx(0) menuitem(nil,feed_label()) return true 63 + end 64 + 65 + function enter_demo() 66 + scr=scr_demo 67 + demo_t=0 df=0 68 + parts={} shoot={} 69 + demo_likes=0 demo_posts=0 demo_lk=0 demo_pk=0 -- cumulative this session 70 + stars={} 71 + for _=1,40 do 72 + add(stars,{x=rnd(128),y=rnd(120),p=rnd(1)}) 73 + end 74 + init_birds() 75 + build_lut() 76 + enqueue(op_req_demo) 77 + demo_mb=0 78 + fire_t=time() 79 + play_tune() 80 + track_lbl=time()+5 -- keep readable for ~2s after the 3s fade-in 81 + end 82 + 83 + function exit_demo() 84 + parts={} 85 + pal() 86 + music(-1) 87 + open_timeline(false) 88 + sfx(1) 89 + end 90 + 91 + function quit_demo() 92 + enqueue(op_req_demo_stop) 93 + exit_demo() 94 + end 95 + 96 + -- per-kind firehose particle: {y, vy base, vy*rnd range, colour}. kind 4 + kind-1 colour flip stay inline. 97 + sd={{-4,.4,.5,8},{132,-.5,-.6,12},{132,-.4,-.5,11}} 98 + function spawn(kind,n) 99 + -- stop spawning ~3s before credits vanish so particles drift off before the seam. 100 + if demo_t>=72 then return end 101 + local cap=alt()>0.8 and 14 or 46 102 + for _=1,min(n,4) do 103 + if #parts>=cap then return end 104 + local p={kind=kind,t=rnd(1),x=rnd(128)} 105 + if kind<4 then 106 + local d=sd[kind] 107 + p.y=d[1] p.vy=d[2]+d[3]*rnd(1) p.c=d[4] 108 + if kind==1 and rnd(1)<.5 then p.c=14 end 109 + else 110 + p.y=20+rnd(90) p.vy=-.2-rnd(.3) p.c=10 111 + end 112 + add(parts,p) 113 + end 114 + end 115 + 116 + function on_fire(po,li,re,fo,de) 117 + if po+li+re+fo>0 then fire_t=time() end 118 + demo_likes+=li demo_posts+=po roll() 119 + spawn(1,li) spawn(2,po) spawn(3,re) spawn(4,fo) 120 + for _=1,min(de,4) do 121 + if #parts>0 then deli(parts,1) end 122 + end 123 + end 124 + 125 + function sim_fire() 126 + local li=flr(rnd(3)) 127 + local po=rnd(1)<0.35 and 1 or 0 128 + demo_likes+=li demo_posts+=po roll() 129 + spawn(1,li) spawn(2,po) 130 + spawn(3,rnd(1)<0.12 and 1 or 0) spawn(4,rnd(1)<0.25 and 1 or 0) 131 + end 132 + 133 + function update_demo() 134 + local mx,my,mb=stat(32),stat(33),stat(34)&1 135 + local tap=mb==1 and demo_mb==0 and mx>=116 and mx<=127 and my>=1 and my<=12 136 + demo_mb=mb 137 + -- ❎ maps to x/v/m; route desktop keys by char so "m" cycles music, x/v quits. 138 + while stat(30) do 139 + local c=stat(31) 140 + if c=="m" then demo_track=demo_track%4+1 play_tune() 141 + elseif c=="x" or c=="v" then quit_demo() return end 142 + end 143 + if tap or (mobile() and btnp(5)) then quit_demo() return end 144 + demo_t+=1/30 df=(df+1)%2 145 + if demo_t>=cycle then demo_t-=cycle end 146 + update_birds() 147 + if time()-fire_t>1.5 then sim_fire() end 148 + if alt()>0.85 and rnd(1)<0.06 and #shoot<3 then 149 + add(shoot,{x=rnd(110),y=rnd(50),vx=2.5+rnd(2),vy=1+rnd(1.5)}) 150 + end 151 + for s in all(shoot) do 152 + s.x+=s.vx s.y+=s.vy 153 + if s.x>134 or s.y>80 then del(shoot,s) end 154 + end 155 + for p in all(parts) do 156 + p.t+=1/30 p.y+=p.vy p.x+=sin(p.t*0.4)*0.5 157 + if p.kind==1 then 158 + if p.y>134 then del(parts,p) end 159 + elseif p.y<-6 then del(parts,p) end 160 + end 161 + end 162 + 163 + -- one continuous looped path: off-left -> rise to centre -> swell -> out left. 164 + -- start (j=0) and end (j=1) coincide so the loop is seamless. 165 + function bfly_pos() 166 + local bob=sin(time()*0.8)*3 167 + local a=alt() 168 + if demo_t<75 then -- fly in from off-left, skim the valley, then rise 169 + return lerp(-20,64,eio(clmp(demo_t/24))),lerp(108,30,a)+bob,lerp(0.8,1,a) 170 + elseif demo_t<81 then -- finale: swell at centre with a slow flap 171 + local u=(demo_t-75)/6 172 + return 64,lerp(30,56,eio(u)),lerp(1,5,eio(u)) 173 + else -- fly out off-screen left (loop seam) 174 + local u=(demo_t-81)/6 175 + return lerp(64,-20,eio(u)),lerp(56,108,eio(u)),lerp(5,0.8,eio(u)) 176 + end 177 + end 178 + 179 + function bfly_sx(spd) 180 + return bfly_seq[flr(time()*spd)%4+1]*8 181 + end 182 + 183 + function draw_bfly() 184 + local x,y,sc=bfly_pos() 185 + local w=16*sc 186 + local dx,dy=x-w/2,y-w/2 187 + bflysh(bfly_sx(demo_t>75 and 2.5 or 6),dx,dy,w) 188 + end 189 + 190 + -- procedural fire-spiral sun: rotating arm in fire colours + bright core 191 + function fire_sun(cx,cy) 192 + for i=0,7 do -- subtle flicker corona, close to the disc 193 + local a=i/8+time()*0.1 194 + local r=8+sin(time()*3+i)*1.5 195 + pset(cx+cos(a)*r,cy+sin(a)*r,9) 196 + end 197 + circfill(cx,cy,7,9) -- orange rim 198 + circfill(cx,cy,5,10) -- yellow 199 + circfill(cx,cy,3,7) -- bright core 200 + end 201 + 202 + gpat={0x0000,0xa0a0,0xa5a5,0xf5f5,0xffff} 203 + -- vertical dithered gradient: colour b at the top, a at the bottom 204 + function grad(y0,y1,a,b) 205 + local h=(y1-y0)/5 206 + for i=1,5 do 207 + fillp(gpat[i]) 208 + rectfill(0,y0+(i-1)*h,127,y0+i*h,a+b*16) 209 + end 210 + fillp() 211 + end 212 + 213 + -- tall atmosphere gradient drawn full so upward pan reveals it continuously. 214 + function draw_atmos() 215 + rectfill(0,0,127,150,0) -- deep space 216 + grad(150,212,1,0) -- space -> night blue 217 + grad(212,274,13,1) -- night -> dusk indigo 218 + grad(274,372,12,13) -- dusk -> light-blue day 219 + grad(372,440,7,12) -- day -> bright hazy horizon 220 + end 221 + 222 + function cloud(x,y) 223 + circfill(x,y,6,7) circfill(x+7,y+1,7,7) 224 + circfill(x+14,y,5,7) rectfill(x,y,x+14,y+5,7) 225 + end 226 + 227 + function draw_clouds() 228 + local s=demo_t*10 229 + cloud((s*0.6)%190-30,272) -- drifts right 230 + cloud((-s*0.42+120)%190-30,300) -- drifts left 231 + cloud((s*0.3+50)%190-30,332) -- drifts right (slow) 232 + end 233 + 234 + function draw_ground() 235 + local s=demo_t*14 236 + for x=0,127 do -- per column, back-to-front: far hill, near hill+grass, stream 237 + rectfill(x,402+sin((x+s*0.3)/40)*7,x,440,3) 238 + rectfill(x,410+sin((x+s*0.7)/30)*8,x,440,11) 239 + local ry=424+sin((x+s)/46)*4 240 + rectfill(x,ry,x,ry+5,1) 241 + pset(x,ry,sin((x+s)/8)>0.55 and 12 or 1) 242 + end 243 + for i=0,11 do -- foreground flowers 244 + pset((12+i*12-s)%150-8,434+sin(i)*3,8+i%2*6) 245 + end 246 + end 247 + 248 + function draw_night_sky() 249 + if alt()<0.3 then return end 250 + for st in all(stars) do 251 + if sin(time()*0.6+st.p)>-0.2 then 252 + pset(st.x,st.y,rnd(1)<0.3 and 6 or 7) 253 + end 254 + end 255 + local mx=18+max(0,demo_t-34)*0.4 256 + circfill(mx,24,8,7) circfill(mx+3,22,7,0) 257 + for s in all(shoot) do 258 + line(s.x,s.y,s.x-s.vx*3,s.y-s.vy*3,7) 259 + pset(s.x,s.y,10) 260 + end 261 + end 262 + 263 + -- credits during the night hold; show the running firehose totals 264 + function draw_credits() 265 + local a=clmp((demo_t-54)/3) 266 + local y=lerp(132,52,eio(a)) 267 + print_c("picosky",y,12) 268 + print_c("by vinnymac",y+9,7) 269 + print_c(fmtk(demo_lk,demo_likes).." likes "..fmtk(demo_pk,demo_posts).." posts",y+22,12) 270 + print_c("live stats provided by",y+31,6) 271 + print_c("bluesky firehose",y+38,6) 272 + print_c("thanks to bluesky, zep,",y+50,6) 273 + print_c("and daniel linssen for m3x6",y+58,6) 274 + end 275 + 276 + function draw_hud() 277 + spr(10,4,3) spr(8,42,3) 278 + print(fmtk(demo_lk,demo_likes),13,4,7) 279 + print(fmtk(demo_pk,demo_posts),51,4,7) 280 + if time()-fire_t>1.5 then print("sim",102,4,9) end 281 + end 282 + 283 + -- round exit button + aligned esc label 284 + function draw_exit() 285 + local cx,cy=122,6 286 + circfill(cx,cy,3,6) -- pearl button, half size 287 + line(cx-1,cy-1,cx+1,cy+1,5) 288 + line(cx-1,cy+1,cx+1,cy-1,5) 289 + print("esc",cx-18,cy-2,6) 290 + end 291 + 292 + function heart(x,y,c) 293 + circfill(x-1,y,1,c) 294 + circfill(x+1,y,1,c) 295 + line(x-2,y+1,x+2,y+1,c) 296 + line(x-1,y+2,x+1,y+2,c) 297 + pset(x,y+3,c) 298 + end 299 + 300 + function draw_parts() 301 + for p in all(parts) do 302 + if p.kind==1 then 303 + heart(p.x,p.y,p.c) 304 + elseif p.kind==4 then 305 + pset(p.x,p.y,p.c) pset(p.x,p.y-1,10) 306 + else 307 + circ(p.x,p.y,2,p.c) pset(p.x-1,p.y-1,7) 308 + end 309 + end 310 + end 311 + 312 + -- a small flock of tiny "v" birds: simplified boids (separate/cohere/align) 313 + function init_birds() 314 + birds={} 315 + for _=1,6 do 316 + add(birds,{x=rnd(120),y=34+rnd(24),vx=0.3+rnd(0.3),vy=rnd(0.4)-0.2}) 317 + end 318 + end 319 + 320 + function update_birds() 321 + if alt()>0.6 then return end 322 + for b in all(birds) do 323 + local cx,cy,vx,vy,n=0,0,0,0,0 324 + for o in all(birds) do 325 + local dx,dy=o.x-b.x,o.y-b.y 326 + local d=dx*dx+dy*dy 327 + if o~=b and d<400 then 328 + cx+=o.x cy+=o.y vx+=o.vx vy+=o.vy n+=1 329 + if d<144 then b.vx-=dx*0.025 b.vy-=dy*0.025 end 330 + end 331 + end 332 + if n>0 then 333 + b.vx+=(cx/n-b.x)*0.002+(vx/n-b.vx)*0.06 334 + b.vy+=(cy/n-b.y)*0.002+(vy/n-b.vy)*0.06 335 + end 336 + b.vx=mid(0.2,b.vx,1) b.vy=mid(-0.5,b.vy,0.5) 337 + b.x+=b.vx b.y+=b.vy 338 + b.y=mid(22,b.y,74) 339 + if b.x>134 then b.x=-6-rnd(16) b.y=34+rnd(24) end 340 + end 341 + end 342 + 343 + function draw_birds() 344 + if alt()>0.55 then return end 345 + for b in all(birds) do 346 + local w=sin(time()*4+b.x)>0 and 1 or 0 347 + line(b.x-2,b.y-w,b.x,b.y,5) line(b.x,b.y,b.x+2,b.y-w,5) 348 + end 349 + end 350 + 351 + -- screen palette darkening: lv 0=bright..6=black, smooth, no dither. 352 + drk=split"0,0,1,1,2,1,5,6,2,4,9,3,13,1,2,5" -- darken LUT, 1-based (drk[c+1] for colour c) 353 + function setlight(lv) 354 + for c=0,15 do local d=c for _=1,lv do d=drk[d+1] end pal(c,d,1) end 355 + end 356 + 357 + -- byte->darkened-byte LUTs (one per level) in free RAM, for the per-pixel pass 358 + function build_lut() 359 + for lv=0,6 do 360 + for b=0,255 do 361 + local lo,hi=b%16,b\16 362 + for _=1,lv do lo=drk[lo+1] hi=drk[hi+1] end 363 + poke(0x4300+lv*256+b,lo+hi*16) 364 + end 365 + end 366 + end 367 + 368 + -- sun light: scene drawn, then darken every pixel by a far from the sun, easing 369 + -- to 0 at the centre (concentric rings). rows beyond the glow take a fast path. 370 + function light_pass(sx,sy,a) 371 + local r=40 local rr=r*r local cb=sx\2 372 + for y=0,127 do 373 + local dy=y-sy local dy2=dy*dy local row=0x6000+y*64 374 + if dy2>=rr then 375 + local l=0x4300+a*256 376 + for ad=row,row+63 do poke(ad,peek(l+peek(ad))) end 377 + else 378 + local hw={[0]=0,[a+1]=64} 379 + for k=1,a do local q=(r*k/a)*(r*k/a)-dy2 hw[k]=q>0 and sqrt(q)\2 or 0 end 380 + for lv=0,a do 381 + local l=0x4300+lv*256 local i,o=hw[lv],hw[lv+1] 382 + for ad=row+mid(0,cb+i,63),row+mid(0,cb+o-1,63) do poke(ad,peek(l+peek(ad))) end 383 + for ad=row+mid(0,cb-o+1,63),row+mid(0,cb-max(i,1),63) do poke(ad,peek(l+peek(ad))) end 384 + end 385 + end 386 + end 387 + end 388 + 389 + -- loop-seam fade: to black over the last 3s, back from black over the first 3s 390 + function seam() 391 + if demo_t>=cycle-3 then return flr((demo_t-cycle+3)/3*6+.5) end 392 + if demo_t<3 then return flr((1-demo_t/3)*6+.5) end 393 + return 0 394 + end 395 + 396 + -- dusk dimming: gradual, held through the day->night pan, released to 0 only 397 + -- once the night sky is fully in view (gated on alt, so no bright-blue flash) 398 + function amb() 399 + local t=demo_t 400 + if t<20 then return 0 end 401 + if t<28 then return flr((t-20)/8*2+.5) end 402 + if alt()<0.55 then return 2 end 403 + return flr(max(0,(0.66-alt())/0.11)*2+.5) 404 + end 405 + 406 + function draw_demo() 407 + local la,ls=amb(),seam() 408 + local suny=340-camtop() 409 + local glow=ls==0 and la>0 and suny<134 410 + if glow and df~=0 then return end -- update the sun glow every other frame 411 + cls(0) 412 + camera(0,camtop()) 413 + draw_atmos() 414 + draw_night_sky() 415 + fire_sun(96-demo_t*0.4,340) 416 + draw_clouds() 417 + draw_ground() 418 + camera() 419 + draw_birds() 420 + draw_parts() 421 + draw_bfly() 422 + if demo_t>54 and demo_t<75 then draw_credits() end 423 + if demo_t<53 then draw_hud() end 424 + if glow then 425 + setlight(0) light_pass(96-demo_t*0.4,suny,la) 426 + else 427 + setlight(max(la,ls)) 428 + end 429 + if time()<track_lbl and seam()==0 then 430 + print_c(tunenames[demo_track],100,7) 431 + print_c(mobile() and "pause to change track" or "m: change music",108,6) 432 + end 433 + draw_exit() 434 + end 435 +
+213
src/input.lua
··· 1 + -- footer menu: second cursor zone; ←/→ pick, 🅾 activate, x/select return. 2 + in_menu=false 3 + menu_sel=1 4 + menu_labels=split"reply,repost,quote,like,post,credits" 5 + -- footer icons parallel to menu_labels; "•" separates engagement (1-4) from global (5-6). 6 + menu_icons={8,9,14,11,12,15} 7 + 8 + function mobile() return (rpin(126)&1)>0 end 9 + -- footer label for the 🅾 button: the 🅾 glyph (\142) on mobile, the "z" key on 10 + -- desktop (where 🅾 is bound to z, so showing the glyph would mislead). 11 + function obtn() return mobile() and "\142" or "z" end 12 + 13 + -- "like"/"repost" are contextual: show the undo verb once already done. 14 + function menu_label(i) 15 + local l=menu_labels[i] 16 + local p=posts[sel] 17 + if l=="like" then return (p and p.liked) and "unlike" or "like" end 18 + if l=="repost" then return (p and p.reposted) and "unrepost" or "repost" end 19 + return l 20 + end 21 + 22 + -- bump a plain-integer count field by d (formatted "k" counts are left alone). 23 + function bump_count(p,k,d) 24 + local n=tonum(p[k]) 25 + if n and n==flr(n) then p[k]=tostr(flr(n+d)) end 26 + end 27 + 28 + -- toggle like on a post/comment: optimistic local flip + tell js (op_like). 29 + function toggle_like(p) 30 + if not p then return end 31 + p.liked=not p.liked 32 + bump_count(p,"likes",p.liked and 1 or -1) 33 + if ONLINE then enqueue(op_like,p.refid,p.liked and "1" or "0") end 34 + sfx(p.liked and 3 or 1) 35 + end 36 + 37 + -- toggle repost: same shape as like, against an app.bsky.feed.repost record. 38 + function toggle_repost(p) 39 + if not p then return end 40 + p.reposted=not p.reposted 41 + bump_count(p,"reposts",p.reposted and 1 or -1) 42 + if ONLINE then enqueue(op_repost,p.refid,p.reposted and "1" or "0") end 43 + sfx(p.reposted and 3 or 1) 44 + end 45 + 46 + function toggle_menu() 47 + in_menu=not in_menu 48 + if in_menu then menu_sel=1 end -- always open on the first item (reply) 49 + sfx(0) 50 + end 51 + 52 + function menu_activate() 53 + local m=menu_labels[menu_sel] 54 + local p=posts[sel] 55 + in_menu=false 56 + if m=="reply" then if p then open_compose(p.refid) sfx(3) end 57 + elseif m=="like" then toggle_like(p) 58 + elseif m=="repost" then toggle_repost(p) 59 + elseif m=="quote" then if p then open_compose(0,p.refid,p.name) sfx(3) end 60 + elseif m=="post" then open_compose(0) sfx(3) 61 + elseif m=="credits" then enter_demo() end 62 + end 63 + 64 + -- 1 when the next 🅾 press opens compose (feed, or menu on post/quote) 65 + function compose_intent() 66 + if scr==scr_timeline or scr==scr_thread then 67 + if in_menu then local m=menu_labels[menu_sel] return (m=="post" or m=="quote" or m=="reply") and 1 or 0 end 68 + return 0 69 + end 70 + return 0 71 + end 72 + 73 + function update_nav() 74 + local is_nav=scr==scr_timeline or scr==scr_thread 75 + -- handle keyboard: menu keys take priority over global shortcuts 76 + while stat(30) do 77 + local c=stat(31) 78 + if is_nav and in_menu then 79 + if c=="\13" then menu_activate() return 80 + elseif c=="\27" then toggle_menu() return end 81 + elseif is_nav and c=="\27" and scr==scr_thread then 82 + open_timeline(false) sfx(1) return 83 + elseif is_nav and (c=="l" or c=="L") then toggle_like(posts[sel]) 84 + elseif is_nav and (c=="s" or c=="S") then toggle_repost(posts[sel]) 85 + elseif is_nav and (c=="q" or c=="Q") then 86 + local p=posts[sel] if p then open_compose(0,p.refid,p.name) sfx(3) end 87 + elseif c=="t" or c=="T" then theme=1-theme sfx(0) 88 + elseif c=="r" or c=="R" then open_timeline(true) 89 + elseif c=="d" or c=="D" then enter_demo() 90 + elseif c=="n" or c=="N" then open_compose(0) sfx(3) end 91 + end 92 + if is_nav then 93 + -- cursor in the footer menu: ←/→ pick, 🅾/z/enter activate, x/esc exit 94 + if in_menu then 95 + if btnp(0) then menu_sel=max(1,menu_sel-1) sfx(0) end 96 + if btnp(1) then menu_sel=min(#menu_labels,menu_sel+1) sfx(0) end 97 + if btnp(4) then menu_activate() end 98 + if btnp(5) then in_menu=false sfx(1) end 99 + return 100 + end 101 + local p=posts[sel] 102 + local expanded=p and p.expanded 103 + if expanded then 104 + -- up/down scroll within the expanded post; navigate at boundaries 105 + if btnp(2) then 106 + if (p.scroll or 0)>0 then p.scroll-=1 sfx(0) 107 + else sel=max(1,sel-1) sfx(0) end 108 + end 109 + if btnp(3) then 110 + local total=p.lines and #p.lines or 0 111 + local cap=p.vis_lines or 3 112 + if (p.scroll or 0)<max(0,total-cap) then p.scroll+=1 sfx(0) 113 + else sel=min(max(1,#posts),sel+1) sfx(0) end 114 + end 115 + else 116 + -- normal post navigation 117 + if btnp(2) then sel=max(1,sel-1) sfx(0) end 118 + if btnp(3) then sel=min(max(1,#posts),sel+1) sfx(0) end 119 + end 120 + -- right: expand selected post (only when there is hidden content) 121 + if btnp(1) then 122 + if p then 123 + if not p.lines then 124 + p.lines=wrap(p.text,flr((120-2-p.depth*4)/4)) 125 + end 126 + local has_more=#p.lines>3 127 + if has_more and not p.expanded then 128 + p.expanded=true p.scroll=0 129 + scroll=sel-1 -- pin expanded post to top of viewport 130 + sfx(0) 131 + end 132 + end 133 + end 134 + -- left: collapse selected post 135 + if btnp(0) then 136 + if p and p.expanded then 137 + p.expanded=false p.scroll=0 sfx(0) 138 + end 139 + end 140 + if scr==scr_timeline then 141 + if btnp(4) then toggle_menu() end 142 + if btnp(5) and posts[sel] then 143 + local cp=posts[sel] 144 + if cp.depth>0 then 145 + -- self-reply: find nearest depth-0 parent above, open its thread focused here 146 + local par=nil 147 + for i=sel-1,1,-1 do 148 + if posts[i].depth<cp.depth then par=posts[i] break end 149 + end 150 + if par then open_thread(par.refid,cp.refid) sfx(2) 151 + elseif cp.replies!="0" then open_thread(cp.refid) sfx(2) end 152 + elseif cp.replies!="0" then 153 + open_thread(cp.refid) sfx(2) 154 + end 155 + end 156 + elseif scr==scr_thread then 157 + if btnp(4) then toggle_menu() end 158 + if btnp(5) then open_timeline(false) sfx(1) end 159 + end 160 + -- auto-load: guard scr so open_thread's nav can't race in-flight REQ_MORE 161 + if scr==scr_timeline and sel>=max(1,#posts-2) then load_more() end 162 + elseif scr==scr_auth then 163 + -- waits for js to recover the session 164 + end 165 + -- skip scroll-clamp on first frame back: heights not cached yet, would stomp restored scroll. 166 + if just_switched then 167 + just_switched=false 168 + else 169 + local p=posts[sel] 170 + if p and p.expanded then 171 + scroll=sel-1 172 + elseif p then 173 + local cb=status_showing() and 111 or 118 174 + local top,ok=12,sel>scroll 175 + for i=scroll+1,sel-1 do 176 + local h=posts[i] and posts[i].h 177 + if not h then ok=false break end 178 + top+=h 179 + end 180 + local h=p.h 181 + if (not ok) or sel<=scroll or top<11 or not h or top+h-2>cb then 182 + scroll=sel-1 183 + end 184 + end 185 + end 186 + end 187 + 188 + function cancel_compose() 189 + reset_draft() 190 + sfx(1) -- back/cancel 191 + open_timeline(false) 192 + end 193 + 194 + function update_compose() 195 + poke(0x5f30,1) -- suppress pause this frame 196 + if btnp(4) and btn(5) or btn(4) and btnp(5) then poke(0x5f2d,1) end -- o+x: re-open soft keyboard 197 + -- cancel is keyboard-only (esc/backspace): 🅾/❎ keys double as typed chars here. 198 + while stat(30) do 199 + local c=stat(31) 200 + if c=="\13" then -- enter = send 201 + send_draft() return 202 + elseif c=="\27" then -- esc = cancel 203 + cancel_compose() return 204 + elseif c=="\8" then -- backspace (on empty = cancel) 205 + if #draft>0 then draft=sub(draft,1,#draft-1) sfx(5) 206 + else cancel_compose() return end 207 + elseif c>=" " and #draft<maxchars then 208 + draft=draft..c 209 + sfx(4) -- keystroke tick 210 + end 211 + end 212 + end 213 +
+414
src/render.lua
··· 1 + -- draw 2 + 3 + function _draw() 4 + if scr==scr_demo then 5 + draw_demo() 6 + return 7 + end 8 + if scr==scr_splash then draw_intro() return end 9 + if theme==1 then pal(0,129,1) end -- dark page ~#151d28 10 + cls(bg()) 11 + if scr==scr_boot or scr==scr_auth then 12 + draw_splash() 13 + elseif scr==scr_compose then 14 + local te=mid(0,(time()-scr_wt)*3,1) 15 + local ee=1-te*te*(3-2*te) 16 + draw_list(0,0) -- feed/thread visible underneath the rising drawer 17 + camera(0,-flr(ee*64)) -- compose starts half-screen below (immediately visible) 18 + rectfill(0,0,127,127,bg()) -- opaque backdrop: no timeline bleed-through 19 + draw_compose() 20 + camera() 21 + else 22 + local te=mid(0,(time()-scr_wt)*3,1) 23 + local ee=1-te*te*(3-2*te) 24 + if prev_was_compose then 25 + draw_list(0,0) -- timeline static; compose drawer retreats downward 26 + camera(0,-flr((1-ee)*128)) -- exits below (not above) 27 + rectfill(0,0,127,127,bg()) 28 + line(0,9,127,9,muted()) 29 + camera() 30 + else 31 + draw_list(flr(ee*128)*trans_dir,flr((1-ee)*8)) 32 + end 33 + end 34 + draw_status() 35 + if theme==1 then pal(0,0,1) end 36 + end 37 + 38 + -- colors per theme 39 + function tc(a,b) return theme==0 and a or b end -- pick by theme (day/night) 40 + function fg() return tc(1,7) end 41 + function muted() return tc(13,6) end 42 + function bg() return tc(7,0) end 43 + 44 + -- gently flowing wavy divider (the header underline) - a little whimsy. 45 + function wave(y,c) 46 + for x=0,127 do pset(x,y+sin(x/24+time()/3),c) end 47 + end 48 + 49 + -- card-area bottom y: shared by draw_list clip + marquee clip so they can't disagree. 50 + function cardb() 51 + return in_menu and 110 or status_showing() and 111 or 118 52 + end 53 + 54 + -- wing-flap frame: a,b,c,b cycle (sprites 0,4,6,4) 55 + bfly_seq={0,4,6,4} 56 + function bfly_frame() 57 + return bfly_seq[flr(time()*6)%4+1] 58 + end 59 + 60 + -- big: 16x16 (sprites 0/4/6 with 2x2). anim: flap when true 61 + function draw_butterfly(x,y,big,anim) 62 + if big then 63 + spr(anim and bfly_frame() or 0,x,y,2,2) 64 + else 65 + spr(2,x,y) 66 + end 67 + end 68 + 69 + -- word-wrap s into lines of at most maxc chars (4px font) 70 + function wrap(s,maxc) 71 + maxc=max(1,maxc) 72 + local lines,cur={},"" 73 + local word="" 74 + local function flush_word() 75 + if #word==0 then return end 76 + if #cur+#word>maxc and #cur>0 then 77 + add(lines,cur) cur="" 78 + end 79 + while #word>maxc do -- hard-break very long words 80 + add(lines,sub(word,1,maxc)) 81 + word=sub(word,maxc+1) 82 + end 83 + cur=cur..word word="" 84 + end 85 + for i=1,#s do 86 + local c=sub(s,i,i) 87 + if c=="\n" then 88 + flush_word() add(lines,cur) cur="" 89 + elseif c==" " then 90 + flush_word() 91 + if #cur<maxc then cur=cur.." " end 92 + else 93 + word=word..c 94 + end 95 + end 96 + flush_word() 97 + add(lines,cur) 98 + return lines 99 + end 100 + 101 + -- butterfly with drop-shadow: shadow pass (12,13->1) then 2-colour wings (matches the logo). shared by intro + demo. 102 + function bflysh(sx,dx,dy,w) 103 + pal(12,1) pal(13,1) 104 + sspr(sx,0,16,16,dx+1,dy+1,w,w) 105 + pal(12,12) pal(13,1) 106 + sspr(sx,0,16,16,dx,dy,w,w) 107 + pal(13,13) 108 + end 109 + 110 + function draw_intro() 111 + cls(0) 112 + local b=sin(time()/2)*2 113 + local sc=1.5 local w=16*sc 114 + local dx,dy=64-w/2,44+b-w/2 115 + bflysh(bfly_sx(6),dx,dy,w) 116 + print_c("\^ppicosky",73,7) 117 + local h="@vinnymac.dev" 118 + print(h,127-print(h,0,200),120,6) 119 + end 120 + 121 + function draw_splash() 122 + local b=sin(time()/2)*2 123 + draw_butterfly(56,40+b,true,true) 124 + local msg = scr==scr_auth and "session lost - sign in on the page" or status 125 + print_c(msg,80,fg()) 126 + end 127 + 128 + function status_showing() return time()-status_t<3 end 129 + 130 + -- status banner sits above footer so it never covers the nav line. 131 + function draw_status() 132 + if not status_showing() then return end 133 + rectfill(0,113,127,119,12) 134 + print(sub(status,1,31),2,114,7) 135 + end 136 + 137 + -- header: "picosky" or "picosky - <feed>", trimmed to clear butterfly at x=118. 138 + function feed_title() 139 + if #feeds<=1 then return "picosky" end 140 + return "picosky - "..feeds[active_feed] 141 + end 142 + 143 + function draw_list(dx,titl) 144 + dx,titl=dx or 0,titl or 0 145 + local mu=muted() 146 + -- rolling-pin title: old headline rolls up and out, new rolls in from behind the wave 147 + clip(0,0,128,9) 148 + print(prev_was_thread and "thread" or feed_title(),2,1-titl,12) 149 + print(scr==scr_thread and "thread" or feed_title(),2,9-titl,12) 150 + clip() 151 + draw_butterfly(118,0,false) 152 + wave(9,tc(6,1)) 153 + -- card-area bottom: shrinks for status banner or footer menu info row. 154 + local cb=cardb() 155 + clip(0,11,128,cb-11) -- card area; keeps tall cards off the nav bar 156 + if dx~=0 then -- true push: draw outgoing content sliding away on the other side 157 + local op=posts==feed and thread or feed 158 + camera(128*trans_dir-dx,0) 159 + local oy=12 160 + for p in all(op) do if oy>cb+8 then break end oy=draw_card(p,oy,false) end 161 + camera() 162 + end 163 + if #posts==0 then 164 + camera(-dx,0) 165 + draw_butterfly(56,46,true,true) 166 + print_c(loading and "loading..." or "nothing here yet",70,mu) 167 + camera() clip() 168 + return 169 + end 170 + camera(-dx,0) -- incoming content slides in from opposite side 171 + local y=12 172 + for i=scroll+1,#posts do 173 + if y>cb-2 then break end 174 + y=draw_card(posts[i],y,i==sel) 175 + end 176 + if y<=cb-6 then 177 + if loading and #posts>0 then print_c("loading...",y+1,mu) 178 + elseif hasmore then print_c("\131 more",y+1,mu) 179 + elseif #posts>0 then print_c("-- end --",y+1,mu) 180 + end 181 + end 182 + camera() 183 + clip() 184 + -- bottom fade: two lines signal clipped content below 185 + line(0,cb,127,cb,tc(6,1)) 186 + line(0,cb+1,127,cb+1,0) 187 + -- footer: the menu when the cursor is in it, else context hints. 188 + -- the 🅾-button label adapts to platform (z key vs on-screen o). 189 + if in_menu then 190 + draw_menu_bar() 191 + return 192 + end 193 + -- footer hints: o→menu, ❎→thread/back, ⬅/➡ collapse/expand. 194 + local sp=posts[sel] 195 + local is_exp=sp and sp.expanded 196 + local has_replies=sp and (sp.replies!="0" or sp.depth>0) 197 + local is_expandable=sp and sp.lines and #sp.lines>3 and not is_exp 198 + local o=obtn() 199 + local la,ra="\139","\145" 200 + if scr==scr_thread then 201 + if is_exp then 202 + print_c(la.."\23collapse \151\23back "..o.."\23menu",121,mu) 203 + elseif is_expandable then 204 + print_c(ra.."\23expand \151\23back "..o.."\23menu",121,mu) 205 + else 206 + print_c("\151\23back "..o.."\23menu",121,mu) 207 + end 208 + else 209 + if is_exp then 210 + print_c(la.."\23collapse "..o.."\23menu",121,mu) 211 + elseif is_expandable and has_replies then 212 + print_c(ra.."\23expand \151\23thread "..o.."\23menu",121,mu) 213 + elseif is_expandable then 214 + print_c(ra.."\23expand "..o.."\23menu",121,mu) 215 + elseif has_replies then 216 + print_c("\151\23thread "..o.."\23menu",121,mu) 217 + else 218 + print_c(o.."\23menu",121,mu) 219 + end 220 + end 221 + end 222 + 223 + -- footer menu bar: icon row, selected on accent chip, contextual label above. 224 + function draw_menu_bar() 225 + local p=posts[sel] 226 + -- opaque bg so card content never bleeds into footer regardless of clip. 227 + rectfill(0,112,127,127,bg()) 228 + local mu=muted() 229 + -- like/repost reflect post state (filled red heart / green recycle). 230 + local n=#menu_icons 231 + local x=62-n*6 -- centers n icons (pitch 12) + an 8px "•" group separator 232 + for i=1,n do 233 + -- "•" separates the per-post engagement actions (1-4) from the global ones (5-7) 234 + if i==5 then rectfill(x+1,116,x+2,117,mu) x+=8 end 235 + local s=menu_icons[i] 236 + if s==11 and p and p.liked then s=10 pal(7,8) 237 + elseif s==9 and p and p.reposted then pal(7,11) 238 + else pal(7,i==menu_sel and 7 or mu) end 239 + if i==menu_sel then rectfill(x-2,112,x+9,121,12) end 240 + spr(s,x,113) 241 + x+=12 242 + end 243 + pal(7,7) 244 + print_c(obtn().."\23sel x\23back",123,mu) 245 + end 246 + 247 + -- scroll s in [tx,tx+avail) when it overflows; holds ~2s then loops. one clock per active post. 248 + function marquee(s,tx,ty,avail,col,rid) 249 + if rid~=alt_ref then alt_ref=rid alt_t0=time() end 250 + local span=#s*4+24 251 + local el=(time()-alt_t0)%(2+span/14) 252 + local off=el<2 and 0 or flr((el-2)*14) 253 + clip(tx,ty,avail,7) 254 + print(s,tx-off,ty,col) print(s,tx-off+span,ty,col) 255 + clip(0,11,128,cardb()-11) 256 + end 257 + 258 + function draw_card(p,y,active) 259 + local x=2+p.depth*4 260 + local mu=muted() -- theme is stable for the whole card; cache the muted colour 261 + local maxc=flr((120-x)/4) 262 + p.lines=p.lines or wrap(p.text,maxc) 263 + local total=#p.lines 264 + 265 + -- expanded window uses full card area (98px); timeline pins expanded post to top. 266 + local img_h=0 267 + if p.img_state==2 and p.pixels then img_h=35 268 + elseif p.img_state==1 then img_h=11 end 269 + local fit=max(1,flr((68-img_h)/7)) 270 + 271 + -- collapsed: cap at 3 lines. expanded: cap at however many fit on screen. 272 + local cap=p.expanded and fit or 3 273 + p.vis_lines=cap -- expose to update_nav for scroll clamping 274 + 275 + -- scroll offset: only meaningful when expanded 276 + local offset=p.expanded and (p.scroll or 0) or 0 277 + offset=mid(0,offset,max(0,total-cap)) 278 + if p.expanded then p.scroll=offset end -- write back clamped value 279 + 280 + local nl=min(cap,total-offset) 281 + 282 + -- 16x16 avatar circle-cropped; else butterfly fallback inset to 13x13. 283 + if p.avatar_pixels then 284 + for pi=1,256 do 285 + local px,py=(pi-1)%16,(pi-1)\16 286 + local dx,dy=px-7.5,py-7.5 287 + if dx*dx+dy*dy<=64 then pset(x+px,y+py,p.avatar_pixels[pi]) end 288 + end 289 + else 290 + sspr(0,0,16,16,x+1,y+1,13,13) 291 + end 292 + -- reltime (native uppercase) at the top-right of line 1 293 + local t=upper(p.reltime) 294 + local tx=123 295 + if #t>0 then 296 + tx=123-#t*4 297 + print(t,tx,y,mu) 298 + pset(tx-3,y+2,mu) -- middot separator 299 + end 300 + -- name on line 1, @handle on line 2 (m3x6); name now fills the freed width 301 + local tox=x+18 302 + poke(0x5f58,0x81) 303 + print(sub(p.name,1,flr((tx-tox-2)/4)),tox,y,fg()) 304 + print("@"..upper(sub(p.handle,1,flr((121-tox)/4))),tox,y+7,mu) 305 + poke(0x5f58,0) 306 + 307 + -- body lines: m3x6 font, uppercased (message contents) 308 + poke(0x5f58,0x81) 309 + local ty=y+17 310 + for i=1,nl do 311 + local line_idx=offset+i 312 + local lx=print(upper(p.lines[line_idx]),x,ty,fg()) 313 + -- ellipsis on last visible line when there's more content below 314 + if i==nl and (offset+nl)<total then 315 + print("...",lx,ty,mu) 316 + end 317 + ty+=7 318 + end 319 + poke(0x5f58,0) 320 + 321 + -- expanded-post scrollbar: right-edge thumb showing scroll position 322 + if p.expanded and total>cap then 323 + local y0,th=y+17,cap*7 324 + local sh=max(2,th*cap\total) 325 + local sy2=y0+(th-sh)*offset\(total-cap) 326 + rectfill(126,y0,126,y0+th-1,mu) 327 + rectfill(126,sy2,126,sy2+sh-1,12) 328 + end 329 + 330 + -- stats row 331 + local sy=ty+3 332 + pal(7,mu) 333 + local sx=x 334 + spr(8,sx,sy) sx=print(p.replies,sx+9,sy+1,7)+4 335 + spr(9,sx,sy) sx=print(p.reposts,sx+9,sy+1,7)+4 336 + -- heart: outline (sprite 11) when not liked; filled (10) in bsky red when liked 337 + if p.liked then pal(7,8) end 338 + spr(p.liked and 10 or 11,sx,sy) 339 + if p.liked then pal(7,mu) end 340 + print(p.likes,sx+9,sy+1,7) 341 + pal(7,7) 342 + local bottom=sy+9 343 + 344 + -- image thumbnail below stats row 345 + if p.img_state==1 then 346 + print("loading...",x,bottom+3,mu) 347 + bottom+=11 348 + elseif p.img_state==2 and p.pixels then 349 + local iy=bottom+3 350 + for pi=1,1024 do 351 + pset(x+(pi-1)%32,iy+((pi-1)\32),p.pixels[pi]) 352 + end 353 + bottom=iy+32 354 + -- alt text below thumbnail; marquee when long + selected. 355 + if #p.alt>0 then 356 + poke(0x5f58,0x81) 357 + local a,avail,ay=upper("alt: "..p.alt),120-x,bottom+2 358 + if active and #a*4>avail then marquee(a,x,ay,avail,mu,p.refid) 359 + else print(sub(a,1,flr(avail/4)),x,ay,mu) end 360 + poke(0x5f58,0) 361 + bottom=ay+7 362 + end 363 + end 364 + 365 + -- link card chip: dark pill showing the title; marquee it when selected + too long 366 + if p.linktext and #p.linktext>0 then 367 + local maxw=120-x 368 + if active and #p.linktext*4>maxw-4 then 369 + rectfill(x,bottom+2,x+maxw,bottom+9,1) -- full-width pill 370 + marquee(p.linktext,x+2,bottom+3,maxw-4,6,p.refid) 371 + else 372 + local chars=min(#p.linktext,flr((maxw-4)/4)) 373 + rectfill(x,bottom+2,x+chars*4+4,bottom+9,1) 374 + print(sub(p.linktext,1,chars),x+2,bottom+3,6) 375 + end 376 + bottom+=11 377 + end 378 + 379 + if active then line(0,y,0,bottom-2,12) end -- selection accent 380 + if p.depth>0 then line(2,y,2,bottom-2,mu) end -- thread connector 381 + line(0,bottom,127,bottom,tc(6,1)) 382 + p.h=bottom+2-y -- cache drawn height for the scroll clamp (single source of truth) 383 + return bottom+2 384 + end 385 + 386 + function draw_compose() 387 + print(quote_of>0 and sub("quote: "..quote_name,1,31) or reply_to>0 and "reply" or "new post",2,1,12) 388 + line(0,9,127,9,muted()) 389 + -- word-wrapped draft body 390 + local lines=wrap(draft,30) 391 + local y=14 392 + local lastx=2 393 + poke(0x5f58,0x81) -- draft renders in m3x6, uppercased 394 + for i=1,#lines do 395 + print(upper(lines[i]),2,y,fg()) 396 + if i==#lines then lastx=2+#lines[i]*4 end 397 + y+=7 398 + end 399 + poke(0x5f58,0) 400 + -- blinking cursor at end of last line 401 + if sin(time()*2)>0 then rectfill(lastx,y-7,lastx+2,y-2,12) end 402 + -- counter 403 + local n=#draft 404 + print(n.."/"..maxchars,2,118,n<=maxchars and muted() or 8) 405 + -- right-aligned (the 🅾/❎ glyphs are wide, so measure rather than assume 4px/char) 406 + local h=mobile() and "\142\23send \151\23back \142+\151\23kbd" or "enter\23send esc\23back" 407 + print(h,124-print(h,0,200),118,muted()) 408 + end 409 + 410 + -- centered print; measures real width so wide glyphs (🅾/❎) center correctly. 411 + function print_c(s,y,c) 412 + print(s,64-print(s,0,200)\2,y,c) 413 + end 414 +
+169
src/state.lua
··· 1 + -- app state + messages 2 + 3 + -- screens 4 + scr_boot=0 5 + scr_timeline=1 6 + scr_thread=2 7 + scr_compose=3 8 + scr_auth=4 9 + scr_demo=5 10 + scr_splash=6 11 + 12 + scr=scr_splash 13 + scr_wt=-1 -- time() a screen change started its slide (-1 = none yet) 14 + lastscr=-1 -- last scr seen, for edge-detecting screen changes 15 + trans_dir=1 -- 1=forward (cards from right), -1=back (cards from left) 16 + prev_was_thread=false -- title to roll out on next transition 17 + prev_was_compose=false -- true when closing the compose drawer 18 + feed={} -- timeline posts 19 + thread={} -- open thread posts 20 + posts=feed -- active list pointer 21 + sel=1 22 + scroll=0 23 + prev_sel=1 24 + prev_scroll=0 25 + just_switched=false 26 + discard_loading=false -- true while discarding an in-flight REQ_MORE after screen change 27 + thread_focus=0 -- refid to auto-focus after a thread loads (0 = none) 28 + loading=true 29 + hasmore=false 30 + status="connecting to bluesky..." 31 + status_t=0 32 + stik=0 33 + 34 + -- compose state 35 + draft="" 36 + reply_to=0 -- 0 = new post, else refid 37 + quote_of=0 -- 0 = not a quote, else the quoted post's refid 38 + quote_name="" -- display name of the quoted post's author (compose header) 39 + maxchars=300 40 + 41 + theme=0 -- 0=day,1=night 42 + last_pt=-1 -- last page-theme bit seen on pin 126 (edge-detect) 43 + mi_track=-1 mi_theme=-1 -- last track/theme reflected in the pause menu labels 44 + -- feed switcher: names from js (idx 1=following). active_feed is the picked 45 + -- index; loaded_feed is what the timeline currently shows (reload when they 46 + -- differ); mi_feed shadows the pause-menu label registration. 47 + feeds={"following"} feedsm={"following"} active_feed=1 loaded_feed=1 mi_feed=-1 48 + alt_ref=0 -- refid whose alt-text marquee clock is running 49 + alt_t0=0 -- time() the active post's alt marquee started 50 + 51 + function set_status(s) 52 + status=s 53 + status_t=time() 54 + end 55 + 56 + function parse_post(s) 57 + local f=split(s,"\1",false) 58 + return { 59 + name=f[1] or "?", 60 + handle=f[2] or "", 61 + reltime=f[3] or "", 62 + text=f[4] or "", 63 + likes=f[5] or "0", 64 + reposts=f[6] or "0", 65 + replies=f[7] or "0", 66 + refid=tonum(f[8]) or 0, 67 + depth=tonum(f[9]) or 0, 68 + -- img_state: 0=no image, 1=loading, 2=ready 69 + img_state=(tonum(f[10]) or 0)==1 and 1 or 0, 70 + linktext=f[11] or "", 71 + liked=(tonum(f[12]) or 0)==1, -- viewer already liked this post? 72 + alt=f[13] or "", -- image alt text (marquee'd when long + selected) 73 + reposted=(tonum(f[14]) or 0)==1, -- viewer already reposted this post? 74 + avatar_pixels=nil, 75 + } 76 + end 77 + 78 + -- run fn(p) on every post matching id across the timeline + open thread - the 79 + -- same id can exist in both when uriRefs reuses a timeline id in a thread post. 80 + function eachpost(id,fn) 81 + for l in all({feed,thread}) do 82 + for p in all(l) do 83 + if p.refid==id then fn(p) end 84 + end 85 + end 86 + end 87 + 88 + -- unpack 2px/byte nibble-packed bytes (hi nibble first) into a 0-15 pixel list 89 + function unpack_px(packed) 90 + local px={} 91 + for b in all(packed) do add(px,(b>>4)&0xf) add(px,b&0xf) end 92 + return px 93 + end 94 + 95 + -- update all posts with this refid (image/avatar can land in feed + thread both); 96 + -- px is unpacked once on first match, then shared via the closure upvalue. 97 + function on_image(refid,packed) 98 + local px 99 + eachpost(refid,function(p) 100 + px=px or unpack_px(packed) 101 + p.pixels=px p.img_state=2 102 + end) 103 + end 104 + 105 + function on_image_fail(refid) 106 + eachpost(refid,function(p) p.img_state=0 end) 107 + end 108 + 109 + function on_avatar(refid,packed) 110 + local px 111 + eachpost(refid,function(p) 112 + px=px or unpack_px(packed) 113 + p.avatar_pixels=px 114 + end) 115 + end 116 + 117 + function on_message(op,arg,s) 118 + if op==op_demo_stop then exit_demo() return end 119 + if not ONLINE then return end 120 + if op==op_resp_post then 121 + if not discard_loading then 122 + add(posts,parse_post(s)) 123 + loading=false 124 + end 125 + elseif op==op_resp_end then 126 + if discard_loading then 127 + discard_loading=false -- REQ_MORE fully discarded; next response is REQ_THREAD 128 + else 129 + loading=false 130 + hasmore=(arg!=0) 131 + if #posts>0 then sfx(8) end -- new-posts chime 132 + -- auto-focus a specific post after a thread loads (e.g. self-reply from timeline) 133 + if scr==scr_thread and thread_focus>0 then 134 + for i=1,#thread do 135 + if thread[i].refid==thread_focus then 136 + sel=i scroll=max(0,i-2) 137 + break 138 + end 139 + end 140 + thread_focus=0 141 + end 142 + end 143 + elseif op==op_resp_ok then 144 + set_status"posted!" 145 + reset_draft() 146 + sfx(6) -- success 147 + open_timeline(true) 148 + elseif op==op_resp_error then 149 + loading=false 150 + set_status(sub(s,1,40)) 151 + sfx(7) -- error 152 + -- a failed send leaves the draft intact: drop back into compose so it can 153 + -- be edited and resent (a fetch error has no draft, so this is a no-op). 154 + if #draft>0 then 155 + scr=scr_compose 156 + poke(0x5f2d,1) 157 + end 158 + elseif op==op_resp_feeds then 159 + -- rebuild the feed switcher from js: names arrive interleaved [header,menu,...]. 160 + -- keep active/loaded in range and equal so arriving feeds never trigger a 161 + -- spurious reload; mi_feed=-1 forces re-register. 162 + local a=split(s,"\1",false) feeds={} feedsm={} 163 + for i=1,#a,2 do add(feeds,a[i]) add(feedsm,a[i+1]) end 164 + active_feed=mid(1,active_feed,#feeds) loaded_feed=active_feed mi_feed=-1 165 + elseif op==op_resp_auth_lost then 166 + scr=scr_auth 167 + end 168 + end 169 +
+90
sw.js
··· 1 + // picosky service worker - installable PWA + offline app shell. 2 + // 3 + // Designed around this app's two hazards: 4 + // 1. AT Protocol OAuth redirects through the user's PDS (a DIFFERENT origin). 5 + // We never touch cross-origin requests, and we never serve a cached 6 + // response to a navigation, so the `/?code=...&state=...&iss=...` callback 7 + // always reaches the live network with its query intact. 8 + // 2. The cart loads with a `?v=<timestamp>` cache-buster (and the font with 9 + // `?#iefix`). We look up and store assets under their query-stripped URL so 10 + // those requests still resolve to one precached entry instead of bloating 11 + // the cache with a new copy every load. 12 + // 13 + // Bump CACHE whenever the shell changes to flush stale assets on next visit. 14 + 15 + const CACHE = "picosky-v4"; 16 + 17 + // The app shell: everything needed to boot offline (the live AT Protocol feed 18 + // still needs the network, but the page + demo cart come up). 19 + const PRECACHE = [ 20 + "/", 21 + "/index.html", 22 + "/picosky-comms.js", 23 + "/picosky-firehose.js", 24 + "/picosky-shim.js", 25 + "/crt.js", 26 + "/picosky.js", 27 + "/picosky-demo.js", 28 + "/fonts/PICO-8.ttf", 29 + "/fonts/PICO-8.eot", 30 + "/manifest.webmanifest", 31 + "/favicons/icon.svg", 32 + "/favicons/favicon.ico", 33 + "/favicons/apple-touch-icon.png", 34 + "/favicons/icon-192.png", 35 + "/favicons/icon-512.png", 36 + "/og.png", 37 + ]; 38 + 39 + self.addEventListener("install", (event) => { 40 + event.waitUntil( 41 + caches.open(CACHE).then((cache) => cache.addAll(PRECACHE)).then(() => self.skipWaiting()) 42 + ); 43 + }); 44 + 45 + self.addEventListener("activate", (event) => { 46 + event.waitUntil( 47 + caches 48 + .keys() 49 + .then((keys) => Promise.all(keys.filter((k) => k !== CACHE).map((k) => caches.delete(k)))) 50 + .then(() => self.clients.claim()) 51 + ); 52 + }); 53 + 54 + // Query-stripped key, so `picosky-demo.js?v=123` and `PICO-8.eot?#iefix` map to 55 + // their precached bare-URL entries (and we only ever store one copy). 56 + function normalize(request) { 57 + const url = new URL(request.url); 58 + return new Request(url.origin + url.pathname, { headers: request.headers }); 59 + } 60 + 61 + self.addEventListener("fetch", (event) => { 62 + const { request } = event; 63 + 64 + // Only same-origin GETs are ours. Cross-origin (OAuth/PDS/XRPC) and non-GET 65 + // requests get no respondWith - they pass straight through to the network. 66 + if (request.method !== "GET") return; 67 + if (new URL(request.url).origin !== self.location.origin) return; 68 + 69 + // Navigations: network-first so the OAuth callback and any fresh HTML always 70 + // win; fall back to the cached shell only when truly offline. 71 + if (request.mode === "navigate") { 72 + event.respondWith(fetch(request).catch(() => caches.match("/", { ignoreSearch: true }))); 73 + return; 74 + } 75 + 76 + // Static assets: cache-first (ignoring the query), then network + store under 77 + // the normalized key. 78 + event.respondWith( 79 + caches.match(request, { ignoreSearch: true }).then((hit) => { 80 + if (hit) return hit; 81 + return fetch(request).then((response) => { 82 + if (response && response.ok && response.type === "basic") { 83 + const copy = response.clone(); 84 + caches.open(CACHE).then((cache) => cache.put(normalize(request), copy)); 85 + } 86 + return response; 87 + }); 88 + }) 89 + ); 90 + });
+172
vendor/CRTShader.js
··· 1 + // CRT Shader for Three.js 2 + // Converted from LÖVE2D shader to standard GLSL 3 + 4 + export const CRTShader = { 5 + uniforms: { 6 + tDiffuse: { value: null }, 7 + scanlineIntensity: { value: 0.15 }, 8 + scanlineCount: { value: 400.0 }, 9 + time: { value: 0.0 }, 10 + yOffset: { value: 0.0 }, 11 + brightness: { value: 1.1 }, 12 + contrast: { value: 1.05 }, 13 + saturation: { value: 1.1 }, 14 + bloomIntensity: { value: 0.2 }, 15 + bloomThreshold: { value: 0.5 }, 16 + rgbShift: { value: 0.0 }, 17 + adaptiveIntensity: { value: 0.5 }, 18 + vignetteStrength: { value: 0.3 }, 19 + curvature: { value: 0.15 }, 20 + flickerStrength: { value: 0.01 } 21 + }, 22 + 23 + vertexShader: /* glsl */ ` 24 + varying vec2 vUv; 25 + 26 + void main() { 27 + vUv = uv; 28 + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); 29 + } 30 + `, 31 + 32 + fragmentShader: /* glsl */ ` 33 + #ifdef GL_FRAGMENT_PRECISION_HIGH 34 + precision highp float; 35 + #else 36 + precision mediump float; 37 + #endif 38 + 39 + uniform sampler2D tDiffuse; 40 + uniform float scanlineIntensity; 41 + uniform float scanlineCount; 42 + uniform float time; 43 + uniform float yOffset; 44 + uniform float brightness; 45 + uniform float contrast; 46 + uniform float saturation; 47 + uniform float bloomIntensity; 48 + uniform float bloomThreshold; 49 + uniform float rgbShift; 50 + uniform float adaptiveIntensity; 51 + uniform float vignetteStrength; 52 + uniform float curvature; 53 + uniform float flickerStrength; 54 + 55 + varying vec2 vUv; 56 + 57 + // Precomputed constants 58 + const float PI = 3.14159265; 59 + const vec3 LUMA = vec3(0.299, 0.587, 0.114); 60 + const float BLOOM_THRESHOLD_FACTOR = 0.5; 61 + const float BLOOM_FACTOR_MULT = 1.5; 62 + const float RGB_SHIFT_SCALE = 0.005; 63 + const float RGB_SHIFT_INTENSITY = 0.08; 64 + 65 + // Optimized curvature function 66 + vec2 curveRemapUV(vec2 uv, float curvature) { 67 + vec2 coords = uv * 2.0 - 1.0; 68 + float curveAmount = curvature * 0.25; // Reduced from 0.5 69 + float dist = dot(coords, coords); // More efficient than x*x + y*y 70 + coords = coords * (1.0 + dist * curveAmount); 71 + return coords * 0.5 + 0.5; 72 + } 73 + 74 + // Low-cost symmetric bloom sampling (cross + center, normalized) 75 + vec4 sampleBloom(sampler2D tex, vec2 uv, float radius, vec4 centerSample) { 76 + vec2 o = vec2(radius); 77 + vec4 c = centerSample * 0.4; 78 + vec4 cross = ( 79 + texture2D(tex, uv + vec2(o.x, 0.0)) + 80 + texture2D(tex, uv - vec2(o.x, 0.0)) + 81 + texture2D(tex, uv + vec2(0.0, o.y)) + 82 + texture2D(tex, uv - vec2(0.0, o.y)) 83 + ) * 0.15; 84 + return c + cross; 85 + } 86 + 87 + // Approximates vignette using Chebyshev distance squared instead of pow() 88 + float vignetteApprox(vec2 uv, float strength) { 89 + vec2 vigCoord = uv * 2.0 - 1.0; 90 + float dist = max(abs(vigCoord.x), abs(vigCoord.y)); 91 + return 1.0 - dist * dist * strength; // Use squared distance instead of pow 92 + } 93 + 94 + void main() { 95 + vec2 uv = vUv; 96 + 97 + // Apply screen curvature if enabled (early out for out-of-bounds) 98 + if (curvature > 0.001) { 99 + uv = curveRemapUV(uv, curvature); 100 + if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) { 101 + gl_FragColor = vec4(0.0); 102 + return; 103 + } 104 + } 105 + 106 + // Get the original pixel color 107 + vec4 pixel = texture2D(tDiffuse, uv); 108 + 109 + // Apply bloom effect with threshold-based sampling (skip if disabled) 110 + if (bloomIntensity > 0.001) { 111 + float pixelLum = dot(pixel.rgb, LUMA); 112 + // Only sample bloom if pixel is above threshold 113 + float bloomThresholdHalf = bloomThreshold * BLOOM_THRESHOLD_FACTOR; 114 + if (pixelLum > bloomThresholdHalf) { 115 + vec4 bloomSample = sampleBloom(tDiffuse, uv, 0.005, pixel); 116 + bloomSample.rgb *= brightness; 117 + float bloomLum = dot(bloomSample.rgb, LUMA); 118 + float bloomFactor = bloomIntensity * max(0.0, (bloomLum - bloomThreshold) * BLOOM_FACTOR_MULT); 119 + pixel.rgb += bloomSample.rgb * bloomFactor; 120 + } 121 + } 122 + 123 + // Apply RGB shift only if significant (skip for minimal values) 124 + if (rgbShift > 0.005) { 125 + float shift = rgbShift * RGB_SHIFT_SCALE; 126 + pixel.r += texture2D(tDiffuse, vec2(uv.x + shift, uv.y)).r * RGB_SHIFT_INTENSITY; 127 + pixel.b += texture2D(tDiffuse, vec2(uv.x - shift, uv.y)).b * RGB_SHIFT_INTENSITY; 128 + } 129 + 130 + // Apply brightness 131 + pixel.rgb *= brightness; 132 + 133 + // Apply contrast and saturation in one pass 134 + float luminance = dot(pixel.rgb, LUMA); 135 + pixel.rgb = (pixel.rgb - 0.5) * contrast + 0.5; 136 + pixel.rgb = mix(vec3(luminance), pixel.rgb, saturation); 137 + 138 + // Calculate combined lighting mask (scanlines, flicker, vignette) 139 + float lightingMask = 1.0; 140 + 141 + // Calculate scanlines (skip if disabled) 142 + if (scanlineIntensity > 0.001) { 143 + float scanlineY = (uv.y + yOffset) * scanlineCount; 144 + float scanlinePattern = abs(sin(scanlineY * PI)); 145 + 146 + // Apply adaptive intensity if enabled 147 + float adaptiveFactor = 1.0; 148 + if (adaptiveIntensity > 0.001) { 149 + float yPattern = sin(uv.y * 30.0) * 0.5 + 0.5; 150 + adaptiveFactor = 1.0 - yPattern * adaptiveIntensity * 0.2; 151 + } 152 + 153 + lightingMask *= 1.0 - scanlinePattern * scanlineIntensity * adaptiveFactor; 154 + } 155 + 156 + // Apply flicker effect 157 + if (flickerStrength > 0.001) { 158 + lightingMask *= 1.0 + sin(time * 110.0) * flickerStrength; 159 + } 160 + 161 + // Apply vignette (skip if disabled) 162 + if (vignetteStrength > 0.001) { 163 + lightingMask *= vignetteApprox(uv, vignetteStrength); 164 + } 165 + 166 + // Apply combined lighting effects in single multiplication 167 + pixel.rgb *= lightingMask; 168 + 169 + gl_FragColor = pixel; 170 + } 171 + ` 172 + };
+21
vendor/webgl-crt-shader.LICENSE
··· 1 + MIT License 2 + 3 + Copyright (c) 2025 Matt Sephton @gingerbeardman 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy 6 + of this software and associated documentation files (the "Software"), to deal 7 + in the Software without restriction, including without limitation the rights 8 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 + copies of the Software, and to permit persons to whom the Software is 10 + furnished to do so, subject to the following conditions: 11 + 12 + The above copyright notice and this permission notice shall be included in all 13 + copies or substantial portions of the Software. 14 + 15 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 + SOFTWARE.